X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp-builds.git;a=blobdiff_plain;f=acinclude.m4;h=a3275a32afd4be6c3427deee8ef07b29b17258af;hp=5f811319e87dbe1d87aa5c64671b4b260c79bb41;hb=HEAD;hpb=4944c86a9318bc5b5578ab145a95c116ffd2c9fd diff --git a/acinclude.m4 b/acinclude.m4 index 5f811319..a3275a32 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,433 +1,307 @@ -dnl --------------------------------------------------------- ## -dnl The following definitions are from gettext-0.10.27. ## -dnl --------------------------------------------------------- ## - -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. - -# serial 2 - -AC_DEFUN(AM_WITH_NLS, - [AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) - - USE_INCLUDED_LIBINTL=no +dnl Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Prerequisites. + +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"]) +AC_DEFUN([PSPP_CHECK_PREREQS], +[ + if test "$pspp_optional_prereqs" != ""; then + AC_MSG_WARN([The following optional prerequisites are not installed. +You may wish to install them to obtain additional functionality:$pspp_optional_prereqs]) +fi + if test "$pspp_required_prereqs" != ""; then + AC_MSG_ERROR([The following required prerequisites are not installed. +You must install them before PSPP can be built:$pspp_required_prereqs]) +fi +]) + - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - AC_DEFINE(ENABLE_NLS) - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH(included-gettext, - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) +dnl Check that a new enough version of Perl is available. +AC_DEFUN([PSPP_PERL], +[ + AC_PATH_PROG([PERL], perl, no) + AC_SUBST([PERL])dnl + if test "$PERL" != no && $PERL -e 'require 5.005_03;'; then :; else + PSPP_REQUIRED_PREREQ([Perl 5.005_03 (or later)]) + fi +]) - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If gettext or catgets are available (in this order) we - dnl use this. Else we have to fall back to GNU NLS library. - dnl catgets is only used if permitted by option --with-catgets. - nls_cv_header_intl= - nls_cv_header_libgt= - CATOBJEXT=NONE +dnl Check that libplot is available. +AC_DEFUN([PSPP_LIBPLOT], +[ + AC_ARG_WITH( + libplot, + [AS_HELP_STRING([--without-libplot], + [don't compile in support of charts (using libplot)])]) + + if test x"$with_libplot" != x"no" ; then + # Check whether we can link against libplot without any extra libraries. + AC_CHECK_LIB(plot, pl_newpl_r, [LIBPLOT_LIBS="-lplot"]) + + # Check whether we can link against libplot if we also link X. + if test x"$LIBPLOT_LIBS" = x""; then + AC_PATH_XTRA + extra_libs="-lXaw -lXmu -lXt $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS -lm" + AC_CHECK_LIB(plot, pl_newpl_r, + [LIBPLOT_LIBS="-lplot $extra_libs" + LDFLAGS="$LDFLAGS $X_LIBS"],, + [$extra_libs]) + fi - AC_CHECK_HEADER(libintl.h, - [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc, - [AC_TRY_LINK([#include ], [return (int) gettext ("")], - gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)]) + # Still can't link? + if test x"$LIBPLOT_LIBS" = x""; then + PSPP_REQUIRED_PREREQ([libplot (or use --without-libplot)]) + fi - if test "$gt_cv_func_gettext_libc" != "yes"; then - AC_CHECK_LIB(intl, bindtextdomain, - [AC_CACHE_CHECK([for gettext in libintl], - gt_cv_func_gettext_libintl, - [AC_TRY_LINK([], [return (int) gettext ("")], - gt_cv_func_gettext_libintl=yes, - gt_cv_func_gettext_libintl=no)])]) - fi + # Set up to make everything work. + LIBS="$LIBPLOT_LIBS $LIBS" + AC_DEFINE(HAVE_LIBPLOT, 1, + [Define to 1 if you have the `libplot' library (-lplot).]) + fi +]) - if test "$gt_cv_func_gettext_libc" = "yes" \ - || test "$gt_cv_func_gettext_libintl" = "yes"; then - AC_DEFINE(HAVE_GETTEXT) - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl - if test "$MSGFMT" != "no"; then - AC_CHECK_FUNCS(dcgettext) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; - return _nl_msg_cat_cntr], - [CATOBJEXT=.gmo - DATADIRNAME=share], - [CATOBJEXT=.mo - DATADIRNAME=lib]) - INSTOBJEXT=.mo - fi - fi - ]) +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], + [pspp_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $1" + 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 + m4_if([$2], [], [;], [$2]) + else + m4_if([$3], [], [:], [$3]) + fi +]) - if test "$CATOBJEXT" = "NONE"; then - AC_MSG_CHECKING([whether catgets can be used]) - AC_ARG_WITH(catgets, - [ --with-catgets use catgets functions if available], - nls_cv_use_catgets=$withval, nls_cv_use_catgets=no) - AC_MSG_RESULT($nls_cv_use_catgets) +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"])]) - if test "$nls_cv_use_catgets" = "yes"; then - dnl No gettext in C library. Try catgets next. - AC_CHECK_LIB(i, main) - AC_CHECK_FUNC(catgets, - [AC_DEFINE(HAVE_CATGETS) - INTLOBJS="\$(CATOBJS)" - AC_PATH_PROG(GENCAT, gencat, no)dnl - if test "$GENCAT" != "no"; then - AC_PATH_PROG(GMSGFMT, gmsgfmt, no) - if test "$GMSGFMT" = "no"; then - AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no) - fi - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.cat - INSTOBJEXT=.cat - DATADIRNAME=lib - INTLDEPS="../intl/libintl.a" - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi]) - fi - fi +dnl Check for readline and history libraries. - if test "$CATOBJEXT" = "NONE"; then - dnl Neither gettext nor catgets in included in the C library. - dnl Fall back on GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi +dnl Modified for PSPP, based on readline.m4 serial 3 from +dnl gnulib, which was written by Simon Josefsson, with help from Bruno +dnl Haible and Oskar Liljeblad. - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - INTLOBJS="\$(GETTOBJS)" - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_SUBST(MSGFMT) - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INSTOBJEXT=.mo - DATADIRNAME=share - INTLDEPS="../intl/libintl.a" - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h +AC_DEFUN([PSPP_READLINE], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libreadline and define LIBREADLINE, LTLIBREADLINE and + dnl INCREADLINE accordingly. + AC_LIB_LINKFLAGS_BODY([readline]) + AC_LIB_LINKFLAGS_BODY([history]) + + dnl Add $INCREADLINE to CPPFLAGS before performing the following checks, + dnl because if the user has installed libreadline and not disabled its use + dnl via --without-libreadline-prefix, he wants to use it. The AC_LINK_IFELSE + dnl will then succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCREADLINE $INCHISTORY]) + + AC_CACHE_CHECK(for readline, gl_cv_lib_readline, [ + gl_cv_lib_readline=no + am_save_LIBS="$LIBS" + dnl On some systems, -lreadline doesn't link without an additional + dnl -lncurses or -ltermcap. + dnl Try -lncurses before -ltermcap, because libtermcap is unsecure + dnl by design and obsolete since 1994. Try -lcurses last, because + dnl libcurses is unusable on some old Unices. + for extra_lib in "" ncurses termcap curses; do + LIBS="$am_save_LIBS $LIBREADLINE $LIBHISTORY" + if test -n "$extra_lib"; then + LIBS="$LIBS -l$extra_lib" fi - - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - AC_MSG_RESULT( - [found xgettext programs is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +#include +#include ]], [[readline((char*)0); add_history((char*)0);]])],[gl_cv_lib_readline=yes],[]) + if test "$gl_cv_lib_readline" = yes; then + if test -n "$extra_lib"; then + LIBREADLINE="$LIBREADLINE $LIBHISTORY -l$extra_lib" + LTLIBREADLINE="$LTLIBREADLINE $LTLIBHISTORY -l$extra_lib" + fi + break fi - - # We need to process the po/ directory. - POSUB=po - else - DATADIRNAME=share - nls_cv_header_intl=intl/libintl.h - nls_cv_header_libgt=intl/libgettext.h - fi - - # If this is used in GNU gettext we have to set USE_NLS to `yes' - # because some of the sources are only built for this goal. - if test "$PACKAGE" = gettext; then - USE_NLS=yes - USE_INCLUDED_LIBINTL=yes - fi - - dnl These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" done - - dnl Make all variables we use known to autoconf. - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATALOGS) - AC_SUBST(CATOBJEXT) - AC_SUBST(DATADIRNAME) - AC_SUBST(GMOFILES) - AC_SUBST(INSTOBJEXT) - AC_SUBST(INTLDEPS) - AC_SUBST(INTLLIBS) - AC_SUBST(INTLOBJS) - AC_SUBST(POFILES) - AC_SUBST(POSUB) + LIBS="$am_save_LIBS" ]) -AC_DEFUN(AM_GNU_GETTEXT, - [AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_ISC_POSIX])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - AC_REQUIRE([AC_C_CONST])dnl - AC_REQUIRE([AC_C_INLINE])dnl - AC_REQUIRE([AC_TYPE_OFF_T])dnl - AC_REQUIRE([AC_TYPE_SIZE_T])dnl - AC_REQUIRE([AC_FUNC_ALLOCA])dnl - AC_REQUIRE([AC_FUNC_MMAP])dnl - - AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \ -unistd.h values.h]) - AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next]) - - if test "${ac_cv_func_stpcpy+set}" != "set"; then - AC_CHECK_FUNCS(stpcpy) - fi - if test "${ac_cv_func_stpcpy}" = "yes"; then - AC_DEFINE(HAVE_STPCPY) - fi - - AM_LC_MESSAGES - AM_WITH_NLS - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - fi - - dnl Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - dnl Determine which catalog format we have (if any is needed) - dnl For now we know about two different formats: - dnl Linux libc-5 and the normal X/Open format - test -d intl || mkdir intl - if test "$CATOBJEXT" = ".cat"; then - AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen) - - dnl Transform the SED scripts while copying because some dumb SEDs - dnl cannot handle comments. - sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed - fi - dnl po2tbl.sed is always needed. - sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ - $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed - - dnl In the intl/Makefile.in we have a special dependency which makes - dnl only sense for gettext. We comment this out for non-gettext - dnl packages. - if test "$PACKAGE" = "gettext"; then - GT_NO="#NO#" - GT_YES= - else - GT_NO= - GT_YES="#YES#" - fi - AC_SUBST(GT_NO) - AC_SUBST(GT_YES) - - dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly - dnl find the mkinstalldirs script in another subdir but ($top_srcdir). - dnl Try to locate is. - MKINSTALLDIRS= - if test $ac_aux_dir; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z $MKINSTALLDIRS; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - AC_SUBST(MKINSTALLDIRS) - - dnl Configure the intl/Makefile for shared libs. - if test "${enable_shared+set}" = set; then - l=l - else - l= - fi - AC_SUBST(l) - - dnl Generate list of files to be processed by xgettext which will - dnl be included in po/Makefile. - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - ]) - -# Search path for a program which passes the given test. -# Ulrich Drepper , 1996. - -# serial 1 - -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN(AM_PATH_PROG_WITH_TEST, -[# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL(ac_cv_path_$1, -[case "[$]$1" in - /*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test -n "[$]$1"; then - AC_MSG_RESULT([$]$1) -else - AC_MSG_RESULT(no) -fi -AC_SUBST($1)dnl + if test "$gl_cv_lib_readline" = yes; then + AC_DEFINE(HAVE_READLINE, 1, [Define if you have the readline library.]) + AC_MSG_CHECKING([how to link with libreadline]) + AC_MSG_RESULT([$LIBREADLINE]) + else + dnl If $LIBREADLINE didn't lead to a usable library, we don't + dnl need $INCREADLINE either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBREADLINE= + LTLIBREADLINE= + LIBHISTORY= + LTLIBHISTORY= + PSPP_OPTIONAL_PREREQ([libreadline (which may itself require libncurses or libtermcap)]) + fi + AC_SUBST(LIBREADLINE) + AC_SUBST(LTLIBREADLINE) ]) -# Check whether LC_MESSAGES is available in . -# Ulrich Drepper , 1995. - -# serial 1 +dnl Check for build tools. Adapted from bfd library. -AC_DEFUN(AM_LC_MESSAGES, - [if test $ac_cv_header_locale_h = yes; then - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include ], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES) - fi - fi]) - -dnl Check longest integer in digits. - -AC_DEFUN([BLP_INT_DIGITS], -[ -AC_MSG_CHECKING(number of digits in LONG_MIN (incl. sign)) -AC_CACHE_VAL(blp_int_digits, - [AC_TRY_RUN([#include - #include - int - main() - { - int len; - char s[80]; - sprintf(s, "%ld", LONG_MAX); - len = strlen(s); - sprintf(s, "%ld", LONG_MIN); - if(strlen(s)>len) len=strlen(s); - sprintf(s, "%lu", ULONG_MAX); - if(strlen(s)>len) len=strlen(s); - exit(len); - } - ], - eval "blp_int_digits=19", - eval "blp_int_digits=$?" - if test "$blp_int_digits" -lt 11; then - blp_int_digits=11 - fi, - eval "blp_int_digits=19") - ]) -AC_DEFINE_UNQUOTED(INT_DIGITS, $blp_int_digits) -AC_MSG_RESULT($blp_int_digits) -])dnl - -dnl Check quality of this machine's sprintf implementation. - -AC_DEFUN([BLP_IS_SPRINTF_GOOD], -[ -AC_MSG_CHECKING(if sprintf returns a char count) -AC_CACHE_VAL(blp_is_sprintf_good, - [AC_TRY_RUN([#include - int - main() - { - char s[8]; - exit((int)sprintf(s, "abcdefg")!=7); - } - ], - eval "blp_is_sprintf_good=yes", - eval "blp_is_sprintf_good=no", - eval "blp_is_sprintf_good=no") - ]) -if test "$blp_is_sprintf_good" = yes; then - AC_DEFINE(HAVE_GOOD_SPRINTF) - AC_MSG_RESULT(yes) +AC_DEFUN([PSPP_CC_FOR_BUILD], +[# Put a plausible default for CC_FOR_BUILD in Makefile. +if test -z "$CC_FOR_BUILD"; then + if test "x$cross_compiling" = "xno"; then + CC_FOR_BUILD='$(CC)' + else + CC_FOR_BUILD=cc + fi +fi +AC_SUBST(CC_FOR_BUILD) +# Also set EXEEXT_FOR_BUILD. +if test "x$cross_compiling" = "xno"; then + EXEEXT_FOR_BUILD='$(EXEEXT)' else - AC_MSG_RESULT(no) + AC_CACHE_CHECK([for build system executable suffix], pspp_cv_build_exeext, + [rm -f conftest* + echo 'int main () { return 0; }' > conftest.c + pspp_cv_build_exeext= + ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5 + for file in conftest.*; do + case $file in # ( + *.c | *.o | *.obj | *.ilk | *.pdb) ;; # ( + *) pspp_cv_build_exeext=`echo $file | sed -e s/conftest//` ;; + esac + done + rm -f conftest* + test x"${pspp_cv_build_exeext}" = x && pspp_cv_build_exeext=no]) + EXEEXT_FOR_BUILD="" + test x"${pspp_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${pspp_cv_build_exeex +t} fi -])dnl +AC_SUBST(EXEEXT_FOR_BUILD)]) + +dnl Check for LC_PAPER, _NL_PAPER_WIDTH, _NL_PAPER_HEIGHT. +AC_DEFUN([PSPP_LC_PAPER], +[AC_CACHE_CHECK(for LC_PAPER, pspp_cv_lc_paper, [ + pspp_cv_lc_paper=no + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [#include +#include +], + [(void) LC_PAPER; (void) _NL_PAPER_WIDTH; (void) _NL_PAPER_HEIGHT])], + [pspp_cv_lc_paper=yes]) + ]) + if test "$pspp_cv_lc_paper" = yes; then + AC_DEFINE(HAVE_LC_PAPER, 1, [Define if you have LC_PAPER.]) + fi +]) -dnl Check for proper random number generator. -AC_DEFUN([BLP_RANDOM], -[ -AC_MSG_CHECKING(random number generator) -AC_CACHE_VAL(blp_random_good, - AC_TRY_COMPILE([#include ], [int x=RAND_MAX;], - blp_random_good=yes, blp_random_good=no)) -if test "$blp_random_good" = yes; then - AC_DEFINE(HAVE_GOOD_RANDOM) - AC_MSG_RESULT(good) -else - AC_MSG_RESULT(bad) -fi -])dnl +# PSPP_LINK2_IFELSE(SOURCE1, SOURCE2, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# ------------------------------------------------------------- +# Based on AC_LINK_IFELSE, but tries to link both SOURCE1 and SOURCE2 +# into a program. +# +# Test that resulting file is executable; see the problem reported by mwoehlke +# in . +# But skip the test when cross-compiling, to prevent problems like the one +# reported by Chris Johns in +# . +# +m4_define([PSPP_LINK2_IFELSE], +[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl +mv conftest.$ac_ext conftest1.$ac_ext +m4_ifvaln([$2], [AC_LANG_CONFTEST([$2])])dnl +mv conftest.$ac_ext conftest2.$ac_ext +rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext +pspp_link2='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest1.$ac_ext conftest2.$ac_ext $LIBS >&5' +AS_IF([_AC_DO_STDERR($pspp_link2) && { + test -z "$ac_[]_AC_LANG_ABBREV[]_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + AS_TEST_X([conftest$ac_exeext]) + }], + [$3], + [echo "$as_me: failed source file 1 of 2 was:" >&5 +sed 's/^/| /' conftest1.$ac_ext >&5 +echo "$as_me: failed source file 2 of 2 was:" >&5 +sed 's/^/| /' conftest2.$ac_ext >&5 + $4]) +dnl Delete also the IPA/IPO (Inter Procedural Analysis/Optimization) +dnl information created by the PGI compiler (conftest_ipa8_conftest.oo), +dnl as it would interfere with the next link command. +rm -rf conftest.dSYM conftest1.dSYM conftest2.dSYM +rm -f core conftest.err conftest1.err conftest2.err +rm -f conftest1.$ac_objext conftest2.$ac_objext conftest*_ipa8_conftest*.oo +rm -f conftest$ac_exeext +rm -f m4_ifval([$1], [conftest1.$ac_ext]) m4_ifval([$2], [conftest1.$ac_ext])[]dnl +])# PSPP_LINK2_IFELSE + +# GSL uses "extern inline" without determining whether the compiler uses +# GCC inline rules or C99 inline rules. If it uses the latter then GSL +# will be broken without passing -fgnu89-inline to GCC. +AC_DEFUN([PSPP_GSL_NEEDS_FGNU89_INLINE], +[# GSL only uses "inline" at all if HAVE_INLINE is defined as a macro. + # In turn, gnulib's gl_INLINE is one macro that does that. We need to + # make sure that it has run by the time we run this test, otherwise we'll + # get a false result. + AC_REQUIRE([gl_INLINE]) + 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_MAX_INT(1,2);])], + [AC_LANG_SOURCE([#include + 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 aclocal.m4 ends here +AC_DEFUN([PSPP_CHECK_CLICKSEQUENCE], + [AC_REQUIRE([AM_INIT_AUTOMAKE]) # Defines MAKEINFO + AC_CACHE_CHECK([whether makeinfo supports @clicksequence], + [pspp_cv_have_clicksequence], + [cat > conftest.texi <&AS_MESSAGE_LOG_FD" >&AS_MESSAGE_LOG_FD + eval "$MAKEINFO conftest.texi >&AS_MESSAGE_LOG_FD 2>&1" + retval=$? + echo "configure:__oline__: \$? = $retval" >&AS_MESSAGE_LOG_FD + if test $retval = 0; then + pspp_cv_have_clicksequence=yes + else + pspp_cv_have_clicksequence=no + fi + rm -f conftest.texi conftest.info]) + if test $pspp_cv_have_clicksequence = no; then + AM_MAKEINFOFLAGS="$AM_MAKEINFOFLAGS -DMISSING_CLICKSEQUENCE" + AC_SUBST([AM_MAKEINFOFLAGS]) + fi])