Merge remote branch 'origin/sourceview'
[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 After you install PSPP's prerequisites, you must obtain a copy of
27 Gnulib, then bootstrap the tree, as described in the sections below.
28 After that, you may follow the procedure described in INSTALL.
29
30 Obtaining Gnulib
31 ----------------
32
33 This version of PSPP should work with the Gnulib commit shown below.
34 Gnulib does not maintain a stable API or ABI, so it is possible that
35 PSPP will not work with older or newer versions of Gnulib.
36
37   commit fb6aa6ad7dd950729f4e3349d89d4ad82761af61
38   Author: Ben Pfaff <blp@cs.stanford.edu>
39   Date:   Mon Aug 15 22:33:25 2011 -0700
40
41       relocatable-prog: fix link error
42
43       * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
44       invoke AC_LIBOBJ([relocatable]).  This invocation was previously
45       in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
46       into modules/relocatable-lib without noticing that
47       modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
48       also needs to build relocatable.c.
49
50 To clone Gnulib into a directory named "gnulib" using Git, and then
51 check out this particular commit, run these commands:
52         git clone git://git.savannah.gnu.org/gnulib.git gnulib
53         cd gnulib
54         git checkout $COMMIT
55 where $COMMIT should be replaced by the commit number listed above
56 (usually it is sufficient to just type the first 6 or so digits).
57
58 If you do not have Git installed, then you may alternately download
59 http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=$COMMIT;sf=tgz
60 where $COMMIT is, again, at least the first few digits of the commit
61 number listed above.  This download will yield a tar.gz file that you
62 may extract with "gunzip" and "tar" to yield identical results.
63
64 Bootstrapping
65 -------------
66
67 Once you have Gnulib installed, PSPP must be "bootstrapped" using the
68 following command:
69         make -f Smake
70 If you checked Gnulib out in a directory named `gnulib' at the same
71 level as PSPP, then this is sufficient.  Otherwise, provide the
72 location of GNULIB on the `make' command line:
73         make -f Smake GNULIB=/gnulib/base/directory/name
74
75 After executing Smake, follow the procedure described in INSTALL to
76 build and install PSPP.  On some systems this may be as simple as:
77         ./configure
78         make
79
80 Once PSPP is built, you may run its self-tests with:
81         make check
82 or for a more thorough test:
83         make distcheck