Fix missing @clicksequence problem with older Texinfo versions.
[pspp-builds.git] / acinclude.m4
index 10ea269b93eaffee5857c097c4333a190fdc4806..a3275a32afd4be6c3427deee8ef07b29b17258af 100644 (file)
@@ -1,13 +1,15 @@
-dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+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 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"])
@@ -68,10 +70,10 @@ AC_DEFUN([PSPP_LIBPLOT],
   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], 
@@ -80,10 +82,19 @@ AC_DEFUN([PSPP_ENABLE_OPTION],
      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
@@ -223,7 +234,7 @@ 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 >&AS_MESSAGE_LOG_FD'
+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
@@ -232,10 +243,10 @@ AS_IF([_AC_DO_STDERR($pspp_link2) && {
         AS_TEST_X([conftest$ac_exeext])
        }],
       [$3],
-      [AS_ECHO(["$as_me: failed source file 1 of 2 was:"]) >&AS_MESSAGE_LOG_FD
-sed 's/^/| /' conftest1.$ac_ext >&AS_MESSAGE_LOG_FD
-AS_ECHO(["$as_me: failed source file 2 of 2 was:"]) >&AS_MESSAGE_LOG_FD
-sed 's/^/| /' conftest2.$ac_ext >&AS_MESSAGE_LOG_FD
+      [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),
@@ -256,17 +267,41 @@ AC_DEFUN([PSPP_GSL_NEEDS_FGNU89_INLINE],
  # 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
+
+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  <<EOF
+@setfilename conftest.info
+@clicksequence{File @click{} Open}
+EOF
+      echo "configure:__oline__: running $MAKEINFO 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])