X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.ac;h=a1f5f655f2ba377d91d0c69e4d4adfe8733c264c;hb=006bed0af6dede3b1307e3eb635fe037076bebd6;hp=16a6fbd884ae81a7125c7f24e80bb42851e72a0e;hpb=85eeaccf1a92aef8a6b4766c2160e02b14d8ec57;p=pspp-builds.git diff --git a/configure.ac b/configure.ac index 16a6fbd8..a1f5f655 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,10 @@ dnl Process this file with autoconf to produce a configure script. dnl Initialize. -AX_PREREQ(2.60) -AC_INIT([pspp],[0.4.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. @@ -11,9 +12,17 @@ AC_GNU_SOURCE AC_PROG_CC gl_EARLY AM_PROG_CC_C_O +AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_DLOPEN AC_PROG_LIBTOOL PKG_PROG_PKG_CONFIG +m4_pattern_forbid([PKG_CHECK_MODULES]) +PSPP_CHECK_CLICKSEQUENCE + +AC_ARG_ENABLE( + anachronistic-dependencies, + [AS_HELP_STRING([--enable-anachronistic-dependencies], + [Attempt to allow building against older versions of dependent libraries])]) PSPP_ENABLE_OPTION(-Wdeclaration-after-statement) @@ -23,29 +32,51 @@ PSPP_CC_FOR_BUILD PSPP_PERL dnl Internationalization macros. -AM_GNU_GETTEXT([external], [need-ngettext]) -AM_GNU_GETTEXT_VERSION([0.16.1]) +AC_ARG_ENABLE(nls, [AS_HELP_STRING([--disable-nls], [do not use Native Language Support])]) +if test x"$enable_nls" != x"no" ; then + AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) +fi + dnl Checks for libraries. AC_SYS_LARGEFILE AC_SEARCH_LIBS([sin], [m]) -PSPP_LIBPLOT +AC_SEARCH_LIBS([dcgettext], [intl]) PSPP_LC_PAPER -AM_CONDITIONAL(WITHCHARTS, test x"$with_libplot" != x"no") -AC_ARG_WITH( - gui, - [AS_HELP_STRING([--without-gui], [don't build the PSPPIRE gui])]) - -if test x"$with_gui" != x"no" ; then - PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.12.0,, - [PSPP_REQUIRED_PREREQ([gtk+ 2.0 v2.12.0 or later (or use --without-gui)])]) - PKG_CHECK_MODULES(GLADE, libglade-2.0 >= 2.6.0,, - [PSPP_REQUIRED_PREREQ([libglade 2.0 v2.6.0 or later (or use --without-gui)])]) +AC_ARG_VAR([PSPP_LDFLAGS], [linker flags to be used for linking the pspp binary only]) +AC_ARG_VAR([PSPPIRE_LDFLAGS], [linker flags to be used for linking the psppire binary only]) + +# Support for Cairo and Pango. +AC_ARG_WITH([cairo], + [AS_HELP_STRING( + [--without-cairo], + [Don't build support for charts (using Cairo and Pango); + implies --without-gui])], + [], [with_cairo=yes]) +AM_CONDITIONAL([HAVE_CAIRO], [test "$with_cairo" != no]) +if test "$with_cairo" != no; then + PKG_CHECK_MODULES([CAIRO], [cairo >= 1.5 pango >= 1.20 pangocairo], + [CPPFLAGS="$CPPFLAGS $CAIRO_CFLAGS" + 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 -AM_CONDITIONAL(WITHGUI, test x"$with_gui" != x"no") +# Support for GUI. +AC_ARG_WITH([gui], + [AS_HELP_STRING([--without-gui], + [Don't build the PSPPIRE GUI (using GTK+)])], + [], [with_gui=yes]) +AM_CONDITIONAL([HAVE_GUI], + [test "$with_cairo" != no && test "$with_gui" != "no"]) +if test "$with_cairo" != no && test "$with_gui" != "no"; then + PKG_CHECK_MODULES([GTK], [gtk+-2.0 >= 2.12], [], + [PSPP_REQUIRED_PREREQ([gtk+ 2.0 version 2.12 or later (or use --without-gui)])]) +fi dnl Checks needed for psql reader @@ -62,11 +93,18 @@ dnl To overcome this, we first check for libpq in the standard places, and dnl only set PG_LDFLAGS if it's not found. -AC_SEARCH_LIBS([PQexec], [pq], [libpq_in_std_lib_path=yes]) +AC_ARG_WITH( + libpq, + [AS_HELP_STRING([--without-libpq], [don't compile in Postgres capability])]) + +if test x"$with_libpq" != x"no" ; then + AC_SEARCH_LIBS([PQexec], [pq], [libpq_in_std_lib_path=yes]) -AC_ARG_VAR([PG_CONFIG], [Full pathname of the pg_config program shipped with Postgresql]) -AC_PATH_PROG([PG_CONFIG], [pg_config], [], [$PATH:/usr/local/pgsql/bin:/usr/pgsql/bin]) -if test -n "$PG_CONFIG" ; then + AC_ARG_VAR([PG_CONFIG], [Full pathname of the pg_config program shipped with Postgresql]) + if test x"$cross_compiling" != x"yes" ; then + AC_PATH_PROG([PG_CONFIG], [pg_config], [], [$PATH:/usr/local/pgsql/bin:/usr/pgsql/bin]) + fi + if test -n "$PG_CONFIG" ; then AC_SUBST(PG_CONFIG) AC_DEFINE([PSQL_SUPPORT], 1, [Define to 1 if building in support for reading from postgres databases.]) @@ -84,10 +122,11 @@ if test -n "$PG_CONFIG" ; then AC_DEFINE([USE_SSL],1, [Define to 1 if the openssl library is present.]) ,) + fi fi AM_CONDITIONAL(PSQL_SUPPORT, test -n "$PG_CONFIG") -dnl Checks needed for gnumeric reader +dnl Checks needed for Gnumeric reader gnm_support=yes; PKG_CHECK_MODULES(LIBXML2, libxml-2.0,, [PSPP_OPTIONAL_PREREQ([libxml2]); gnm_support=no;]); @@ -102,14 +141,17 @@ AM_CONDITIONAL(GNM_SUPPORT, test x"$gnm_support" = x"yes") AC_ARG_WITH( gui_tools, - [AS_HELP_STRING([--with-gui-tools], [build the gui developer tools])]) + [AS_HELP_STRING([--with-gui-tools], [build the gui developer tools. For DEVELOPERS only! There is no reason why users will need this flag.])]) if test x"$with_gui_tools" = x"yes" ; then PKG_CHECK_MODULES(GLADE_UI, gladeui-1.0) fi AM_CONDITIONAL(WITH_GUI_TOOLS, test x"$with_gui_tools" = x"yes") +AM_CONDITIONAL(WITH_PERL_MODULE, test x"$cross_compiling" != x"yes") + AC_SEARCH_LIBS([cblas_dsdot], [gslcblas],,[PSPP_REQUIRED_PREREQ([libgslcblas])]) -AC_SEARCH_LIBS([gsl_cdf_chisq_Q], [gsl],,[PSPP_REQUIRED_PREREQ([libgsl (version 1.4 or later)])]) +AC_SEARCH_LIBS([gsl_cdf_binomial_P], [gsl],,[PSPP_REQUIRED_PREREQ([libgsl (version 1.8 or later)])]) +PSPP_GSL_NEEDS_FGNU89_INLINE dnl Recent versions of GNU ncurses install the curses header files into dnl /usr/include/ncurses, and provide a 'ncurses5-config' program which @@ -119,27 +161,40 @@ dnl we'll trust it to find the right information. Otherwise, we'll dnl try to discover it ourselves. dnl To confound things further, Cygwin has decided to rename ncurses5-config dnl to ncurses8-config !!! -AC_CHECK_PROGS([NCURSES_CONFIG], [ncurses5-config ncurses8-config]) -if test x"$NCURSES_CONFIG" = x ; then - AC_SEARCH_LIBS([tgetent], [ncurses], - [curses_available=yes; AC_CHECK_HEADERS([term.h curses.h],,[curses_available=no])]) -else - curses_available=yes - NCURSES_CFLAGS=`$NCURSES_CONFIG --cflags` - NCURSES_LIBS=`$NCURSES_CONFIG --libs` - AC_SUBST(NCURSES_CFLAGS) - AC_SUBST(NCURSES_LIBS) -fi -if test x"$curses_available" = x"yes" ; then - AC_DEFINE([LIBNCURSES_USABLE], 1, - [Define to 1 if the libncurses is both present and usable.]) +AC_ARG_WITH( + libncurses, + [AS_HELP_STRING([--without-libncurses], [don't compile in ncurses functions])]) + +if test x"$with_libncurses" != x"no" ; then + if test x"$cross_compiling" != x"yes" ; then + AC_CHECK_PROGS([NCURSES_CONFIG], [ncurses5-config ncurses8-config]) + fi + if test x"$NCURSES_CONFIG" = x ; then + AC_SEARCH_LIBS([tgetent], [ncurses], + [curses_available=yes; AC_CHECK_HEADERS([term.h curses.h],,[curses_available=no])]) + else + old_cflags=$CFLAGS + CFLAGS="$CFLAGS `$NCURSES_CONFIG --cflags`" + AC_CHECK_HEADERS([term.h curses.h],[curses_available=yes]) + CFLAGS=$old_cflags + if test x"$curses_available" = x"yes" ; then + NCURSES_LIBS=`$NCURSES_CONFIG --libs` + NCURSES_CFLAGS=`$NCURSES_CONFIG --cflags` + AC_SUBST(NCURSES_CFLAGS) + AC_SUBST(NCURSES_LIBS) + fi + fi + if test x"$curses_available" = x"yes" ; then + AC_DEFINE([LIBNCURSES_USABLE], 1, + [Define to 1 if the libncurses is both present and usable.]) + fi + AC_CHECK_HEADERS([termcap.h]) fi -AC_CHECK_HEADERS([termcap.h]) 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 @@ -167,9 +222,14 @@ if test "$am_cv_func_iconv" != "yes"; then PSPP_REQUIRED_PREREQ([iconv (see http://www.gnu.org/software/libiconv/)]) fi +dnl Required by the gnulib 'relocatable-prog' module. +dnl See doc/relocatable-maint.texi in the gnulib tree for details. +RELOCATABLE_LIBRARY_PATH='$(libdir)' +RELOCATABLE_STRIP=: + PSPP_CHECK_PREREQS -AC_CONFIG_FILES([Makefile gl/Makefile po/Makefile.in]) +AC_CONFIG_FILES([Makefile gl/Makefile tests/atlocal]) AC_OUTPUT echo "PSPP configured successfully."