1 ==============================================
2 'gschem and Friends' Electronic Design Suite
3 ==============================================
5 Copyright (C) 1998-2020 gEDA Developers
10 The GPL Electronic Design Automation (gEDA) project has produced and
11 continues working on a full GPL'd suite and toolkit of Electronic
12 Design Automation tools. These tools are used for electrical circuit
13 design, schematic capture, simulation, prototyping, and
14 production. Currently, the gEDA project offers a mature suite of free
15 software applications for electronics design, including schematic
16 capture, attribute management, bill of materials (BOM) generation,
17 netlisting into over 20 netlist formats, analog and digital
18 simulation, and printed circuit board (PCB) layout.
20 The gEDA project was started because of the lack of free EDA tools for
21 POSIX systems with the primary purpose of advancing the state of free
22 hardware or open source hardware. The suite is mainly being developed
23 on the GNU/Linux platform with some development effort going into
24 making sure the tools run on other platforms as well.
26 The gEDA/gaf suite (this package) provides schematic capture,
27 netlisting, bill of materials generation, and many other features.
29 Tools in the gEDA suite
30 =======================
32 The major components of the gEDA suite are:
35 A library of functions for manipulating gEDA schematics and symbols.
41 A spreadsheet-like program for bulk editing of component attributes.
44 A highly-flexible, hierarchy-aware utility which parses schematics
45 to generate a number of outputs, including netlists for a wide
46 variety of PCB layout tools. It can also generate bills of
47 materials and DRC reports for your schematics.
50 A command-line utility for streamlining the workflow where `PCB'
51 <http://pcb.geda-project.org/> and `gschem' are used together.
54 A utility for checking for common errors in schematic symbol files.
57 A utility for interactive and batch mode working with gEDA Scheme
58 API, exporting schematics into various formats, and
59 configuring all the programs of the suite.
62 A commmand-line utility working with the new Python API which
63 converts gEDA files between formats and extracts embedded symbols
64 and pixmaps from a schematic.
69 The information in this section is intended to supplement the
70 information in the `INSTALL' file.
75 Note: `xxx >= y is used as a shorthand for `xxx, version y or later'.
77 In order to compile gEDA from the distributed source archives, you
78 *must* have the following tools installed:
80 - A C/C++ compiler and standard library (GCC >= 8.3.0 and glibc >=
81 2.28 are recommended, but clang >= 7.0.1 should work, as well).
83 - The `make' tool (GNU Make >= 4.2.1 is recommended).
84 <https://www.gnu.org/software/make/>
86 - The `pkg-config' tool for managing shared libraries >= 0.29.
87 <https://www.freedesktop.org/wiki/Software/pkg-config/>
89 - GNU `gettext' >= 0.19.8 <https://www.gnu.org/software/gettext/>
91 - The `lex' tool for generating lexical scanners. The `flex'
92 implementation >= 2.6.4 is recommended.
93 <https://github.com/westes/flex/releases>
95 - The `awk' tool for data processing. GNU Awk (`gawk') >= 4.2.1 or
96 mawk >= 1.3.3 are recommended. <https://www.gnu.org/software/gawk/>
98 You *must* also have the following libraries installed, including
99 their development files:
101 - Guile 2.x ("GNU's Ubiquitous Intelligent Language for Extensions")
102 >= 2.0.10 <https://www.gnu.org/software/guile/>
104 - GLib 2.0 >= 2.41.1 <https://www.gtk.org/>
106 - GTK+ 2.0 (the Gimp Toolkit) >= 2.18.0 <https://www.gtk.org/>
108 - GDK Pixbuf 2.0 >= 2.18.0 <https://www.gtk.org/>
110 - Pango >= 1.23.0 <https://pango.gnome.org/>
112 - Cairo >= 1.8.0 <https://cairographics.org/>
114 - CPython 2.7 >= 2.7.16 <https://www.python.org/downloads/>
116 - libexpat1 >= 2.2.6 <https://libexpat.github.io/>
118 - libpng >= 1.6.36 <http://libpng.org/pub/png/libpng.html>
120 The following tools and libraries are *highly recommended*:
122 - The FAM or Gamin daemon and corresponding `libfam' or `libgamin'
123 client library (Gamin >= 0.1.10 is recommended). If this is
124 available, gschem will detect if files have been changed on disk by
125 another application. <https://people.gnome.org/~veillard/gamin/>
127 - pygtk >= 2.24.0, the Python 2.7 bindings for GTK+. Without this
128 package, netlisting errors are reported to the terminal where users
129 probably won't see them. <http://www.pygtk.org/>
131 - GNU `troff' (`groff') >= 1.22.4. This is package `groff' in Debian;
132 the default `groff' executable provided by the package `groff-base'
133 is lacking HTML support. <https://www.gnu.org/software/groff/>
135 - The freedesktop.org MIME info database >= 1.10
136 <https://freedesktop.org/wiki/Software/shared-mime-info/>
138 - The freedesktop.org utilities for manipulating .desktop files >= 0.23
139 <https://www.freedesktop.org/software/desktop-file-utils/>
141 The following tools and libraries are optional:
143 - The `doxygen' API documentation tool >= 1.8.13. This is required for
144 building the gEDA developer API documentation, not for the regular
145 user documentation. <http://www.stack.nl/~dimitri/doxygen/>
147 - `Inkscape' >= 0.92.4 or `ImageMagick' >= 6.9.10 for svg to png or
148 pdf conversion. This is required for building the gEDA developer
149 API documentation, not for the regular user documentation.
150 <https://inkscape.org/>
151 <https://www.imagemagick.org/script/index.php>
153 - `Graphviz' >= 2.40.1 for drawing directed graphs.
154 This is required for building the gEDA developer API documentation,
155 not for the regular user documentation.
156 <https://www.graphviz.org/>
158 Troubleshooting dependencies
159 ----------------------------
161 "I've installed the `libfoo' library, but `./configure' isn't
164 Many modern operating system distributions split a library into two
167 1. a `libfoo' package, which contains the files necessary to
168 *run* programs which use `libfoo'.
170 2. a `libfoo-dev' or `libfoo-devel' package, which contains the files
171 necessary to *compile* programs which use `libfoo'.
173 If you're having problems, make sure that you have all of the
174 necessary `dev' or `devel' packages installed.
176 Installation from a source archive
177 ----------------------------------
179 First extract the archive to a sensible place:
181 tar -xzvf gEDA-gaf-<version>.tar.gz && cd gEDA-gaf-<version>
183 Run the configuration script. You'll probably want to specify silent
184 rules and a custom directory to install gEDA to, for example:
186 ./configure --prefix=$HOME/geda --enable-silent-rules
188 You can then compile gEDA:
192 And install it (if you used a `--prefix' outside your $HOME directory,
193 you may need to run this as root):
197 For more information on installing gEDA, see the `INSTALL' document.
199 Installation from the git repository
200 ------------------------------------
202 gEDA uses the `git' version control system. If you wish to try out
203 the very latest version of gEDA, you will need to install some extra
204 tools *in addition to* the ones listed above:
206 - The `git' version control tool. <https://git-scm.com/>
208 - GNU Automake >= 1.16.1 <https://www.gnu.org/software/automake/>
210 - GNU Autoconf >= 2.69 <https://www.gnu.org/software/autoconf/>
212 - GNU Libtool >= 2.4.6 <https://www.gnu.org/software/libtool/>
214 - GNU Texinfo documentation system >= 6.5.0
215 <https://www.gnu.org/software/texinfo/>
217 Note that on some distributions the TeX support for Texinfo is
220 Once you have these installed, you need to clone the gEDA `git'
223 git clone git://git.geda-project.org/geda-gaf.git
225 To generate the configure script, run:
229 You can then procede to configure and build gEDA as described above.
230 For more information on working with the gEDA `git' repository, see
231 <http://wiki.geda-project.org/geda:scm>.
233 Building gEDA developer API documentation
234 =========================================
236 Several of the gEDA libraries and applications have doxygen API
237 documentation available. To generate the API documentation from the
238 source code, install doxygen (see `Dependencies' above). Next, add
239 `--enable-doxygen' to your configure command line, i.e.:
241 ./configure --enable-doxygen
243 To compile the documentation (quite a slow process), run:
247 The documentation can then be found in:
249 */docs/html/index.html
251 The PDF version of the documentation isn't generated by default.
252 If you want it, you have to build it explicitly, e.g.:
254 cd $(srcdir)/libgeda/docs/latex && make
259 There are several ways to get help with installing and using gEDA:
261 - The gEDA website <http://www.geda-project.org> has more extensive
262 information on the gEDA tools, and links to some successful
263 projects which use gEDA.
265 - The gEDA documentation wiki contains a large amount of helpful
266 information. A static copy is included with this distribution; see
267 the `docs/wiki/index.html' file. The wiki is accessible online at
268 <http://wiki.geda-project.org/>.
270 - If the resources above didn't help you resolve your problem, or you
271 are having a *design* problem that you want to get help with,
272 consider subscribing to and posting your question to the
273 `geda-user' mailing list.
274 <http://wiki.geda-project.org/geda:mailinglists>
276 - Alternatively, you can add your question to the gEDA Answers page
277 on Launchpad. <https://answers.launchpad.net/geda>
279 - If you have discovered a bug, have a feature request, or have
280 written a patch to gEDA, please create an item on the gEDA Bugs
281 page on Launchpad. <https://bugs.launchpad.net/geda>
286 gEDA/gaf (this package) is freely distributable under the GNU Public
287 License (GPL) version 2.0 or (at your option) any later version. See
288 the `COPYING' file for the full text of the license.
290 The programs and associated files are:
292 Copyright (C) 1998-2013 by Ales Hvezda and the respective original
295 See the `AUTHORS' file for a more extensive list of contributors to