repair glade; switched to gladeui-2.0; removed the internal-child in psppire-dialog.
[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         * Gimp --  2.8.2 is known to work
27
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.
31
32 Obtaining Gnulib
33 ----------------
34
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.
38
39         commit c5c4f53b31f1ad04f4033a6124120ffec9257847
40         Author: Pádraig Brady <P@draigBrady.com>
41         Date:   Sat Dec 6 01:14:02 2014 +0000
42
43             vasnprintf: fix potential use after free
44
45             * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
46             flagged by clang-analyzer 3.4.2.
47
48 To clone Gnulib into a directory named "gnulib" using Git, and then
49 check out this particular commit, run these commands:
50         git clone git://git.savannah.gnu.org/gnulib.git gnulib
51         cd gnulib
52         git checkout $COMMIT
53 where $COMMIT should be replaced by the commit number listed above
54 (usually it is sufficient to just type the first 6 or so digits).
55
56 If you do not have Git installed, then you may alternately download
57 http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=$COMMIT;sf=tgz
58 where $COMMIT is, again, at least the first few digits of the commit
59 number listed above.  This download will yield a tar.gz file that you
60 may extract with "gunzip" and "tar" to yield identical results.
61
62 Bootstrapping
63 -------------
64
65 Once you have Gnulib installed, PSPP must be "bootstrapped" using the
66 following command:
67         make -f Smake
68 If you checked Gnulib out in a directory named `gnulib' at the same
69 level as PSPP, then this is sufficient.  Otherwise, provide the
70 location of GNULIB on the `make' command line:
71         make -f Smake GNULIB=/gnulib/base/directory/name
72
73 After executing Smake, follow the procedure described in INSTALL to
74 build and install PSPP.  On some systems this may be as simple as:
75         ./configure
76         make
77
78 Once PSPP is built, you may run its self-tests with:
79         make check
80 or for a more thorough test:
81         make distcheck
82
83 Glade UI Design
84 ---------------
85
86 The ui files in src/ui/gui may be viewed (maybe changed) with Glade. For this
87 you need
88
89         * libgladeui 2.0 or later
90
91 Then you need to run
92
93         configure --with-gui-tools
94         make
95         make install
96
97 psppire uses some self defined widgets. To use glade these widgets have
98 to be announced to glade such that you can view the interface.
99 The install process will install the psppire glade library, icons and
100 psppire.xml files in the appropiate system locations. You cannot override
101 this with --prefix. After that you can run "glade" and open the ui files.