gnetlist: Clean up g_get_nets() control flow.
[geda-gaf/whiteaudio.git] / README
blob9def8ff76f6e24506efa1679dadd0d2d0cefa8e6
1 ==============================================
2  'gschem and Friends' Electronic Design Suite
3 ==============================================
5 Copyright (C) 1998-2011 gEDA Developers
7 Introduction
8 ============
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 Installation
30 ============
32 The information in this section is intended to supplement the
33 information in the `INSTALL' file.
35 Dependencies
36 ------------
38 In order to compile gEDA from the distributed source archives, you
39 *must* have the following tools and libraries installed:
41  - A C compiler and standard library (GCC/glibc are recommended).
43  - The `pkg-config' tool for managing shared libraries.
44    <http://pkgconfig.freedesktop.org/>
46  - Guile ("GNU's Ubiquitous Intelligent Language for Extensions"),
47    version 1.8.0 or later.  <http://www.gnu.org/software/guile/>
49  - GTK+ (the Gimp Toolkit), version 2.16.0 or later.
50    <http://www.gtk.org/>
52  - The `lex' tool for generating lexical scanners.  The `flex'
53    implementation recommended.  <http://flex.sourceforge.net/>
55  - The `awk' tool for data processing.  GNU Awk (`gawk') is
56    recommended.  <http://www.gnu.org/software/gawk/>
58 The following tools and libraries are *highly recommended*:
60  - GNU `gettext', version 0.16 or newer.
61    <http://www.gnu.org/software/gettext/>
63  - GNU `troff' (`groff'). <http://www.gnu.org/software/groff/>
65  - The freedesktop.org MIME info database.
66    <http://freedesktop.org/Software/shared-mime-info>
68  - The freedesktop.org utilities for manipulating .desktop files.
69    <http://www.freedesktop.org/software/desktop-file-utils>
71 The following tools and libraries are optional:
73  - `libstroke', a stroke and gesture recognition library.  If this is
74    available, gschem will support mouse gesture recognition.
75    <http://www.etla.net/libstroke/>
77  - The `doxygen' API documentation tool.  This is required for
78    building the gEDA developer API documentation, not for the regular
79    user documentation.  <http://www.stack.nl/~dimitri/doxygen/>
81 Troubleshooting dependencies
82 ----------------------------
84   "I've installed the `libfoo' library, but `./configure' isn't
85   picking it up!"
87 Many modern operating system distributions split a library into two
88 packages:
90 1. a `libfoo' package, which contains the files necessary to
91    *run* programs which use `libfoo'.
93 2. a `libfoo-dev' or `libfoo-devel' package, which contains the files
94    necessary to *compile* programs which use `libfoo'.
96 If you're having problems, make sure that you have all of the
97 necessary `dev' or `devel' packages installed.
99 Installation from a source archive
100 ----------------------------------
102 First extract the archive to a sensible place:
104   tar -xzvf gEDA-gaf-<version>.tar.gz && cd gEDA-gaf-<version>
106 Run the configuration script.  You'll probably want to specify a
107 custom directory to install gEDA to, for example:
109   ./configure --prefix=$HOME/geda
111 You can then compile gEDA:
113   make
115 And install it (if you used a `--prefix' outside your $HOME directory,
116 you may need to run this as root):
118   make install
120 For more information on installing gEDA, see the `INSTALL' document.
122 Installation from the git repository
123 ------------------------------------
125 gEDA uses the `git' version control system.  If you wish to try out
126 the very latest version of gEDA, you will need to install some extra
127 tools *in addition to* the ones listed above:
129   - The `git' version control tool, version 1.6 or newer.
130     <http://git-scm.com/>
132   - GNU Automake, version 1.6.0 or newer.
133     <http://www.gnu.org/software/automake/>
135   - GNU Autoconf, version 2.60 or newer.
136     <http://www.gnu.org/software/autoconf/>
138   - GNU Libtool.  <http://www.gnu.org/software/libtool/>
140   - GNU Texinfo documentation system.
141     <http://www.gnu.org/software/texinfo/>
143     Note that on some distributions the TeX support for Texinfo is
144     packaged separately.
146 Once you have these installed, you need to clone the gEDA `git'
147 repository:
149   git clone git://git.gpleda.org/gaf.git
151 To generate the configure script, run:
153   ./autogen.sh
155 You can then procede to configure and build gEDA as described above.
156 For more information on working with the gEDA `git' repository, see
157 <http://geda.seul.org/wiki/geda:scm>.
159 Tools in the gEDA suite
160 =======================
162 The major components of the gEDA suite are:
164 `libgeda'
165   A library of functions for manipulating gEDA schematics and symbols.
167 `gschem'
168   A schematic editor.
170 `gattrib'
171   A spreadsheet-like program for bulk editing of component attributes.
173 `gnetlist'
174   A highly-flexible, hierarchy-aware utility which parses schematics
175   to generate a number of outputs, including netlists for a wide
176   variety of PCB layout tools.  It can also generate bills of
177   materials and DRC reports for your schematics.
179 `gsch2pcb'
180   A command-line utility for streamlining the workflow where `PCB'
181   <http://pcb.gpleda.org/> and `gschem' are used together.
183 `gsymcheck'
184   A utility for checking for common errors in schematic symbol files.
186 Getting help
187 ============
189 There are several ways to get help with installing and using gEDA:
191  - The gEDA website <http://www.gpleda.org> has more extensive
192    information on the gEDA tools, and links to some successful
193    projects which use gEDA.
195  - The gEDA documentation wiki contains a large amount of helpful
196    information.  A static copy is included with this distribution; see
197    the `docs/wiki/index.html' file.  The wiki is accessible online at
198    <http://geda.seul.org/wiki/>.
200  - If the resources above didn't help you resolve your problem, or you
201    are having a *design* problem that you want to get help with,
202    consider subscribing to and posting your question to the
203    `geda-user' mailing list.
204    <http://www.gpleda.org/mailinglists.html>
206  - Alternatively, you can add your question to the gEDA Answers page
207    on Launchpad. <https://answers.launchpad.net/geda>
209  - If you have discovered a bug, have a feature request, or have
210    written a patch to gEDA, please create an item on the gEDA Bugs
211    page on Launchpad. <http://bugs.launchpad.net/geda>
213 License
214 =======
216 gEDA/gaf (this package) is freely distributable under the GNU Public
217 License (GPL) version 2.0 or (at your option) any later version.  See
218 the `COPYING' file for the full text of the license.
220 The programs and associated files are:
222   Copyright (C) 1998-2011 by Ales Hvezda and the respective original
223   authors.
225 See the `AUTHORS' file for a more extensive list of contributors to
226 gEDA.
229    Local Variables:
230    mode: text
231    End: