Work on getting rid of trns_chain_finalize().
[pspp] / README.Git
1 Prerequisites for Building PSPP from Git
2 ----------------------------------------
3
4 To build this project from the sources direct from the Git archive,
5 you must install the prerequisites listed in README, plus the
6 following:
7
8         * Autoconf 2.60 (or later).
9
10         * Automake 1.10 (or later).
11
12         * Gettext 0.17 (or later).
13
14         * GNU M4 1.4.9 (or later).
15
16         * pkg-config 0.21 (or later).
17
18         * gperf 3.0.1 (or later).
19
20         * Gnulib (see below for details).
21
22         * libtool 1.5.22 (or later).
23
24         * Texinfo 4.7 or later, to build the documentation.
25
26         * Gimp --  2.8.2 is known to work
27
28 After you install PSPP's prerequisites, you must obtain a copy of
29 Gnulib, then bootstrap the tree, as described in the sections below.
30 After that, you may follow the procedure described in INSTALL.
31
32 Obtaining Gnulib
33 ----------------
34
35 This version of PSPP should work with the Gnulib commit shown below.
36 Gnulib does not maintain a stable API or ABI, so it is possible that
37 PSPP will not work with older or newer versions of Gnulib.
38
39         commit c5c4f53b31f1ad04f4033a6124120ffec9257847
40         Author: Pádraig Brady <P@draigBrady.com>
41         Date:   Sat Dec 6 01:14:02 2014 +0000
42
43             vasnprintf: fix potential use after free
44
45             * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
46             flagged by clang-analyzer 3.4.2.
47
48 To clone Gnulib into a directory named "gnulib" using Git, and then
49 check out this particular commit, run these commands:
50         git clone git://git.savannah.gnu.org/gnulib.git gnulib
51         cd gnulib
52         git checkout $COMMIT
53 where $COMMIT should be replaced by the commit number listed above
54 (usually it is sufficient to just type the first 6 or so digits).
55
56 If you do not have Git installed, then you may alternately download
57 http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=$COMMIT;sf=tgz
58 where $COMMIT is, again, at least the first few digits of the commit
59 number listed above.  This download will yield a tar.gz file that you
60 may extract with "gunzip" and "tar" to yield identical results.
61
62 Bootstrapping
63 -------------
64
65 Once you have Gnulib installed, PSPP must be "bootstrapped" using the
66 following command:
67         make -f Smake
68 If you checked Gnulib out in a directory named `gnulib' at the same
69 level as PSPP, then this is sufficient.  Otherwise, provide the
70 location of GNULIB on the `make' command line:
71         make -f Smake GNULIB=/gnulib/base/directory/name
72
73 After executing Smake, follow the procedure described in INSTALL to
74 build and install PSPP.  On some systems this may be as simple as:
75         ./configure
76         make
77
78 Once PSPP is built, you may run its self-tests with:
79         make check
80 or for a more thorough test:
81         make distcheck