X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=configure.ac;h=b94b2a0e0fca679d3f55f697649f177d39e64e51;hp=ede963bd7bb582553c0ae5f0a3ac1807e171279b;hb=56b97a180a53aecbfe9f7162b8ece3faae973cf9;hpb=27e62e0de75ef36a4198171d56d7982b7cfd00cc diff --git a/configure.ac b/configure.ac index ede963b..b94b2a0 100644 --- a/configure.ac +++ b/configure.ac @@ -27,10 +27,10 @@ dnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF dnl ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. AC_INIT([System DataBase],[m4_esyscmd(./version-gen.sh)], - [sh@tokkee.org], + [sysdb@sysdb.io], [sysdb], - [http://git.tokkee.org/?p=sysdb.git]) -PACKAGE_MAINTAINER="Sebastian 'tokkee' Harl " + [http://sysdb.io/]) +PACKAGE_MAINTAINER="Sebastian 'tokkee' Harl " AC_DEFINE_UNQUOTED([PACKAGE_MAINTAINER], ["$PACKAGE_MAINTAINER"], [Define to the name of the maintainer of this package.]) AC_CONFIG_SRCDIR([src/sysdb.c]) @@ -48,7 +48,7 @@ AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET -AM_PROG_AR +m4_ifdef([AM_PROG_AR],[AM_PROG_AR],[]) AM_PROG_CC_C_O AM_PROG_LEX @@ -79,6 +79,8 @@ test_cc_flags() { return $ret } +STRICT_CFLAGS="" + m4_divert_once([HELP_ENABLE], [ Build options:]) @@ -106,11 +108,11 @@ if test "x$enable_standards" = "xyes"; then 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 + 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]) @@ -135,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 @@ -155,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]) @@ -168,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,12 +248,50 @@ fi; fi AC_SUBST([COVERAGE_CFLAGS]) AC_SUBST([COVERAGE_LDFLAGS]) +AC_ARG_ENABLE([gprof], + AS_HELP_STRING([--enable-gprof], + [Gprof profiling @<:@default=no@:>@]), + [enable_gprof="$enableval"], + [enable_gprof="no"]) + +PROFILING_CFLAGS="" +PROFILING_LDFLAGS="" +if test "x$enable_gprof" = "xyes"; then + PROFILING_CFLAGS="-O0" + profiling_flag_have_problem="no" + + AC_MSG_CHECKING([whether $CC accepts -pg]) + if test_cc_flags -pg; then + PROFILING_CFLAGS="$PROFILING_CFLAGS -pg" + PROFILING_LDFLAGS="$PROFILING_LDFLAGS -pg" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + profiling_flag_have_problem="yes" + fi + + for flag in -fprofile-arcs; do + AC_MSG_CHECKING([whether $CC accepts $flag]) + if test_cc_flags $flag; then + PROFILING_CFLAGS="$PROFILING_CFLAGS $flag" + AC_MSG_RESULT([yes]) + fi + # else: this is not a serious problem + done + + if test "x$profiling_flag_have_problem" != "xno"; then + AC_MSG_WARN([Some profiling flags are not supported by your compiler!]) + fi +fi +AC_SUBST([PROFILING_CFLAGS]) +AC_SUBST([PROFILING_LDFLAGS]) + m4_divert_once([HELP_ENABLE], [ 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) @@ -377,21 +418,24 @@ 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]) + +AC_ARG_VAR([ADOCFLAGS], [AsciiDoc flags]) -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 @@ -419,7 +463,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]) @@ -439,14 +483,16 @@ 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([ profiling: . . . . . . . . $enable_gprof]) AC_MSG_RESULT() AC_MSG_RESULT([ Libraries:]) AC_MSG_RESULT([ libdbi: . . . . . . . . . . $with_libdbi])