Build instructions for BambooLib and Goanna
Installing Goanna and BambooLib is fairly straightforward, as both use Autotools for their build system.
See GoannaPlatforms for platform-specific build notes, as well as some package dependency lists.
Dependencies
BambooLib requires the following libraries (with headers/development packages installed):
- OpenSSL
- Xerces (or Expat for versions >= 2.0.95)
- pcre
- zlib
Goanna requires the following additional packages:
- GTK+ >= 2.4
- GtkGLext 1.0.x
- libxml2 (tested with >= 2.6.0)
- libglade 2.4
- libsigc++ 2.x
- hicolor icon theme (default fallback theme)
If you have a version of G++ that does not include the std::tr1 namespace (such GCC 3.4 and earlier), you'll need Boost and its development files installed (at least its type_traits library).
If you're building from Subversion, the following are also needed:
- automake 1.9
- autoconf 2.59+
- libtool
Obtaining Sources
Both BambooLib and Goanna are available via Subversion:
$ svn co http://sss.scl.ameslab.gov/svn/libbamboo/trunk libbamboo $ svn co http://sss.scl.ameslab.gov/svn/goanna/trunk goanna
Autotooling
Both BambooLib and Goanna are bootstrapped using an autogen.sh script. This invokes the appropriate autoconf, automake, etc. tools to build. The autogen.sh script is fairly configurable; poke around inside its innards to see all its options. Its configuration is controlled via environment variables. The following are particularly important:
- AM_VERSION
- Which Automake version specifier to use (e.g. 1.9). This shouldn't be needed, but it's here just in case.
- AC_VERSION
- Which Autoconf version specifier to use (e.g. 2.5).
- AUTOCONF
- autoconf executable to run (similar variables are checked for automake, libtoolize, aclocal, and autoheader).
After running autogen.sh, you can proceed to build with ./configure; make; make install as usual. In Goanna, autogen.sh runs configure automatically.
Building
Building is done as with any autotools project. Check the --help output of configure for BambooLib and Goanna for details as to their configuration options. Usually, Goanna will need to be pointed to BambooLib (--with-bamboo). Goanna's logging output is also configurable at build time via the configure script.
If you are intending to install Goanna system-wide, you probably want to configure with the --enable-update-xdg configure option, to cause the FreeDesktop? shared mime info databases to be rebuilt upon installation (and uninstallation).
