Add option "drill-copper" to draw / not draw drill holes in the copper
[geda-pcb/gde.git] / README.cvs
blobb901747a22684cec5967f83c40ddfdc5e50cb804
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, if you make any edits to configure.ac or any of the 
27 Makefile.am's, you will need recent versions of:
29 autoconf  -- ftp://ftp.gnu.org/pub/gnu/autoconf/
30              Please note that version 2.13 is too old.  Current development
31              is done with 2.59.
33 automake  -- ftp://ftp.gnu.org/pub/gnu/automake/
34              The developers use the 1.9.* versions of automake.  Older versions
35              have not been as well tested (or tested at all).  Versions 1.7 and
36              older are too old and will not work.
38 texinfo   -- ftp://ftp.gnu.org/pub/gnu/texinfo/
39              You will need at least version 4.6 to be able to build
40              the documentation.
42 You can find the version of autoconf, automake, and makeinfo by running them with the 
43 --version flag.
45 If you do not wish to build the documentation, use --disable-doc when you run
46 configure.  If you do wish to build the documentation, you should enable
47 maintainer-mode (--enable-maintainer-mode) which will turn on various
48 dependency rules for documentation building.  In addition you must build
49 pcb with the png export HID enabled (it is enabled by default) because some
50 of the figures in the manual are drawn with pcb.
52 Please note that maintainer-mode and the png HID are only needed when building
53 documentation from cvs sources.  If you are building pcb from a distfile you 
54 do not need maintainer-mode and the png export HID is optional.
56 Finally, if you edit any of the actions identified by 
57 /* ACTION(Foo,ActionFoo) */
58 comments, you will need perl and in addition, you must have used
59 the --enable-maintainer-mode flag to the configure script.
61 ---------
62 Check out
63 ---------
65 If you already have a checked out PCB source tree, please proceed to the
66 'Updating' section.
68 To check out sources from the anonymous CVS server, run the following:
70         cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pcb login 
71         cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pcb co pcb
73 ---------
74 Updating
75 ---------
77 To update an already checked out copy of the PCB source tree, run these commands
78 from your top level pcb directory:
80         cvs login 
81         cvs -z3 update -PdA
83 ----------------------------------
84 Bootstrapping with the auto* tools
85 ----------------------------------
86 If you have made any edits to configure.ac in the top level pcb directory
87 or any of the Makefile.am's, you will need to run 
89 ./autogen.sh
91 from the top level pcb directory.  This will run the various auto* tools
92 which creates the configure script, the config.h.in file and the various
93 Makefile.in's.
95 If you have not edited configure.ac or Makefile.am's, you can skip this
96 step.
98 If you plan on making changes to configure.ac, Makefile.am's, or actions
99 defined by the 
100 /* ACTION(Foo,ActionFoo) */
101 comments, you may want to enable maintainer mode by passing the
102 --enable-maintainer mode flag to ./autogen.sh
104 At this point you can proceed to configure and build PCB as outlined in
105 the INSTALL document.
107 -------------------
108 Building a Snapshot
109 -------------------
110 The file README.snapshots documents what is currently done to create a
111 snapshot release for PCB.  Most of what is in there has to do with the
112 cvs repository and how we tag and branch the sources.  If you are interested
113 in building your own .tar.gz file from CVS sources, you can still use
114 the information in README.snapshots as a guide.