diff options
Diffstat (limited to 'm4')
-rw-r--r-- | m4/attribute.m4 | 16 | ||||
-rw-r--r-- | m4/japhar_grep_cflags.m4 | 47 | ||||
-rw-r--r-- | m4/jh_path_xml_catalog.m4 | 4 | ||||
-rw-r--r-- | m4/ld-O1.m4 | 37 | ||||
-rw-r--r-- | m4/ld-as-needed.m4 | 37 | ||||
-rw-r--r-- | m4/ld-no-undefined.m4 | 37 | ||||
-rw-r--r-- | m4/ld-z-now.m4 | 16 | ||||
-rw-r--r-- | m4/libprelude.m4 | 29 | ||||
-rw-r--r-- | m4/warn_lang_flags.m4 | 33 | ||||
-rw-r--r-- | m4/warnings.m4 | 85 |
10 files changed, 211 insertions, 130 deletions
diff --git a/m4/attribute.m4 b/m4/attribute.m4 new file mode 100644 index 00000000..3aa2e5fc --- /dev/null +++ b/m4/attribute.m4 @@ -0,0 +1,16 @@ +#!/usr/bin/m4 +dnl Check for compiler attributes + +AC_DEFUN([PAM_ATTRIBUTE_UNUSED], [ + AC_CACHE_CHECK([for __attribute__((unused))], [pam_cv_attribute_unused], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[int fun(int i __attribute__((unused)));]], + [[return fun(0);]])], + [pam_cv_attribute_unused=yes], + [pam_cv_attribute_unused=no])]) + AS_IF([test "$pam_cv_attribute_unused" = yes], + [unused='__attribute__((unused))'], + [unused=]) + AC_DEFINE_UNQUOTED([UNUSED], [$unused], + [Define if the compiler supports __attribute__((unused))]) +]) diff --git a/m4/japhar_grep_cflags.m4 b/m4/japhar_grep_cflags.m4 deleted file mode 100644 index cf2ea4a5..00000000 --- a/m4/japhar_grep_cflags.m4 +++ /dev/null @@ -1,47 +0,0 @@ -dnl -dnl JAPHAR_GREP_CFLAGS(flag, cmd_if_missing, cmd_if_present) -dnl -dnl From Japhar. Report changes to japhar@hungry.com -dnl -AC_DEFUN([JAPHAR_GREP_CFLAGS], -[case "$CFLAGS" in -"$1" | "$1 "* | *" $1" | *" $1 "* ) - ifelse($#, 3, [$3], [:]) - ;; -*) - $2 - ;; -esac -]) - -dnl -dnl Test for __attribute__ ((unused)) -dnl Based on code from the tcpdump version 3.7.2 source. -dnl - -AC_DEFUN([AC_C___ATTRIBUTE__], [ -AC_MSG_CHECKING(for __attribute__) -AC_CACHE_VAL(ac_cv___attribute__, [ -AC_TRY_COMPILE([ -#include <stdlib.h> -static void foo (void) __attribute__ ((unused)); - -static void -foo (void) -{ - exit(1); -} -], -[ - exit (0); -], -ac_cv___attribute__=yes, -ac_cv___attribute__=no)]) -if test "$ac_cv___attribute__" = "yes"; then - AC_DEFINE(UNUSED, __attribute__ ((unused)), [define if your compiler has __att -ribute__ ((unused))]) -else - AC_DEFINE(UNUSED,,) -fi -AC_MSG_RESULT($ac_cv___attribute__) -]) diff --git a/m4/jh_path_xml_catalog.m4 b/m4/jh_path_xml_catalog.m4 index dd01f165..1f2eff3a 100644 --- a/m4/jh_path_xml_catalog.m4 +++ b/m4/jh_path_xml_catalog.m4 @@ -6,8 +6,8 @@ AC_DEFUN([JH_PATH_XML_CATALOG], [ # check for the presence of the XML catalog AC_ARG_WITH([xml-catalog], - AC_HELP_STRING([--with-xml-catalog=CATALOG], - [path to xml catalog to use]),, + [AS_HELP_STRING([--with-xml-catalog=CATALOG], + [path to xml catalog to use])],, [with_xml_catalog=/etc/xml/catalog]) jh_found_xmlcatalog=true XML_CATALOG_FILE="$with_xml_catalog" diff --git a/m4/ld-O1.m4 b/m4/ld-O1.m4 index f67b959b..64593280 100644 --- a/m4/ld-O1.m4 +++ b/m4/ld-O1.m4 @@ -1,24 +1,15 @@ -# ld-O1.m4 serial 3 +#!/usr/bin/m4 +dnl Check whether ld supports -O1 -# Test if ld supports -O1 - -AC_DEFUN([PAM_LD_O1], - [ - AC_CACHE_CHECK(whether ld supports -O1, - pam_cv_ld_O1, [ dnl - cat > conftest.c <<EOF -int main (void) { return 0; } -EOF - if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -o conftest.o conftest.c - -Wl,-O1 1>&AS_MESSAGE_LOG_FD]) - then - pam_cv_ld_O1=yes - LDFLAGS="$LDFLAGS -Wl,-O1" - else - pam_cv_ld_O1=no - fi - rm -f conftest*]) - AC_SUBST(pam_cv_ld_O1) - ] -) +AC_DEFUN([PAM_LD_O1], [dnl + AC_CACHE_CHECK([whether ld supports -O1], + [pam_cv_ld_O1], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,-O1" + AC_LINK_IFELSE([AC_LANG_PROGRAM(,)], + [pam_cv_ld_O1=yes], + [pam_cv_ld_O1=no]) + LDFLAGS="$saved_LDFLAGS"]) + AS_IF([test $pam_cv_ld_O1 = yes], + [LDFLAGS="$LDFLAGS -Wl,-O1"]) +]) diff --git a/m4/ld-as-needed.m4 b/m4/ld-as-needed.m4 index 5ba6e0f9..d6590192 100644 --- a/m4/ld-as-needed.m4 +++ b/m4/ld-as-needed.m4 @@ -1,24 +1,15 @@ -# ld-as-needed.m4 serial 2 +#!/usr/bin/m4 +dnl Check whether ld supports --as-needed -# Test if ld supports --as-needed - -AC_DEFUN([PAM_LD_AS_NEEDED], - [ - AC_CACHE_CHECK(whether ld supports --as-needed, - pam_cv_ld_as_needed, [ dnl - cat > conftest.c <<EOF -int main (void) { return 0; } -EOF - if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -o conftest.o conftest.c - -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD]) - then - pam_cv_ld_as_needed=yes - LDFLAGS="$LDFLAGS -Wl,--as-needed" - else - pam_cv_ld_as_needed=no - fi - rm -f conftest*]) - AC_SUBST(pam_cv_ld_as_needed) - ] -) +AC_DEFUN([PAM_LD_AS_NEEDED], [dnl + AC_CACHE_CHECK([whether ld supports --as-needed], + [pam_cv_ld_as_needed], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,--as-needed" + AC_LINK_IFELSE([AC_LANG_PROGRAM(,)], + [pam_cv_ld_as_needed=yes], + [pam_cv_ld_as_needed=no]) + LDFLAGS="$saved_LDFLAGS"]) + AS_IF([test $pam_cv_ld_as_needed = yes], + [LDFLAGS="$LDFLAGS -Wl,--as-needed"]) +]) diff --git a/m4/ld-no-undefined.m4 b/m4/ld-no-undefined.m4 index b6db946a..6f342d00 100644 --- a/m4/ld-no-undefined.m4 +++ b/m4/ld-no-undefined.m4 @@ -1,24 +1,15 @@ -# ld-no-undefined.m4 serial 1 +#!/usr/bin/m4 +dnl Check whether ld supports --no-undefined -# Test if ld supports --no-undefined - -AC_DEFUN([PAM_LD_NO_UNDEFINED], - [ - AC_CACHE_CHECK(whether ld supports --no-undefined, - pam_cv_ld_no_undefined, [ dnl - cat > conftest.c <<EOF -int main (void) { return 0; } -EOF - if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -o conftest.o conftest.c - -Wl,--no-undefined 1>&AS_MESSAGE_LOG_FD]) - then - pam_cv_ld_no_undefined=yes - LDFLAGS="$LDFLAGS -Wl,--no-undefined" - else - pam_cv_ld_no_undefined=no - fi - rm -f conftest*]) - AC_SUBST(pam_cv_ld_no_undefined) - ] -) +AC_DEFUN([PAM_LD_NO_UNDEFINED], [dnl + AC_CACHE_CHECK([whether ld supports --no-undefined], + [pam_cv_ld_no_undefined], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,--no-undefined" + AC_LINK_IFELSE([AC_LANG_PROGRAM(,)], + [pam_cv_ld_no_undefined=yes], + [pam_cv_ld_no_undefined=no]) + LDFLAGS="$saved_LDFLAGS"]) + AS_IF([test $pam_cv_ld_no_undefined = yes], + [LDFLAGS="$LDFLAGS -Wl,--no-undefined"]) +]) diff --git a/m4/ld-z-now.m4 b/m4/ld-z-now.m4 new file mode 100644 index 00000000..1bc82594 --- /dev/null +++ b/m4/ld-z-now.m4 @@ -0,0 +1,16 @@ +#!/usr/bin/m4 +dnl Check whether ld supports "-z now" + +AC_DEFUN([PAM_LD_Z_NOW], [dnl + AC_CACHE_CHECK([whether ld supports "-z now"], + [pam_cv_ld_z_now], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,-z,now" + AC_LINK_IFELSE([AC_LANG_PROGRAM(,)], + [pam_cv_ld_z_now=yes], + [pam_cv_ld_z_now=no]) + LDFLAGS="$saved_LDFLAGS"]) + AS_IF([test $pam_cv_ld_z_now = yes], + [ZNOW_LDFLAGS="-Wl,-z,now"], + [ZNOW_LDFLAGS=]) +]) diff --git a/m4/libprelude.m4 b/m4/libprelude.m4 index a9ea404c..d6a1efd9 100644 --- a/m4/libprelude.m4 +++ b/m4/libprelude.m4 @@ -15,8 +15,8 @@ AC_DEFUN([AM_PATH_LIBPRELUDE], [dnl dnl Get the cflags and libraries from the libprelude-config script dnl -AC_ARG_WITH(libprelude-prefix, AC_HELP_STRING(--with-libprelude-prefix=PFX, - Prefix where libprelude is installed (optional)), +AC_ARG_WITH(libprelude-prefix, [AS_HELP_STRING([--with-libprelude-prefix=PFX], + [Prefix where libprelude is installed (optional)])], libprelude_config_prefix="$withval", libprelude_config_prefix="") if test x$libprelude_config_prefix != x ; then @@ -52,7 +52,8 @@ dnl Now check if the installed libprelude is sufficiently new. Also sanity dnl checks the results of libprelude-config to some extent dnl rm -f conf.libpreludetest - AC_TRY_RUN([ + AC_RUN_IFELSE([ + AC_LANG_SOURCE([[ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -106,7 +107,7 @@ main () } return 1; } -],, no_libprelude=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) +]])],[],[no_libprelude=yes],[echo $ac_n "cross compiling; assumed OK... $ac_c"]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" LDFLAGS="$ac_save_LDFLAGS" @@ -122,24 +123,28 @@ main () AC_MSG_RESULT(no) fi if test "$LIBPRELUDE_CONFIG" = "no" ; then - echo "*** The libprelude-config script installed by LIBPRELUDE could not be found" - echo "*** If LIBPRELUDE was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the LIBPRELUDE_CONFIG environment variable to the" - echo "*** full path to libprelude-config." + if test x$libprelude_config_prefix != x ; then + echo "*** The libprelude-config script installed by LIBPRELUDE could not be found" + echo "*** If LIBPRELUDE was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the LIBPRELUDE_CONFIG environment variable to the" + echo "*** full path to libprelude-config." + fi else if test -f conf.libpreludetest ; then : else echo "*** Could not run libprelude test program, checking why..." CFLAGS="$CFLAGS $LIBPRELUDE_CFLAGS" - LDFLAGS="$LDFLAGS $LIBPRELUDE_LDFLAGS" + LDFLAGS="$LDFLAGS $LIBPRELUDE_LDFLAGS" LIBS="$LIBS $LIBPRELUDE_LIBS" - AC_TRY_LINK([ + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([[ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <libprelude/prelude.h> -], [ return !!prelude_check_version(NULL); ], +]], + [[ return !!prelude_check_version(NULL); ]])], [ echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding LIBPRELUDE or finding the wrong" echo "*** version of LIBPRELUDE. If it is not finding LIBPRELUDE, you'll need to set your" @@ -155,7 +160,7 @@ main () echo "*** or that you have moved LIBPRELUDE since it was installed. In the latter case, you" echo "*** may want to edit the libprelude-config script: $LIBPRELUDE_CONFIG" ]) CFLAGS="$ac_save_CFLAGS" - LDFLAGS="$ac_save_LDFLAGS" + LDFLAGS="$ac_save_LDFLAGS" LIBS="$ac_save_LIBS" fi fi diff --git a/m4/warn_lang_flags.m4 b/m4/warn_lang_flags.m4 new file mode 100644 index 00000000..7c4871d6 --- /dev/null +++ b/m4/warn_lang_flags.m4 @@ -0,0 +1,33 @@ +#!/usr/bin/m4 + +AC_DEFUN([pam_WARN_LANG_FLAGS], [dnl +gl_WARN_ADD([-W]) +gl_WARN_ADD([-Wall]) +gl_WARN_ADD([-Wbad-function-cast]) +gl_WARN_ADD([-Wcast-align]) +gl_WARN_ADD([-Wcast-align=strict]) +gl_WARN_ADD([-Wcast-qual]) +gl_WARN_ADD([-Wdeprecated]) +gl_WARN_ADD([-Winline]) +gl_WARN_ADD([-Wmain]) +gl_WARN_ADD([-Wmissing-declarations]) +gl_WARN_ADD([-Wmissing-format-attribute]) +gl_WARN_ADD([-Wmissing-prototypes]) +gl_WARN_ADD([-Wp64]) +gl_WARN_ADD([-Wpointer-arith]) +gl_WARN_ADD([-Wreturn-type]) +gl_WARN_ADD([-Wshadow]) +gl_WARN_ADD([-Wstrict-prototypes]) +gl_WARN_ADD([-Wuninitialized]) +gl_WARN_ADD([-Wwrite-strings]) +AC_ARG_ENABLE([Werror], + [AS_HELP_STRING([--enable-Werror], [turn on -Werror compiler option])], + [case $enableval in + yes) gl_WARN_ADD([-Werror]) ;; + no) ;; + *) AC_MSG_ERROR([bad value $enableval for Werror option]) ;; + esac]) +AS_VAR_PUSHDEF([pam_WARN_FLAGS], [WARN_[]_AC_LANG_PREFIX[]FLAGS])dnl +AC_SUBST(pam_WARN_FLAGS) +AS_VAR_POPDEF([pam_WARN_FLAGS])dnl +]) diff --git a/m4/warnings.m4 b/m4/warnings.m4 new file mode 100644 index 00000000..628627d0 --- /dev/null +++ b/m4/warnings.m4 @@ -0,0 +1,85 @@ +# warnings.m4 serial 11 +# modified for strace project +dnl Copyright (C) 2008-2013 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 From Simon Josefsson + +# gl_AS_VAR_APPEND(VAR, VALUE) +# ---------------------------- +# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it. +m4_ifdef([AS_VAR_APPEND], +[m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])], +[m4_define([gl_AS_VAR_APPEND], +[AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])]) + + +# gl_COMPILER_OPTION_IF(OPTION, [IF-SUPPORTED], [IF-NOT-SUPPORTED], +# [PROGRAM = AC_LANG_PROGRAM()]) +# ----------------------------------------------------------------- +# Check if the compiler supports OPTION when compiling PROGRAM. +# +# FIXME: gl_Warn must be used unquoted until we can assume Autoconf +# 2.64 or newer. +AC_DEFUN([gl_COMPILER_OPTION_IF], +[AS_VAR_PUSHDEF([gl_Flags], _AC_LANG_PREFIX[]FLAGS)dnl +AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]gl_Flags[]_$1])dnl +AS_LITERAL_IF([$1], + [m4_pushdef([gl_Positive], m4_bpatsubst([$1], [^-Wno-], [-W]))], + [gl_positive="$1" +case $gl_positive in + -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;; +esac +m4_pushdef([gl_Positive], [$gl_positive])])dnl +AC_CACHE_CHECK([whether $[]_AC_CC[] handles $1], m4_defn([gl_Warn]), [ + gl_save_compiler_FLAGS="$gl_Flags" + gl_AS_VAR_APPEND(m4_defn([gl_Flags]), + [" $gl_unknown_warnings_are_errors ]m4_defn([gl_Positive])["]) + AC_LINK_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([])])], + [AS_VAR_SET(gl_Warn, [yes])], + [AS_VAR_SET(gl_Warn, [no])]) + gl_Flags="$gl_save_compiler_FLAGS" +]) +AS_VAR_IF(gl_Warn, [yes], [$2], [$3]) +m4_popdef([gl_Positive])dnl +AS_VAR_POPDEF([gl_Flags])dnl +AS_VAR_POPDEF([gl_Warn])dnl +]) + +# gl_UNKNOWN_WARNINGS_ARE_ERRORS +# ------------------------------ +# Clang doesn't complain about unknown warning options unless one also +# specifies -Wunknown-warning-option -Werror. Detect this. +AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS], +[AS_IF([test x${gl_unknown_warnings_are_errors+set} = x], + [gl_COMPILER_OPTION_IF([-Werror -Wunknown-warning-option], + [gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'], + [gl_unknown_warnings_are_errors=]) + ]) +]) + +# gl_WARN_ADD(OPTION, [VARIABLE = WARN_[]_AC_LANG_PREFIX[]FLAGS], +# [PROGRAM = AC_LANG_PROGRAM()]) +# --------------------------------------------- +# Adds parameter to WARN_[]_AC_LANG_PREFIX[]FLAGS if the compiler supports it +# when compiling PROGRAM. For example, gl_WARN_ADD([-Wparentheses]). +# +# If VARIABLE is a variable name, AC_SUBST it. +AC_DEFUN([gl_WARN_ADD], +[AS_VAR_PUSHDEF([gl_WARN_FLAGS], [WARN_[]_AC_LANG_PREFIX[]FLAGS])dnl +gl_UNKNOWN_WARNINGS_ARE_ERRORS +gl_COMPILER_OPTION_IF([$1], + [gl_AS_VAR_APPEND(m4_if([$2], [], [gl_WARN_FLAGS], [[$2]]), [" $1"])], + [], + [$3]) +m4_ifval([$2], + [AS_LITERAL_IF([$2], [AC_SUBST([$2])])], + [AC_SUBST(gl_WARN_FLAGS)])dnl +AS_VAR_POPDEF([gl_WARN_FLAGS])dnl +]) + +# Local Variables: +# mode: autoconf +# End: |