X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=blobdiff_plain;f=INSTALL;h=3016d0261970bb1132ab88d59bfdfcb351494f37;hp=2e985ae481f170dad31e3cd5046d54aa09b9c5fc;hb=refs%2Fheads%2Fctables10;hpb=facb4a1ad3c9e8b2cdf55824680eed2afb91aebe diff --git a/INSTALL b/INSTALL index 2e985ae481..3016d02619 100644 --- a/INSTALL +++ b/INSTALL @@ -57,33 +57,22 @@ The following packages are required to install PSPP: * The GNU Scientific Library (http://www.gnu.org/software/gsl/), version 1.13 or later, including libgslcblas included with GSL. - * Perl (http://www.perl.org/), version 5.005_03 or later. Perl is + * Python (https://python.org/), version 3.4 or later. Python is required during build but not after installation. - * Python (https://python.org/), version 2.7 or later (Python 3 is - fine). Some tests require Python; if it is missing, those tests - will be skipped. PSPP does not otherwise require Python. - * iconv, which should be installed as part of a Unix-like system. If you don't have a version already, you can install GNU libiconv (http://www.gnu.org/software/libiconv/). - * libintl, from GNU gettext (http://www.gnu.org/software/gettext). - GNU libc includes an integrated libintl, so there is no need to - separately install libintl on a GNU/Linux system. + * Cairo (http://cairographics.org/), version 1.12 or later. + + * Pango (http://www.pango.org/), version 1.22 or later. * zlib (http://www.zlib.net/). * libxml2 (http://xmlsoft.org/). -The following packages are required to enable PSPP's graphing -features. If you cannot arrange to install them, you must run -`configure' with --without-cairo (in which case you will get no graphing -capability). - - * Cairo (http://cairographics.org/), version 1.12 or later. - - * Pango (http://www.pango.org/), version 1.22 or later. + * gettext version 0.20 or later. The following packages are required to enable PSPPIRE, the graphical user interface for PSPP. If you cannot install them or do not wish to @@ -96,11 +85,21 @@ use the GUI, you must run `configure' with --without-gui. * GTK+ (http://www.gtk.org/), version 3.22.0 or later. * GtkSourceView (http://projects.gnome.org/gtksourceview/) - version 3.4.0 or later. + version 3.x (3.4.2 or later) or 4.x. * GNU Spread Sheet Widget (http://www.gnu.org/software/ssw) + version 0.7 or later. + +The following packages are only needed to build and test the Perl +module: -The following packages are optional: + * Perl (https://www.perl.org/), version 5.005_03 or later. + + * The Config::Perl::V module for Perl (https://cpan.org). + + * Optionally, the Text::Diff and Memory::Usage modules for Perl + (https://cpan.org). These modules enable PSPP to test its Perl + module more thoroughly. Other optional packages: @@ -118,10 +117,6 @@ Other optional packages: interface, but not the Postgresql interface itself, requires the Postgresql server to be installed. - * The Text::Diff module for Perl (http://cpan.org). This enables - PSPP to test the Perl module more thoroughly. It is not needed - to build or use the Perl module. - Basic Installation ================== @@ -215,10 +210,55 @@ is an example: ./configure CC=c89 CFLAGS=-O0 LIBS=-lposix +Cross Compiling +=============== + To cross-compile PSPP, you will likely need to set the PKG_CONFIG_LIBDIR environment variable to point to an appropriate pkg-config for the cross-compilation environment. +Part of cross-compiling procedure builds a native binary. Therefore, you +will need not only the dependent libraries for your target, but also for the +build machine. This is because the native version is used to create +examples for the user manual. + +To do a windows cross compilation on a debian build machine, the mingw64 +cross build system can be used. First you have to install the build +dependencies with + +sudo apt install -y build-essential python3 perl texinfo texlive \ + libgsl-dev libgtk-3-dev libgtksourceview-3.0-dev \ + pkg-config gperf git zip curl autoconf libtool \ + gettext libreadline-dev appstream \ + mingw-w64 meson ninja-build \ + imagemagick wget nsis texlive-plain-generic + +To build windows 64bit installers from the latest nightly do the following steps + +mkdir sandbox +sandboxdir=`pwd`/sandbox +curl -o pspp.tgz https://benpfaff.org/~blp/pspp-master/latest-source.tar.gz +tar -xzf pspp.tgz +./pspp-/Windows/build-dependencies --arch=x86_64-w64-mingw32 --sandbox=$sandboxdir +mkdir build +cd build +../pspp-/configure --host="x86_64-w64-mingw32" \ + CPPFLAGS="-I$sandboxdir/Install/include" \ + LDFLAGS="-L$sandboxdir/Install/lib" \ + PKG_CONFIG_LIBDIR="$sandboxdir/Install/lib/pkgconfig" \ + --prefix=$sandboxdir/psppinst \ + --enable-relocatable +make -j4 +make install +make install-html +make install-pdf +make Windows/installers + +The windows installers are then available in the build/Windows directory. Note that +building via mingw64-configure/make does not work because some example outputs for the +documentation are created during the build process. That requires a native version also +during the cross compile build which does not work with mingw64-configure. + See "Defining Variables", below, for more details. Installation Names @@ -257,21 +297,10 @@ suffix on their names by giving `configure' the option Optional Features ================= -`--without-cairo' - Don't compile in support for charts (using Cairo and Pango). This - is useful if your system lacks these libraries. - `--without-gui' Don't build the PSPPIRE gui. Use this option if you only want to build the command line version of PSPP. - Cairo and Pango required to build the GUI, so --without-cairo - implies --without-gui. - -`--with-gui-tools' - Build the gui developer tools. There is no reason to use this - option unless you're involved with the development of PSPP - `--without-lib{xx}' Optional libraries should normally be detected and the relevant functionality will be built they exist. However, on some poorly