REPEATING DATA: Remove documentation for unimplemented command.
[pspp.git] / README.Git
blob86b46b9a85ff1263afaf00d0dac4e696979d61c8
1 Prerequisites for Building PSPP from Git
2 ----------------------------------------
4 To build this project from the sources direct from the Git archive,
5 you must install the prerequisites listed in INSTALL, plus the
6 following:
8         * Autoconf 2.64 (or later).
10         * Automake 1.14 (or later).
12         * Gettext 0.19 (or later).
14         * GNU M4 1.4.9 (or later).
16         * pkg-config 0.21 (or later).
18         * gperf 3.0.1 (or later).
20         * Gnulib (see below for details).
22         * libtool 1.5.22 (or later).
24         * Texinfo 5.2 or later, to build the documentation.
26         * rsvg-convert from librsvg2.
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.
32 Obtaining Gnulib
33 ----------------
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.
39  commit 46939413bcaceadc997374673db9577151c48d2c (origin/stable-202307)
40  Author: Bruno Haible <bruno@clisp.org>
41  Date:   Tue Oct 3 00:28:31 2023 +0200
43      localename, gettext: Avoid crash on macOS 14.
45      Reported by Shupeng Xue <dspxue@gmail.com> at
46      <https://lists.gnu.org/archive/html/bug-gettext/2023-10/msg00001.html>.
48      Cf <https://github.com/aria2/aria2/issues/2083#issuecomment-1694662007>.
50      * m4/intlmacosx.m4 (gt_INTL_MACOSX): Link with the CoreServices
51      framework in addition to the CoreFoundation framework.
53 To clone Gnulib into a directory named "gnulib" using Git, and then
54 check out this particular commit, run these commands:
55         git clone git://git.savannah.gnu.org/gnulib.git gnulib
56         cd gnulib
57         git checkout $COMMIT
58 where $COMMIT should be replaced by the commit number listed above
59 (usually it is sufficient to just type the first 6 or so digits).
61 If you do not have Git installed, then you may alternately download
62 http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=$COMMIT;sf=tgz
63 where $COMMIT is, again, at least the first few digits of the commit
64 number listed above.  This download will yield a tar.gz file that you
65 may extract with "gunzip" and "tar" to yield identical results.
67 Bootstrapping
68 -------------
70 Once you have Gnulib installed, PSPP must be "bootstrapped" using the
71 following command:
72         make -f Smake
73 If you checked Gnulib out in a directory named `gnulib' at the same
74 level as PSPP, then this is sufficient.  Otherwise, provide the
75 location of GNULIB on the `make' command line:
76         make -f Smake GNULIB=/gnulib/base/directory/name
78 After executing Smake, follow the procedure described in INSTALL to
79 build and install PSPP.  On some systems this may be as simple as:
80         ./configure
81         make
83 Once PSPP is built, you may run its self-tests with:
84         make check
85 or for a more thorough test:
86         make distcheck
88 Building from git on Mac OS
89 ---------------------------
91 You can build on MacOS in the macports environment. After installing all
92 required packages to resolve library dependencies and autotools e.t.c, you
93 run make -f Smake as described above.
95 The macports system provides the libraries and header files in a separate
96 location from the MacOS system libraries. The typical locations are
98 Libraries: /opt/local/lib
99 Headers:   /opt/local/include
101 pspp under macports will be linked against the macports libraries. The configure
102 script has to be informed about the library and header locations. Assume the following
103 directory structure for an out of tree build:
105 ~/mypspp
106   |----pspp    (This is the pspp git directory)
107   |----install (The install location containing also ui files for psppire)
108   |----build   (The build directory)
109   |----gnulib  (The gnulib directory as described above)
111 Then you can build with the following commands:
113     cd ~/mypspp/pspp
114     make -f Smake
115     cd ../build
116     ../pspp/configure --prefix=/Users/USER/mypspp/install \
117                   LDFLAGS=-L/opt/local/lib \
118                   CPPFLAGS=-I/opt/local/include
119     make
120     make install
121     ../install/bin/psppire (If everything worked, you should see psppire...)