Code

doc: Use asciidoc instead of a2x and added asciidoc.conf.
[sysdb.git] / configure.ac
index 5cae366f0e47b6d16ee649b491ae17d34a8e7d2c..849223c82e4e4622b2dccf727d6c86038c7a27d6 100644 (file)
@@ -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 \
@@ -245,7 +253,7 @@ Build dependencies:])
 
 dnl Testing.
 PKG_CHECK_MODULES([CHECK], [check >= 0.9.4],
-               [build_testing="yes"], [build_testing="no"])
+               [unit_tests="yes"], [unit_tests="no"])
 
 AC_CHECK_HEADERS(libgen.h)
 
@@ -372,21 +380,22 @@ if test "x$XMLTO" = "x"; then
        have_xmlto="no"
        build_documentation="no (missing xmlto)"
 fi
+AC_SUBST([XMLTO])
 
-have_xsltproc="yes"
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-if test "x$XSLTPROC" = "x"; then
-       have_xsltproc="no"
-       build_documentation="no (missing xsltproc)"
+have_asciidoc="yes"
+AC_PATH_PROG([ASCIIDOC], [asciidoc])
+if test "x$ASCIIDOC" = "x"; then
+       have_asciidoc="no"
+       build_documentation="no (missing asciidoc)"
 fi
+AC_SUBST([ASCIIDOC])
 
-have_a2x="yes"
-AC_PATH_PROG([A2X], [a2x])
-if test "x$A2X" = "x"; then
-       have_a2x="no"
-       build_documentation="no (missing a2x)"
+integration_tests="yes"
+AC_PATH_PROG([VALGRIND], [valgrind])
+if test "x$VALGRIND" = "x"; then
+       integration_tests="no (missing valgrind)"
 fi
-AC_SUBST([A2X])
+AM_CONDITIONAL([INTEGRATION_TESTING], test "x$integration_tests" = "xyes")
 
 dnl Plugin checks.
 puppet_storeconfigs_default=$with_libdbi
@@ -414,7 +423,7 @@ AC_SDB_PLUGIN([syslog], [yes],
                [plugin logging to syslog])
 
 AM_CONDITIONAL([BUILD_DOCUMENTATION], test "x$build_documentation" = "xyes")
-AM_CONDITIONAL([BUILD_TESTING], test "x$build_testing" = "xyes")
+AM_CONDITIONAL([UNIT_TESTING], test "x$unit_tests" = "xyes")
 
 AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile
                src/liboconfig/Makefile t/Makefile])
@@ -434,14 +443,15 @@ AC_MSG_RESULT([  package version: $PACKAGE_VERSION])
 AC_MSG_RESULT([  build date: $BUILD_DATE])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Tools:])
-AC_MSG_RESULT([    AsciiDoc (a2x): . . . . . . $have_a2x])
-AC_MSG_RESULT([    xmlto / xsltproc: . . . . . $have_xmlto / $have_xsltproc])
+AC_MSG_RESULT([    AsciiDoc: . . . . . . . . . $have_asciidoc])
+AC_MSG_RESULT([    xmlto:  . . . . . . . . . . $have_xmlto])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Features:])
 AC_MSG_RESULT([    documentation:  . . . . . . $build_documentation])
-AC_MSG_RESULT([    unit testing: . . . . . . . $build_testing])
+AC_MSG_RESULT([    unit testing: . . . . . . . $unit_tests])
 AC_MSG_RESULT([      stdio mocking:  . . . . . $have_fopencookie])
 AC_MSG_RESULT([    coverage testing: . . . . . $enable_gcov])
+AC_MSG_RESULT([    integration testing:  . . . $integration_tests])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Libraries:])
 AC_MSG_RESULT([    libdbi: . . . . . . . . . . $with_libdbi])