Code

configure: Disable -Wsign-conversion.
[sysdb.git] / configure.ac
index 5cae366f0e47b6d16ee649b491ae17d34a8e7d2c..de18e156b7f891616c76d24661314cba8ac70e7f 100644 (file)
@@ -94,13 +94,18 @@ 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.])
 
+       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 -pedantic; do
                AC_MSG_CHECKING([whether $CC accepts $flag])
 
@@ -163,11 +168,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 \