1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
+ You may invoke `configure' with --help to see what options are
+ available. The most common of these are listed under "Optional
+ Features", below.
+
+ If you installed some of the libraries that PSPP uses in a
+ non-standard location (on many systems, anywhere other than
+ /usr), you may need to provide some special flags to `configure'
+ to tell it where to find them. For example, on GNU/Linux, if you
+ installed some libraries in /usr/local, then you need to invoke
+ it with at least the following options:
+
+ ./configure LDFLAGS='-L/usr/local/lib -Wl,-rpath,/usr/local/lib' CPPFLAGS='-I/usr/local/include'
+
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
PSPP NEWS -- history of user-visible changes.
-Time-stamp: <2008-06-04 21:27:06 blp>
-Copyright (C) 1996-9, 2000 Free Software Foundation, Inc.
+Time-stamp: <2008-10-09 21:32:07 blp>
+Copyright (C) 1996-9, 2000, 2008 Free Software Foundation, Inc.
See the end for copying conditions.
Please send PSPP bug reports to bug-gnu-pspp@gnu.org.
+Changes from 0.6.0 to 0.6.1:
+
+ * Statistical bug fixes:
+
+ - Report correct standardized regression coefficients in linear
+ regression output (bug #23567).
+
+ * Bug fixes that affect PSPP and PSPPIRE:
+
+ - Avoid crash with pie charts (bug #24014).
+
+ - Don't append % to count totals (bug #24003).
+
+ - Don't crash on bad input (bug #24031).
+
+ - Don't crash if "end data." is not left aligned (bug #24115).
+
+ - Change default workspace value to 64 MB, to avoid unnecessary
+ disk accesses on modern machines.
+
+ * PSPPIRE bug fixes:
+
+ - Add ".sav" or ".por" suffix to filename when saving with Save_As
+ (bug #23137).
+
+ - Make it possible to reopen the output window on Windows (bug
+ #24033).
+
+ - A POSIX regular expression library is now included and used
+ automatically if the host does not have one or has one that is
+ inadequate.
+
+ * Build fixes and changes:
+
+ - Work around bug in GSL that prevented build with recent GCC
+ versions without manually adding -fgnu89-inline to CFLAGS.
+
+ - Also warn about missing prerequisites as we encounter them (bug
+ #24445).
+
+ - Distribute necessary files to allow users working from the
+ distributed tarball to configure with --enable-gui-tools.
+
+ - Append $(EXEEXT_FOR_BUILD) to output file name when building
+ q2c, fixing build problems on Windows.
+
+ - GSL 1.8 or later is now required.
+
+ - Build errors with --enable-relocatable were fixed.
+
+ * The German translations were removed, since native German speakers
+ found them too poor to be useful.
+
Changes from 0.4.0 to 0.6.0:
* The PSPP license is now version 3 or later of the GNU General
printf-posix \
printf-safe \
progname \
+ regex \
relocatable-prog \
round \
snprintf \
dnl Prerequisites.
-dnl Instead of giving an error about each prerequisite as we encounter it,
-dnl group them all together at the end of the run, to be user-friendly.
-AC_DEFUN([PSPP_REQUIRED_PREREQ], [pspp_required_prereqs="$pspp_required_prereqs
+dnl Summarize all the missing prerequisites at the end of the run to
+dnl increase user-friendliness.
+AC_DEFUN([PSPP_REQUIRED_PREREQ],
+ [AC_MSG_WARN([You must install $1 before building PSPP.])
+pspp_required_prereqs="$pspp_required_prereqs
$1"])
AC_DEFUN([PSPP_OPTIONAL_PREREQ], [pspp_optional_prereqs="$pspp_optional_prereqs
$1"])
fi
])
-dnl Check whether a C compiler option is accepted.
-dnl If so, add it to CFLAGS.
-dnl Example: PSPP_ENABLE_OPTION(-Wdeclaration-after-statement)
-AC_DEFUN([PSPP_ENABLE_OPTION],
+dnl PSPP_CHECK_CC_OPTION([OPTION], [ACTION-IF-ACCEPTED], [ACTION-IF-REJECTED])
+dnl Check whether the given C compiler OPTION is accepted.
+dnl If so, execute ACTION-IF-ACCEPTED, otherwise ACTION-IF-REJECTED.
+AC_DEFUN([PSPP_CHECK_CC_OPTION],
[
m4_define([pspp_cv_name], [pspp_cv_[]m4_translit([$1], [-], [_])])dnl
AC_CACHE_CHECK([whether $CC accepts $1], [pspp_cv_name],
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,)], [pspp_cv_name[]=yes], [pspp_cv_name[]=no])
CFLAGS="$pspp_save_CFLAGS"])
if test $pspp_cv_name = yes; then
- CFLAGS="$CFLAGS $1"
+ m4_if([$2], [], [;], [$2])
+ else
+ m4_if([$3], [], [:], [$3])
fi
])
+dnl PSPP_ENABLE_OPTION([OPTION])
+dnl Check whether the given C compiler OPTION is accepted.
+dnl If so, add it to CFLAGS.
+dnl Example: PSPP_ENABLE_OPTION([-Wdeclaration-after-statement])
+AC_DEFUN([PSPP_ENABLE_OPTION],
+ [PSPP_CHECK_CC_OPTION([$1], [CFLAGS="$CFLAGS $1"])])
+
dnl Check for readline and history libraries.
dnl Modified for PSPP, based on readline.m4 serial 3 from
# make sure that it has run by the time we run this test, otherwise we'll
# get a false result.
AC_REQUIRE([gl_INLINE])
- AC_CACHE_CHECK([whether GSL needs -fgnu89-inline to link],
- pspp_cv_gsl_needs_fgnu89_inline, [
- PSPP_LINK2_IFELSE(
- [AC_LANG_PROGRAM([#include <gsl/gsl_math.h>
- ], [GSL_MAX_INT(1,2);])],
- [AC_LANG_SOURCE([#include <gsl/gsl_math.h>
- void x (void) {}])],
- [pspp_cv_gsl_needs_fgnu89_inline=no],
- [pspp_cv_gsl_needs_fgnu89_inline=yes])])
- if test "$pspp_cv_gsl_needs_fgnu89_inline" = "yes"; then
- CFLAGS="$CFLAGS -fgnu89-inline"
- fi
+ PSPP_CHECK_CC_OPTION(
+ [-fgnu89-inline],
+ [AC_CACHE_CHECK([whether GSL needs -fgnu89-inline to link],
+ pspp_cv_gsl_needs_fgnu89_inline, [
+ PSPP_LINK2_IFELSE(
+ [AC_LANG_PROGRAM([#include <gsl/gsl_math.h>
+ ], [GSL_MAX_INT(1,2);])],
+ [AC_LANG_SOURCE([#include <gsl/gsl_math.h>
+ void x (void) {}])],
+ [pspp_cv_gsl_needs_fgnu89_inline=no],
+ [pspp_cv_gsl_needs_fgnu89_inline=yes])])
+ if test "$pspp_cv_gsl_needs_fgnu89_inline" = "yes"; then
+ CFLAGS="$CFLAGS -fgnu89-inline"
+ fi])
])
dnl acinclude.m4 ends here
rm -f $(DESTDIR)$(infodir)/pspp.info.gz
EXTRA_DIST += doc/OChangeLog
+CLEANFILES += pspp-dev.dvi
error:
data_parser_destroy (parser);
- dict_destroy (dict);
+ if (!in_input_program ())
+ dict_destroy (dict);
fh_unref (fh);
return CMD_CASCADING_FAILURE;
}
if (!parse_DATA_LIST_vars_pool (lexer, tmp_pool,
&name, &name_cnt, PV_NONE))
- return 0;
+ return false;
if (lex_match (lexer, '('))
{
if (v == NULL)
{
msg (SE, _("%s is a duplicate variable name."), name[i]);
- return 0;
+ return false;
}
var_set_both_formats (v, &output);
if (!lex_get_line_raw (r->lexer))
{
+ lex_discard_line (r->lexer);
msg (SE, _("Unexpected end-of-file while reading data in BEGIN "
"DATA. This probably indicates "
"a missing or misformatted END DATA command. "
src/language/lexer/q2c$(EXEEXT_FOR_BUILD): $(top_srcdir)/src/language/lexer/q2c.c
@$(MKDIR_P) `dirname $@`
- $(CC_FOR_BUILD) $(top_srcdir)/src/language/lexer/q2c.c -o $(top_builddir)/src/language/lexer/q2c
+ $(CC_FOR_BUILD) $(top_srcdir)/src/language/lexer/q2c.c -o $(top_builddir)/src/language/lexer/q2c$(EXEEXT_FOR_BUILD)
CLEANFILES += src/language/lexer/q2c$(EXEEXT_FOR_BUILD)
tab_offset (table, -1, tab_row (table) - num_cells * n_rows);
for (r = 0; r < n_rows; r++)
{
- char suffix = 0;
bool mark_missing = false;
if (cmd.miss == CRS_REPORT
for (i = 0; i < num_cells; i++)
{
+ char suffix = 0;
double v;
switch (cells[i])
v = row_tot[r];
break;
case CRS_CL_ROW:
- v = 100.;
+ v = 100.0;
suffix = '%';
break;
case CRS_CL_COLUMN:
{
double ct = c < n_cols ? col_tot[c] : W;
bool mark_missing = false;
- char suffix = 0;
int i;
if (cmd.miss == CRS_REPORT && c < n_cols
for (i = 0; i < num_cells; i++)
{
+ char suffix = 0;
double v;
switch (cells[i])
{
case CRS_CL_COUNT:
v = ct;
- suffix = '%';
break;
case CRS_CL_ROW:
v = ct / W * 100.;
NOT_REACHED ();
}
- format_cell_entry (table, c, i, v, suffix, mark_missing);
+ format_cell_entry (table, c, i, v, suffix, mark_missing);
}
last_row = i;
}
#include "progname.h"
#include <stdlib.h>
#include <getopt.h>
+#include <gl/relocatable.h>
#include <libpspp/version.h>
#include <libpspp/copyleft.h>
gtk_window_set_type_hint (GTK_WINDOW (splash),
GDK_WINDOW_TYPE_HINT_SPLASHSCREEN);
- image = gtk_image_new_from_file (PKGDATADIR "/splash.png");
+ image = gtk_image_new_from_file (relocate (PKGDATADIR "/splash.png"));
gtk_container_add (GTK_CONTAINER (splash), image);
src/libpspp/float-format.c \
tests/dissect-sysfile.c
tests_dissect_sysfile_LDADD = gl/libgl.la @LIBINTL@
-tests_dissect_sysfile_CFLAGS = $(AM_CFLAGS)
+tests_dissect_sysfile_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
EXTRA_DIST += \
$(dist_TESTS) \
# 5.00# .0| .0| .0| .0| .0| .0| .0| .0#
# 6.00# .0| .0| .0| .0| .0| .0| .0| .0#
# 7.00# .0| .0| .0| .0| .0| .0| .0| .0#
-#Total # .0%| .0%| .0%| .0%| 1.0%| .0%| .0%| 1.0%#
+#Total # .0| .0| .0| .0| 1.0| .0| .0| 1.0#
#===============#========#========#========#========#========#========#========#========#
EOF
if [ $? -ne 0 ] ; then fail ; fi
# 1.00# 1.0| .0| .0| 1.0| 2.0#
# 2.00# .0| .0| 1.0| .0| 1.0#
# 3.00# .0| 1.0| .0| .0| 1.0#
-#Total # 1.0%| 1.0%| 1.0%| 1.0%| 4.0%#
+#Total # 1.0| 1.0| 1.0| 1.0| 4.0#
#===============#========#========#========#========#========#
EOF
if [ $? -ne 0 ] ; then fail ; fi
# 5.00# .0| .0| .0| .0| .0| .0| .0| .0#
# 6.00# .0| .0| .0| .0| .0| .0| .0| .0#
# 7.00# .0| .0| .0| .0| .0| .0| .0| .0#
-#Total # .0%| .0%| .0%| .0%| 1.0%| .0%| .0%| 1.0%#
+#Total # .0| .0| .0| .0| 1.0| .0| .0| 1.0#
#===============#========#========#========#========#========#========#========#========#
EOF
if [ $? -ne 0 ] ; then fail ; fi