2 Notes on building a set of portable binaries
3 --------------------------------------------
5 This is kind of a work in progress. Here's what we've done so far to
6 build a portable tarball. We keep all the stuff that Citadel needs, but
7 is not part of Citadel itself, in /usr/local/ctdlsupport, and we keep
8 Citadel in /usr/local/citadel.
12 1. Build Berkeley DB with:
14 ../dist/configure --prefix=/usr/local/ctdlsupport
18 2. Build libical with:
20 ./configure --prefix=/usr/local/ctdlsupport
24 (FIXME still not detected properly)
26 3. Build Citadel with:
28 export CFLAGS='-I/usr/local/ctdlsupport/include'
29 export LDFLAGS='-L/usr/local/ctdlsupport/lib -Wl,--rpath -Wl,/usr/local/ctdlsupport/lib'
30 ./configure --prefix=/usr/local/citadel --with-db=/usr/local/ctdlsupport
34 -L tells the build system where to find libraries during the build process,
35 while -Wl,--rpath inserts that same library path into the Citadel binaries
36 so they know where to find the libs at runtime. Since we can't depend on
37 the correct version of Berkeley DB already being on the system, this is how
38 we carry our own along. It's better than static linking everything.
43 -- Repair libical integration
44 -- Add newt to the supplied libraries
45 -- Possibly add curses to the supplied libraries
46 -- Maybe even add openssl to the supplied libraries
47 -- Write the web-based installer.