X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=configure.ac;h=420021f628ab81d61a4e898fe1acdc6c3d173f2a;hp=5cae366f0e47b6d16ee649b491ae17d34a8e7d2c;hb=982bbbce08caed783b941ad8141596caf01079c6;hpb=c3cfa4bb8d3c986b4c6744d73defa8eba08fcb72 diff --git a/configure.ac b/configure.ac index 5cae366..420021f 100644 --- a/configure.ac +++ b/configure.ac @@ -79,6 +79,8 @@ test_cc_flags() { return $ret } +STRICT_CFLAGS="" + m4_divert_once([HELP_ENABLE], [ Build options:]) @@ -94,18 +96,23 @@ if test "x$enable_standards" = "xyes"; then [Define to enforce ISO/IEC 9899:1999 (C99) compliance.]) AC_DEFINE([_POSIX_C_SOURCE], 200112L, [Define to enforce IEEE 1003.1-2001 (POSIX:2001) compliance.]) - AC_DEFINE([_XOPEN_SOURCE], 600, - [Define to enforce X/Open 6 (XSI) compliance.]) + AC_DEFINE([_XOPEN_SOURCE], 700, + [Define to enforce X/Open 7 (XSI) compliance.]) AC_DEFINE([_REENTRANT], 1, [Define to enable reentrant interfaces.]) AC_DEFINE([_THREAD_SAFE], 1, [Define to enable reentrant interfaces.]) - for flag in -std=c99 -pedantic; do + dnl GNU libc defines strcasecmp() only when using _BSD_SOURCE even though + dnl the function is conforming to POSIX.1-2001 as well. Let's weaken + dnl strict standards compliance a bit to work around this. + AC_DEFINE([_BSD_SOURCE], 1, [Define to enable 4.3BSD support.]) + + for flag in -std=c99; do AC_MSG_CHECKING([whether $CC accepts $flag]) if test_cc_flags $flag; then - CFLAGS="$CFLAGS $flag" + STRICT_CFLAGS="$STRICT_CFLAGS $flag" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) @@ -130,7 +137,7 @@ if test "x$enable_hardening" = "xyes"; then AC_MSG_CHECKING([whether $CC accepts $flag]) if test_cc_flags $flag; then - CFLAGS="$CFLAGS $flag" + STRICT_CFLAGS="$STRICT_CFLAGS $flag" hardening=$(($hardening + 1)) AC_MSG_RESULT([yes]) else @@ -150,7 +157,6 @@ AC_ARG_ENABLE([strict-checks], [enable_strict_checks="$enableval"], [enable_strict_checks="yes"]) -STRICT_CFLAGS="" for flag in -Wall -Werror; do AC_MSG_CHECKING([whether $CC accepts $flag]) @@ -163,11 +169,13 @@ for flag in -Wall -Werror; do done if test "x$enable_strict_checks" = "xyes"; then + dnl -Wsign-conversion may cause problems in expanded macros from libc for flag in -Wextra \ -Wbad-function-cast \ -Wcast-align \ -Wcast-qual \ -Wconversion \ + -Wno-sign-conversion \ -Wdeclaration-after-statement \ -Wmissing-prototypes \ -Wpointer-arith \