KiCad - is a GPL'd suite of programs for EDA (Electronic Design Automation), and the toolset used by the gta02-core team.
KiCad contains a suite of independent applications for the various stages of EDA. All the data created by and used by KiCad is stored in text files, allowing for easy use with SVN, diffs and automated (grep/sed) manipulation where needed.
Since bug fixes and small enhancements from the gta02-core project are making it into KiCad mainline, it's best if we follow KiCad upstream closely with the version of KiCad we're using to do things.
The KiCad developers are in general careful enough not to check in things that break the build. Most of the checkin activity is around the weekend while the rest of the week only gets a few commits.
The KiCad sources live here: https://kicad.svn.sourceforge.net/svnroot/kicad/trunk/kicad
The documentation is here: https://kicad.svn.sourceforge.net/svnroot/kicad/trunk/kicad-doc
And the default component libraries are here: https://kicad.svn.sourceforge.net/svnroot/kicad/trunk/kicad-library
The build process is detailed in the file COMPILING.txt Please note that the top-level Makefile is generated by CMake.
KiCad requires libboost 1.36 or newer. If using an older distribution, you may need to upgrade libboost. With Ubuntu 8.10, this can be done as follows:
- To /etc/apt/sources.list add (without indentation)
deb http://archive.ubuntu.com/ubuntu karmic main restricted universe multiverse
or for any Debian version since etch (oldstable):
deb http://ftp.debian.org/debian/ testing main
- To /etc/apt/preferences add (without indentation)
Package: libboost1.38-dev Pin: release a=karmic Pin-Priority: 900
- apt-get install libboost1.38-dev
A quilt stack of patches that haven't made into KiCad mainline (yet) is here: http://svn.openmoko.org/trunk/gta02-core/kicad-patches/
Note that eeschema-plot-only-mode.patch is required for the --plot option expanded/Makefile uses to automatically generate a PostScript file from the schematics.
I'm dropping old-boost-build-fix.patch now from our collection, since it's only needed for an older libboost, and may actually cause problems.