docs
[pspp] / INSTALL
diff --git a/INSTALL b/INSTALL
index 5fe74b442d57a38c901b2b63df5a2ed83ce5417b..3016d0261970bb1132ab88d59bfdfcb351494f37 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -57,13 +57,9 @@ 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/).
@@ -89,12 +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 optional:
+The following packages are only needed to build and test the Perl
+module:
+
+    * 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:
 
@@ -112,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
 ==================
 
@@ -221,6 +222,43 @@ 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-<version>/Windows/build-dependencies --arch=x86_64-w64-mingw32 --sandbox=$sandboxdir
+mkdir build
+cd build
+../pspp-<version>/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