From fcd75f46bcbe122b4c1b645d1f3c6075c26b6d65 Mon Sep 17 00:00:00 2001 From: cpickett Date: Fri, 21 Mar 2008 17:54:42 +0000 Subject: [PATCH] * favour ax_c_check_flag over ax_cflags_gcc_option git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@428 64e312b2-a51f-0410-8e61-82d0ca0eb02a --- configure.ac | 16 +- m4/ax_c_check_flag.html | 186 +++++++++++++++++++ m4/ax_c_check_flag.m4 | 90 ++++++++++ m4/ax_cflags_gcc_option.html | 339 ----------------------------------- m4/ax_cflags_gcc_option.m4 | 228 ----------------------- 5 files changed, 284 insertions(+), 575 deletions(-) create mode 100644 m4/ax_c_check_flag.html create mode 100644 m4/ax_c_check_flag.m4 delete mode 100644 m4/ax_cflags_gcc_option.html delete mode 100644 m4/ax_cflags_gcc_option.m4 diff --git a/configure.ac b/configure.ac index a00942f..460bfe4 100644 --- a/configure.ac +++ b/configure.ac @@ -77,14 +77,14 @@ AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_LIBTOOL -# add these options to CFLAGS if gcc supports them -AX_CFLAGS_GCC_OPTION([-Wall]) -AX_CFLAGS_GCC_OPTION([-Wextra]) -# for some reason this option is detected as "obsolete"... -AX_CFLAGS_GCC_OPTION([-Wstrict-prototypes]) -AX_CFLAGS_GCC_OPTION([-Wmissing-prototypes]) -AX_CFLAGS_GCC_OPTION([-Wwrite-strings]) -AX_CFLAGS_GCC_OPTION([-Wno-variadic-macros]) +# add these options to CFLAGS if the compiler supports them +AC_DEFUN([AX_CFLAGS_ADD],[AX_C_CHECK_FLAG($1, , , CFLAGS="$CFLAGS $1")]) +AX_CFLAGS_ADD([-Wall]) +AX_CFLAGS_ADD([-Wextra]) +AX_CFLAGS_ADD([-Wstrict-prototypes]) +AX_CFLAGS_ADD([-Wmissing-prototypes]) +AX_CFLAGS_ADD([-Wwrite-strings]) +AX_CFLAGS_ADD([-Wno-variadic-macros]) AC_CHECK_PROGS(GCOV, gcov, false) AC_CHECK_PROGS(LCOV, lcov, false) diff --git a/m4/ax_c_check_flag.html b/m4/ax_c_check_flag.html new file mode 100644 index 0000000..d2cc50e --- /dev/null +++ b/m4/ax_c_check_flag.html @@ -0,0 +1,186 @@ + + + + + Autoconf Macro: ax_c_check_flag + + + + + + + + + + + + + +
+ Download M4 + Source + + Macro + History + + Category Index + +
+
+ Search: +
+
+
+
+

+ ax_c_check_flag +

+

+ Synopsis +

+

+ AX_C_CHECK_FLAG(FLAG-TO-CHECK,[PROLOGUE],[BODY],[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +

+

+ Description +

+
+

+ This macro tests if the C compiler supports the flag FLAG-TO-CHECK. If + successfull execute ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. PROLOGUE + and BODY are optional and should be used as in AC_LANG_PROGRAM macro. +

+

+ This code is inspired from KDE_CHECK_COMPILER_FLAG macro. Thanks to Bogdan + Drozdowski <bogdandr@op.pl> for testing and bug fixes. +

+
+

+ Author +

+

+ Francesco Salvestrini <salvestrini@users.sourceforge.net> +

+

+ Last Modified +

+

+ 2007-11-26 +

+

+ Cross References +

+

+ group25-xrefs.png + + + + + + + + + +

+

+ M4 Source Code +

+
+
+AC_DEFUN([AX_C_CHECK_FLAG],[
+  AC_PREREQ([2.61])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_PROG_SED])
+
+  flag=`echo "$1" | $SED 'y% .=/+-(){}<>:*,%_______________%'`
+
+  AC_CACHE_CHECK([whether the C compiler accepts the $1 flag],
+    [ax_cv_c_check_flag_$flag],[
+
+    AC_LANG_PUSH([C])
+
+    save_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS $1"
+    AC_COMPILE_IFELSE([
+      AC_LANG_PROGRAM([$2],[$3])
+    ],[
+      eval "ax_cv_c_check_flag_$flag=yes"
+    ],[
+      eval "ax_cv_c_check_flag_$flag=no"
+    ])
+
+    CFLAGS="$save_CFLAGS"
+
+    AC_LANG_POP
+
+  ])
+
+  AS_IF([eval "test \"`echo '$ax_cv_c_check_flag_'$flag`\" = yes"],[
+    :
+    $4
+  ],[
+    :
+    $5
+  ])
+])
+
+
+

+ License +

+
+ Copyright © 2007 Francesco + Salvestrini <salvestrini@users.sourceforge.net> +

+ This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. +

+

+ This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. +

+

+ You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., 59 + Temple Place - Suite 330, Boston, MA 02111-1307, USA. +

+

+ As a special exception, the respective Autoconf Macro's copyright owner + gives unlimited permission to copy, distribute and modify the configure + scripts that are the output of Autoconf when processing the Macro. You need + not follow the terms of the GNU General Public License when using or + distributing such scripts, even though portions of the text of the Macro + appear in them. The GNU General Public License (GPL) does govern all other + use of the material that constitutes the Autoconf Macro. +

+

+ This special exception to the GPL applies to versions of the Autoconf Macro + released by the Autoconf Macro Archive. When you make and distribute a + modified version of the Autoconf Macro, you may extend this special + exception to the GPL to apply to your modified version as well. +

+
+ + diff --git a/m4/ax_c_check_flag.m4 b/m4/ax_c_check_flag.m4 new file mode 100644 index 0000000..49414be --- /dev/null +++ b/m4/ax_c_check_flag.m4 @@ -0,0 +1,90 @@ +##### http://autoconf-archive.cryp.to/ax_c_check_flag.html +# +# SYNOPSIS +# +# AX_C_CHECK_FLAG(FLAG-TO-CHECK,[PROLOGUE],[BODY],[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) +# +# DESCRIPTION +# +# This macro tests if the C compiler supports the flag FLAG-TO-CHECK. +# If successfull execute ACTION-IF-SUCCESS otherwise +# ACTION-IF-FAILURE. PROLOGUE and BODY are optional and should be +# used as in AC_LANG_PROGRAM macro. +# +# This code is inspired from KDE_CHECK_COMPILER_FLAG macro. Thanks to +# Bogdan Drozdowski for testing and bug fixes. +# +# LAST MODIFICATION +# +# 2007-11-26 +# +# COPYLEFT +# +# Copyright (c) 2007 Francesco Salvestrini +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. +# +# As a special exception, the respective Autoconf Macro's copyright +# owner gives unlimited permission to copy, distribute and modify the +# configure scripts that are the output of Autoconf when processing +# the Macro. You need not follow the terms of the GNU General Public +# License when using or distributing such scripts, even though +# portions of the text of the Macro appear in them. The GNU General +# Public License (GPL) does govern all other use of the material that +# constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the +# Autoconf Macro released by the Autoconf Macro Archive. When you +# make and distribute a modified version of the Autoconf Macro, you +# may extend this special exception to the GPL to apply to your +# modified version as well. + +AC_DEFUN([AX_C_CHECK_FLAG],[ + AC_PREREQ([2.61]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_PROG_SED]) + + flag=`echo "$1" | $SED 'y% .=/+-(){}<>:*,%_______________%'` + + AC_CACHE_CHECK([whether the C compiler accepts the $1 flag], + [ax_cv_c_check_flag_$flag],[ + + AC_LANG_PUSH([C]) + + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $1" + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([$2],[$3]) + ],[ + eval "ax_cv_c_check_flag_$flag=yes" + ],[ + eval "ax_cv_c_check_flag_$flag=no" + ]) + + CFLAGS="$save_CFLAGS" + + AC_LANG_POP + + ]) + + AS_IF([eval "test \"`echo '$ax_cv_c_check_flag_'$flag`\" = yes"],[ + : + $4 + ],[ + : + $5 + ]) +]) diff --git a/m4/ax_cflags_gcc_option.html b/m4/ax_cflags_gcc_option.html deleted file mode 100644 index 8534130..0000000 --- a/m4/ax_cflags_gcc_option.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - - Autoconf Macro: ax_cflags_gcc_option - - - - - - - - - - - - - -
- Download M4 - Source - - - Macro History - - Category Index - -
-
- Search: -
-
-
-
-

- ax_cflags_gcc_option -

-

- Synopsis -

-

- AX_CFLAGS_GCC_OPTION (optionflag [,[shellvar][,[A][,[NA]]]) -

-

- Description -

-
-

- AX_CFLAGS_GCC_OPTION(-fvomit-frame) would show a message as like "checking - CFLAGS for gcc -fvomit-frame ... yes" and adds the optionflag to CFLAGS if - it is understood. You can override the shellvar-default of CFLAGS of - course. The order of arguments stems from the explicit macros like AX_CFLAGS_WARN_ALL. -

-

- The cousin AX_CXXFLAGS_GCC_OPTION would check for an option to add to - CXXFLAGS - and it uses the autoconf setup for C++ instead of C (since it is - possible to use different compilers for C and C++). -

-

- The macro is a lot simpler than any special AX_CFLAGS_* macro (or - ac_cxx_rtti.m4 macro) but allows to check for arbitrary options. However, - if you use this macro in a few places, it would be great if you would make - up a new function-macro and submit it to the ac-archive. -

-
-  - $1 option-to-check-for : required ("-option" as non-value)
-  - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case)
-  - $3 action-if-found : add value to shellvariable
-  - $4 action-if-not-found : nothing
-
-

- Note: in earlier versions, $1-$2 were swapped. We try to detect the - situation and accept a $2=~/-/ as being the old option-to-check-for. -

-

- There are other variants that emerged from the original macro variant which - did just test an option to be possibly added. However, some compilers - accept an option silently, or possibly for just another option that was not - intended. Therefore, we have to do a generic test for a compiler family. - For gcc we check "-pedantic" being accepted which is also understood by - compilers who just want to be compatible with gcc even when not being made - from gcc sources. -

-

- See also: AX_CFLAGS_SUN_OPTION, - AX_CFLAGS_HPUX_OPTION, AX_CFLAGS_AIX_OPTION, and AX_CFLAGS_IRIX_OPTION. -

-
-

- Author -

-

- Guido U. Draheim <guidod@gmx.de> -

-

- Last Modified -

-

- 2007-07-27 -

-

- Cross References -

-

- group8-xrefs.png - - - - - - - - - - - -

-

- M4 Source Code -

-
-
-AC_DEFUN([AX_CFLAGS_GCC_OPTION_OLD], [dnl
-AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_option_$2])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)],
-VAR,[VAR="no, unknown"
- AC_LANG_SAVE
- AC_LANG_C
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic -Werror % m4_ifval($2,$2,-option)"  dnl   GCC
-   "-pedantic % m4_ifval($2,$2,-option) %% no, obsolete"  dnl new GCC
-   #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
-   AC_TRY_COMPILE([],[return 0;],
-   [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_RESTORE
-])
-case ".$VAR" in
-     .ok|.ok,*) m4_ifvaln($3,$3) ;;
-   .|.no|.no,*) m4_ifvaln($4,$4) ;;
-   *) m4_ifvaln($3,$3,[
-   if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
-   then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
-   else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
-                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
-   fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-
-dnl the only difference - the LANG selection... and the default FLAGS
-
-AC_DEFUN([AX_CXXFLAGS_GCC_OPTION_OLD], [dnl
-AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc_option_$2])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)],
-VAR,[VAR="no, unknown"
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic -Werror % m4_ifval($2,$2,-option)"  dnl   GCC
-   "-pedantic % m4_ifval($2,$2,-option) %% no, obsolete"  dnl new GCC
-   #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
-   AC_TRY_COMPILE([],[return 0;],
-   [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_RESTORE
-])
-case ".$VAR" in
-     .ok|.ok,*) m4_ifvaln($3,$3) ;;
-   .|.no|.no,*) m4_ifvaln($4,$4) ;;
-   *) m4_ifvaln($3,$3,[
-   if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
-   then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
-   else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
-                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
-   fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-dnl -------------------------------------------------------------------------
-
-AC_DEFUN([AX_CFLAGS_GCC_OPTION_NEW], [dnl
-AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_option_$1])dnl
-AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)],
-VAR,[VAR="no, unknown"
- AC_LANG_SAVE
- AC_LANG_C
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic -Werror % m4_ifval($1,$1,-option)"  dnl   GCC
-   "-pedantic % m4_ifval($1,$1,-option) %% no, obsolete"  dnl new GCC
-   #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
-   AC_TRY_COMPILE([],[return 0;],
-   [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_RESTORE
-])
-case ".$VAR" in
-     .ok|.ok,*) m4_ifvaln($3,$3) ;;
-   .|.no|.no,*) m4_ifvaln($4,$4) ;;
-   *) m4_ifvaln($3,$3,[
-   if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
-   then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR])
-   else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"])
-                      m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"
-   fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-
-dnl the only difference - the LANG selection... and the default FLAGS
-
-AC_DEFUN([AX_CXXFLAGS_GCC_OPTION_NEW], [dnl
-AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc_option_$1])dnl
-AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)],
-VAR,[VAR="no, unknown"
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic -Werror % m4_ifval($1,$1,-option)"  dnl   GCC
-   "-pedantic % m4_ifval($1,$1,-option) %% no, obsolete"  dnl new GCC
-   #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
-   AC_TRY_COMPILE([],[return 0;],
-   [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_RESTORE
-])
-case ".$VAR" in
-     .ok|.ok,*) m4_ifvaln($3,$3) ;;
-   .|.no|.no,*) m4_ifvaln($4,$4) ;;
-   *) m4_ifvaln($3,$3,[
-   if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
-   then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR])
-   else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"])
-                      m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"
-   fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-AC_DEFUN([AX_CFLAGS_GCC_OPTION],[ifelse(m4_bregexp([$2],[-]),-1,
-[AX_CFLAGS_GCC_OPTION_NEW($@)],[AX_CFLAGS_GCC_OPTION_OLD($@)])])
-
-AC_DEFUN([AX_CXXFLAGS_GCC_OPTION],[ifelse(m4_bregexp([$2],[-]),-1,
-[AX_CXXFLAGS_GCC_OPTION_NEW($@)],[AX_CXXFLAGS_GCC_OPTION_OLD($@)])])
-
-
-

- License -

-
- Copyright © 2007 Guido U. Draheim - <guidod@gmx.de> -

- This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your option) - any later version. -

-

- This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. -

-

- You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., 59 - Temple Place - Suite 330, Boston, MA 02111-1307, USA. -

-

- As a special exception, the respective Autoconf Macro's copyright owner - gives unlimited permission to copy, distribute and modify the configure - scripts that are the output of Autoconf when processing the Macro. You need - not follow the terms of the GNU General Public License when using or - distributing such scripts, even though portions of the text of the Macro - appear in them. The GNU General Public License (GPL) does govern all other - use of the material that constitutes the Autoconf Macro. -

-

- This special exception to the GPL applies to versions of the Autoconf Macro - released by the Autoconf Macro Archive. When you make and distribute a - modified version of the Autoconf Macro, you may extend this special - exception to the GPL to apply to your modified version as well. -

-
- - diff --git a/m4/ax_cflags_gcc_option.m4 b/m4/ax_cflags_gcc_option.m4 deleted file mode 100644 index 3558c15..0000000 --- a/m4/ax_cflags_gcc_option.m4 +++ /dev/null @@ -1,228 +0,0 @@ -##### http://autoconf-archive.cryp.to/ax_cflags_gcc_option.html -# -# SYNOPSIS -# -# AX_CFLAGS_GCC_OPTION (optionflag [,[shellvar][,[A][,[NA]]]) -# -# DESCRIPTION -# -# AX_CFLAGS_GCC_OPTION(-fvomit-frame) would show a message as like -# "checking CFLAGS for gcc -fvomit-frame ... yes" and adds the -# optionflag to CFLAGS if it is understood. You can override the -# shellvar-default of CFLAGS of course. The order of arguments stems -# from the explicit macros like AX_CFLAGS_WARN_ALL. -# -# The cousin AX_CXXFLAGS_GCC_OPTION would check for an option to add -# to CXXFLAGS - and it uses the autoconf setup for C++ instead of C -# (since it is possible to use different compilers for C and C++). -# -# The macro is a lot simpler than any special AX_CFLAGS_* macro (or -# ac_cxx_rtti.m4 macro) but allows to check for arbitrary options. -# However, if you use this macro in a few places, it would be great -# if you would make up a new function-macro and submit it to the -# ac-archive. -# -# - $1 option-to-check-for : required ("-option" as non-value) -# - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case) -# - $3 action-if-found : add value to shellvariable -# - $4 action-if-not-found : nothing -# -# Note: in earlier versions, $1-$2 were swapped. We try to detect the -# situation and accept a $2=~/-/ as being the old -# option-to-check-for. -# -# There are other variants that emerged from the original macro -# variant which did just test an option to be possibly added. -# However, some compilers accept an option silently, or possibly for -# just another option that was not intended. Therefore, we have to do -# a generic test for a compiler family. For gcc we check "-pedantic" -# being accepted which is also understood by compilers who just want -# to be compatible with gcc even when not being made from gcc -# sources. -# -# See also: AX_CFLAGS_SUN_OPTION, AX_CFLAGS_HPUX_OPTION, -# AX_CFLAGS_AIX_OPTION, and AX_CFLAGS_IRIX_OPTION. -# -# LAST MODIFICATION -# -# 2007-07-27 -# -# COPYLEFT -# -# Copyright (c) 2007 Guido U. Draheim -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. -# -# As a special exception, the respective Autoconf Macro's copyright -# owner gives unlimited permission to copy, distribute and modify the -# configure scripts that are the output of Autoconf when processing -# the Macro. You need not follow the terms of the GNU General Public -# License when using or distributing such scripts, even though -# portions of the text of the Macro appear in them. The GNU General -# Public License (GPL) does govern all other use of the material that -# constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the -# Autoconf Macro released by the Autoconf Macro Archive. When you -# make and distribute a modified version of the Autoconf Macro, you -# may extend this special exception to the GPL to apply to your -# modified version as well. - -AC_DEFUN([AX_CFLAGS_GCC_OPTION_OLD], [dnl -AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_option_$2])dnl -AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)], -VAR,[VAR="no, unknown" - AC_LANG_SAVE - AC_LANG_C - ac_save_[]FLAGS="$[]FLAGS" -for ac_arg dnl -in "-pedantic -Werror % m4_ifval($2,$2,-option)" dnl GCC - "-pedantic % m4_ifval($2,$2,-option) %% no, obsolete" dnl new GCC - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_TRY_COMPILE([],[return 0;], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) -done - FLAGS="$ac_save_[]FLAGS" - AC_LANG_RESTORE -]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_ifvaln($4,$4) ;; - *) m4_ifvaln($3,$3,[ - if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null - then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) - else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" - fi ]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -AS_VAR_POPDEF([FLAGS])dnl -]) - - -dnl the only difference - the LANG selection... and the default FLAGS - -AC_DEFUN([AX_CXXFLAGS_GCC_OPTION_OLD], [dnl -AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc_option_$2])dnl -AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)], -VAR,[VAR="no, unknown" - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_[]FLAGS="$[]FLAGS" -for ac_arg dnl -in "-pedantic -Werror % m4_ifval($2,$2,-option)" dnl GCC - "-pedantic % m4_ifval($2,$2,-option) %% no, obsolete" dnl new GCC - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_TRY_COMPILE([],[return 0;], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) -done - FLAGS="$ac_save_[]FLAGS" - AC_LANG_RESTORE -]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_ifvaln($4,$4) ;; - *) m4_ifvaln($3,$3,[ - if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null - then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR]) - else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"]) - m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR" - fi ]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -AS_VAR_POPDEF([FLAGS])dnl -]) - -dnl ------------------------------------------------------------------------- - -AC_DEFUN([AX_CFLAGS_GCC_OPTION_NEW], [dnl -AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_option_$1])dnl -AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)], -VAR,[VAR="no, unknown" - AC_LANG_SAVE - AC_LANG_C - ac_save_[]FLAGS="$[]FLAGS" -for ac_arg dnl -in "-pedantic -Werror % m4_ifval($1,$1,-option)" dnl GCC - "-pedantic % m4_ifval($1,$1,-option) %% no, obsolete" dnl new GCC - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_TRY_COMPILE([],[return 0;], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) -done - FLAGS="$ac_save_[]FLAGS" - AC_LANG_RESTORE -]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_ifvaln($4,$4) ;; - *) m4_ifvaln($3,$3,[ - if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null - then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR]) - else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"]) - m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR" - fi ]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -AS_VAR_POPDEF([FLAGS])dnl -]) - - -dnl the only difference - the LANG selection... and the default FLAGS - -AC_DEFUN([AX_CXXFLAGS_GCC_OPTION_NEW], [dnl -AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl -AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc_option_$1])dnl -AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)], -VAR,[VAR="no, unknown" - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_[]FLAGS="$[]FLAGS" -for ac_arg dnl -in "-pedantic -Werror % m4_ifval($1,$1,-option)" dnl GCC - "-pedantic % m4_ifval($1,$1,-option) %% no, obsolete" dnl new GCC - # -do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` - AC_TRY_COMPILE([],[return 0;], - [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) -done - FLAGS="$ac_save_[]FLAGS" - AC_LANG_RESTORE -]) -case ".$VAR" in - .ok|.ok,*) m4_ifvaln($3,$3) ;; - .|.no|.no,*) m4_ifvaln($4,$4) ;; - *) m4_ifvaln($3,$3,[ - if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null - then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR]) - else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"]) - m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR" - fi ]) ;; -esac -AS_VAR_POPDEF([VAR])dnl -AS_VAR_POPDEF([FLAGS])dnl -]) - -AC_DEFUN([AX_CFLAGS_GCC_OPTION],[ifelse(m4_bregexp([$2],[-]),-1, -[AX_CFLAGS_GCC_OPTION_NEW($@)],[AX_CFLAGS_GCC_OPTION_OLD($@)])]) - -AC_DEFUN([AX_CXXFLAGS_GCC_OPTION],[ifelse(m4_bregexp([$2],[-]),-1, -[AX_CXXFLAGS_GCC_OPTION_NEW($@)],[AX_CXXFLAGS_GCC_OPTION_OLD($@)])]) -- 2.40.0