nelma: Fix prototype on set_layer() method to take the "empty" flag.
[geda-pcb/gde.git] / README.cvs
blob645ecdf0ca0ccb934515bb49ba0449c2ccdd1764
1 # $Id$
4 This file describes how to build from CVS sources.  If you are building from a
5 released version or snapshot, please refer to the 'INSTALL' document instead.
6 Take the time to read this file, it's not that long and it addresses some 
7 questions which come up with some frequency.
9 -------------
10 Prerequisites
11 -------------
13 You will need the following tools to obtain and build a CVS version of pcb:
15 To download and track sources you will need:
17 cvs
18 ssh
20 To compile you will need a C compiler, a lex (or flex) and a yacc (or bison)
21 implementation.  If you do not have lex or yacc, try installing:
23 bison     -- ftp://ftp.gnu.org/pub/gnu/bison/
24 flex      -- ftp://ftp.gnu.org/pub/non-gnu/flex/
26 In addition you will need recent versions of:
28 autoconf  -- ftp://ftp.gnu.org/pub/gnu/autoconf/
29              Please note that version 2.13 is too old.  Current development
30              is done with 2.59.
32 automake  -- ftp://ftp.gnu.org/pub/gnu/automake/
33              The developers use the 1.9.* versions of automake.  Older versions
34              have not been as well tested (or tested at all).  Versions 1.7 and
35              older are too old and will not work.
37 gettext   -- ftp://ftp.gnu.org/pub/gnu/gettext/
38              You will need version 0.14.x, or 0.16.x or higher
40 intltool  -- ??
41              You will need version 0.35.0 or higher
43 texinfo   -- ftp://ftp.gnu.org/pub/gnu/texinfo/
44              You will need at least version 4.6 to be able to build
45              the documentation.
47 You can find the version of autoconf, automake, and makeinfo by running them with the 
48 --version flag.
50 If you do not wish to build the documentation, use --disable-doc when you run
51 configure.  If you do wish to build the documentation, you should enable
52 maintainer-mode (--enable-maintainer-mode) which will turn on various
53 dependency rules for documentation building.  In addition you must build
54 pcb with the png export HID enabled (it is enabled by default) because some
55 of the figures in the manual are drawn with pcb.
57 Please note that maintainer-mode and the png HID are only needed when building
58 documentation from cvs sources.  If you are building pcb from a distfile you 
59 do not need maintainer-mode and the png export HID is optional.
61 Finally, if you edit any of the actions identified by 
62 /* ACTION(Foo,ActionFoo) */
63 comments, you will need perl and in addition, you must have used
64 the --enable-maintainer-mode flag to the configure script.
66 ---------
67 Check out
68 ---------
70 If you already have a checked out PCB source tree, please proceed to the
71 'Updating' section.
73 To check out sources from the anonymous CVS server, run the following:
75         cvs -d:pserver:anonymous@pcb.cvs.sourceforge.net:/cvsroot/pcb login 
76         cvs -z3 -d:pserver:anonymous@pcb.cvs.sourceforge.net:/cvsroot/pcb co pcb
78 ---------
79 Updating
80 ---------
82 To update an already checked out copy of the PCB source tree, run these commands
83 from your top level pcb directory:
85         cvs login 
86         cvs -z3 update -PdA
88 ----------------------------------
89 Bootstrapping with the auto* tools
90 ----------------------------------
91 To create the configure script and the Makefile.in's
92 you will need to run 
94 ./autogen.sh
96 from the top level pcb directory.  This will run the various auto* tools
97 which creates the configure script, the config.h.in file and the various
98 Makefile.in's.
100 If you plan on making changes to configure.ac, Makefile.am's, or actions
101 defined by the 
102 /* ACTION(Foo,ActionFoo) */
103 comments, you may want to enable maintainer mode by passing the
104 --enable-maintainer mode flag to ./autogen.sh
106 At this point you can proceed to configure and build PCB as outlined in
107 the INSTALL document.
109 -------------------
110 Building a Snapshot
111 -------------------
112 The file README.snapshots documents what is currently done to create a
113 snapshot release for PCB.  Most of what is in there has to do with the
114 cvs repository and how we tag and branch the sources.  If you are interested
115 in building your own .tar.gz file from CVS sources, you can still use
116 the information in README.snapshots as a guide.