[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: PCB build changes




I just pushed some changes to part of how the PCB build system works.

Currently we have 2 ways people get sources.

1)  download snapshot tarball files

2)  via git or anoncvs

Besides some of the usual tools (a C compiler for example), there are
some additional tools needed to build a complete PCB install.  These are:

pcb itself with the png HID compiled in.  This is used to convert some
.pcb files to .png files for the html version of the manual.   This is
also used to create png previews for all of the pcblib-newlib
footprints.  Note that this means if you are cross compiling pcb, you
need a pcb which runs on the host system.

texinfo.  This is used for creating the manual.

latex.  This is used for building the reference card.  Note that the
refcard is woefully out of date.  On top of that, since the hotkeys are
all defined via pcb-menu.res and gpcb-menu.res, any refcard that is
"hardcoded" can easily be wrong for your system.

perl.  This is used for extracting all of the file format and action
reference comments out of the source code and putting them into the
manual.  Note that after DJ's huge effort in this area, the manual has
stayed complete and up to date with regards to actions and file formats.


A long time ago, I took the approach of trying to make sure that these
extra tools (pcb+png, texinfo, latex, perl) were not needed if you were
building from a tarfile.  At the same time I wanted to keep Makefile
rules in place for rebuilding the generated files.  The result was 
needing --enable-maintainer-mode when building docs.  Even though this 
was documented in a file, users have stumbled across this hack many 
times and the resulting error has always been less than useful.

What I have done is now configure looks for the presence of 
$(top_srcdir)/.git and if that directory exists then rules for building 
the docs are turned on and configure will check for the needed tools. 
If configure fails to find the tools it wants, it fails with an explicit 
message saying what it couldn't find, why it wants it, and that you can 
still use --disable-doc if you just don't care about the manual.

There may be some rough edges left so I'd appreciate any feedback and 
problem reports around this change.

-Dan


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user