dnl Process this file with autoconf to produce a configure script.
dnl Initialize.
-AC_PREREQ(2.60)
-AC_INIT([pspp],[0.7.3],[bug-gnu-pspp@gnu.org])
+AC_PREREQ(2.63)
+AC_INIT([GNU PSPP], [0.7.4], [bug-gnu-pspp@gnu.org], [pspp])
AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_TESTDIR([tests])
AM_INIT_AUTOMAKE
dnl Checks for programs.
AC_DEFINE([HAVE_CAIRO], 1,
[Define to 1 if Cairo and Pango are available.])],
[PSPP_REQUIRED_PREREQ([cairo 1.5 or later and pango 1.20 or later (or use --without-cairo)])])
+ AC_PATH_PROG([XMLLINT], [xmllint], [echo], [$PATH])
+ AC_SUBST(XMLLINT)
fi
# Support for GUI.
fi
AM_CONDITIONAL(PSQL_SUPPORT, test -n "$PG_CONFIG")
-dnl Checks needed for Gnumeric reader
-gnm_support=yes;
-PKG_CHECK_MODULES(LIBXML2, libxml-2.0,,
- [PSPP_OPTIONAL_PREREQ([libxml2]); gnm_support=no;]);
-AC_SEARCH_LIBS(gzopen,z,,[PSPP_OPTIONAL_PREREQ([zlib]); gnm_support=no;])
-AC_CHECK_HEADERS(zlib.h,,[PSPP_OPTIONAL_PREREQ([zlib]); gnm_support=no;])
+dnl Check for libxml2
+PKG_CHECK_MODULES(
+ [LIBXML2], [libxml-2.0],
+ [HAVE_LIBXML2=yes],
+ [HAVE_LIBXML2=no
+ PSPP_OPTIONAL_PREREQ([libxml2])])
+
+dnl Check for zlib.
+AC_SEARCH_LIBS(
+ [gzopen], [z],
+ [HAVE_ZLIB=yes],
+ [HAVE_ZLIB=no
+ PSPP_OPTIONAL_PREREQ([zlib])])
+AC_CHECK_HEADERS(
+ [zlib.h],
+ [],
+ [HAVE_ZLIB=no
+ PSPP_OPTIONAL_PREREQ([zlib])])
+
+dnl Avoid interference between zlib's crc32() function and gnulib's
+dnl crc32() function, which have different signatures. PSPP calls
+dnl only gnulib's crc32() directly, but it calls zlib's crc32()
+dnl indirectly through other zlib calls. If we don't rename gnulib's
+dnl crc32(), then zlib will call gnulib's version instead of its own,
+dnl causing failures. (This can happen even if zlib isn't detected
+dnl directly, because other libraries that PSPP uses, e.g. libpng,
+dnl sometimes use zlib themselves.)
+AC_DEFINE(
+ [crc32], [gl_crc32],
+ [Avoid making zlib call gnulib's crc32() instead of its own.])
+
+dnl Gnumeric support requires libxml2 and zlib.
+if test $HAVE_LIBXML2 = yes && test $HAVE_ZLIB = yes; then
+ GNM_SUPPORT=yes
+ AC_DEFINE(
+ [GNM_SUPPORT], [1],
+ [Define to 1 if building in support for reading Gnumeric files.])
+else
+ GNM_SUPPORT=no
+fi
+AM_CONDITIONAL([GNM_SUPPORT], [test $GNM_SUPPORT = yes])
-if test x"$gnm_support" = x"yes" ; then
- AC_DEFINE([GNM_SUPPORT], 1,
- [Define to 1 if building in support for reading Gnumeric files.])
+dnl ODT support requires libxml2.
+if test $HAVE_LIBXML2 = yes; then
+ AC_DEFINE(
+ [ODT_SUPPORT], [1],
+ [Define to 1 if building in support for writing ODT files.])
fi
-AM_CONDITIONAL(GNM_SUPPORT, test x"$gnm_support" = x"yes")
+AM_CONDITIONAL([ODT_SUPPORT], [test $HAVE_LIBXML2 = yes])
AC_ARG_WITH(
gui_tools,
PSPP_READLINE
dnl Checks for header files.
-AC_CHECK_HEADERS([sys/wait.h fpu_control.h ieeefp.h fenv.h])
+AC_CHECK_HEADERS([sys/wait.h fpu_control.h ieeefp.h fenv.h pwd.h])
# For gnulib.
gl_INIT
PSPP_CHECK_PREREQS
-AC_CONFIG_FILES([Makefile gl/Makefile])
+AC_CONFIG_FILES([Makefile gl/Makefile tests/atlocal perl-module/lib/PSPP.pm])
AC_OUTPUT
echo "PSPP configured successfully."