Login
Changes To AmalgamationBuild
Login

Changes to "AmalgamationBuild" between 2014-03-28 19:56:08 and 2014-11-07 15:14:42

27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45


27
28
29
30
31
32
33

34
35
36

37
38
39
40
41
42
43


44
45







-
+


-
+






-
-
+
+
   *  <tt>libfossil.h</tt> contains header files. It <tt>#include</tt>s <tt>libfossil-config.h</tt>.
   *  <tt>libfossil.c</tt> contains all of the sources. It <tt>#include</tt>s <tt>libfossil.h</tt>.

The C++ build also has an amalgamation build which requires this amalgamation. To build it, run <tt>make amal</tt> from the <tt>cpp</tt> directory.

To use the amalgamation, simply:

   *  Make sure you have zlib and sqlite3 libraries and headers installed. They are preinstalled on any modern Unix system, though a newer sqlite3 <em>might</em> be required (which version is unknown - development typically happens against the sqlite3 trunk).
   *  Make sure you have zlib and sqlite3 libraries and headers installed. They are preinstalled on any modern Unix system, though a newer sqlite3 <em>might</em> be required (which version is unknown - development typically happens against the sqlite3 trunk). Optionally, you can link in a self-compiled <tt>sqlite3.o</tt>.
   *  <tt>#include "libfossil.h"
   *  Compile <tt>libfossil.c</tt>
   *  Link your app with <tt>libfossil.o</tt>, zlib, and sqlite3. Unix: <tt>-lz -lsqlite3 -ldl</tt>. <br/><tt>libdl</tt> is needed for sqlite3 in some configurations or by libfossil if the libdl-based module loader is enabled.
   *  Link your app with <tt>libfossil.o</tt>, zlib, and sqlite3. On Unix: <tt>-lz -lsqlite3 -ldl -lpthread</tt>. <br/><tt>libdl</tt> and <tt>libpthread</tt> is required by sqlite3 in some configurations.

Regarding the sqlite3 dependency: currently this library tries to work
with whatever sqlite3 version is installed, but if it at some point
requires features of relatively new versions then clients may need to
use the [http://www.sqlite.org/amalgamation.html|sqlite3 amalgamation]
when building this code. The main makefile will use those two files
(sqlite3.c and sqlite3.h) automatically if they are found in the root
of the build tree.
(sqlite3.c and sqlite3.h) automatically if they are found in the <tt>src/</tt>
dir the build tree, but it does <em>not</em> include them in the Amalgamation build.