X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=README.Git;h=576deff61bd58f04f2428a93ecfaa55554524a9e;hb=refs%2Fheads%2Fctables10;hp=b303b76ae9e7d14e518c68a65d1872b6433c73a3;hpb=bd17d2af982332ee1791998361b1ac6731fe14fa;p=pspp diff --git a/README.Git b/README.Git index b303b76ae9..576deff61b 100644 --- a/README.Git +++ b/README.Git @@ -1,3 +1,6 @@ +Prerequisites for Building PSPP from Git +---------------------------------------- + To build this project from the sources direct from the Git archive, you must install the prerequisites listed in README, plus the following: @@ -6,7 +9,7 @@ following: * Automake 1.10 (or later). - * Gettext 0.17 (or later). + * Gettext 0.19 (or later). * GNU M4 1.4.9 (or later). @@ -14,33 +17,97 @@ following: * gperf 3.0.1 (or later). - * Gnulib, from Git at . - If you do not have Git installed, up-to-date snapshots are - at . - Note that Gnulib does not require any form of installation: - simply checking it out into a directory is sufficient. We - recommend checking out gnulib into a directory named `gnulib' - at the same level as PSPP. + * Gnulib (see below for details). * libtool 1.5.22 (or later). - * Texinfo 4.7 or later, to build the documentation. + * Texinfo 5.2 or later, to build the documentation. + + * Gimp -- 2.8.2 is known to work + +After you install PSPP's prerequisites, you must obtain a copy of +Gnulib, then bootstrap the tree, as described in the sections below. +After that, you may follow the procedure described in INSTALL. + +Obtaining Gnulib +---------------- + +This version of PSPP should work with the Gnulib commit shown below. +Gnulib does not maintain a stable API or ABI, so it is possible that +PSPP will not work with older or newer versions of Gnulib. + + commit 2d830e4a792fcd9f614ed08a7f18584b8b21d23b (HEAD, origin/master, origin/HEAD) + Author: Bruno Haible + Date: Sun Mar 13 15:12:46 2022 +0100 + + sigsegv: Add support for Linux/PowerPC (32-bit) with musl libc. + +To clone Gnulib into a directory named "gnulib" using Git, and then +check out this particular commit, run these commands: + git clone git://git.savannah.gnu.org/gnulib.git gnulib + cd gnulib + git checkout $COMMIT +where $COMMIT should be replaced by the commit number listed above +(usually it is sufficient to just type the first 6 or so digits). + +If you do not have Git installed, then you may alternately download +http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=$COMMIT;sf=tgz +where $COMMIT is, again, at least the first few digits of the commit +number listed above. This download will yield a tar.gz file that you +may extract with "gunzip" and "tar" to yield identical results. + +Bootstrapping +------------- -Once you have these installed, execute +Once you have Gnulib installed, PSPP must be "bootstrapped" using the +following command: make -f Smake If you checked Gnulib out in a directory named `gnulib' at the same level as PSPP, then this is sufficient. Otherwise, provide the location of GNULIB on the `make' command line: make -f Smake GNULIB=/gnulib/base/directory/name -After executing Smake, you may configure the source tree in the usual -way with ./configure, e.g. +After executing Smake, follow the procedure described in INSTALL to +build and install PSPP. On some systems this may be as simple as: ./configure -For a list of options: - ./configure --help + make -To test: +Once PSPP is built, you may run its self-tests with: make check - -For a very thorough test: +or for a more thorough test: make distcheck + +Building from git on Mac OS +--------------------------- + +You can build on MacOS in the macports environment. After installing all +required packages to resolve library dependencies and autotools e.t.c, you +run make -f Smake as described above. + +The macports system provides the libraries and header files in a separate +location from the MacOS system libraries. The typical locations are + +Libraries: /opt/local/lib +Headers: /opt/local/include + +pspp under macports will be linked against the macports libraries. The configure +script has to be informed about the library and header locations. Assume the following +directory structure for an out of tree build: + +~/mypspp + |----pspp (This is the pspp git directory) + |----install (The install location containing also ui files for psppire) + |----build (The build directory) + |----gnulib (The gnulib directory as described above) + +Then you can build with the following commands: + + cd ~/mypspp/pspp + make -f Smake + cd ../build + ../pspp/configure --prefix=/Users/USER/mypspp/install \ + LDFLAGS=-L/opt/local/lib \ + CPPFLAGS=-I/opt/local/include + make + make install + ../install/bin/psppire (If everything worked, you should see psppire...)