From c3752b2b7d790e44929972365c37273fefa4970e Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Fri, 3 Oct 2008 20:59:44 -0700 Subject: [PATCH] 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. --- acinclude.m4 | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 728359ec..75fcb0d0 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_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 + 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 acinclude.m4 ends here -- 2.30.2