[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PSPP 0.6.1 pre-release
From: |
Ben Pfaff |
Subject: |
Re: PSPP 0.6.1 pre-release |
Date: |
Fri, 03 Oct 2008 21:29:48 -0700 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
John Darrington <address@hidden> writes:
> I suppose we need to update acinclude.m4 so that -fgnu89-inline only
> gets set if the compiler recognises it. If not, then we'll have to
> disable inlining altogether.
In my testing, the following change (pushed to pre-0.6.1) fixed
the problem:
commit c3752b2b7d790e44929972365c37273fefa4970e
Author: Ben Pfaff <address@hidden>
Date: Fri Oct 3 20:59:44 2008 -0700
Only use -fgnu89-inline if the compiler actually supports it.
Jason Stover pointed out that we were using -fgnu89-inline even when the
compiler didn't support it. Obviously that's not good.
diff --git a/acinclude.m4 b/acinclude.m4
index 728359e..75fcb0d 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -70,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],
@@ -82,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
@@ -258,17 +267,19 @@ 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
--
God leaned close as mud as man sat up, looked around, and spoke. Man blinked.
"What is the purpose of all this?" he asked politely. "Everything must have a
purpose?" asked God. "Certainly," said man. "Then I leave it to you to think
of one for all this," said God. And He went away. --Vonnegut, _Cat's Cradle_