AC_INIT(Lhasa, 0.3.1, fraggle@gmail.com, lhasa) AC_CONFIG_AUX_DIR(autotools) AM_INIT_AUTOMAKE([no-define]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AM_PROG_CC_C_O AC_PROG_CXX AC_PROG_RANLIB AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_MAKE_SET if [[ "$GCC" = "yes" ]]; then is_gcc=true else is_gcc=false fi TEST_CFLAGS="-DTEST_BUILD" # Turn on all warnings for gcc. Turn off optimisation for the test build. if $is_gcc; then WARNINGS="-Wall -Wsign-compare" CFLAGS="$CFLAGS $WARNINGS" TEST_CFLAGS="$TEST_CFLAGS $WARNINGS -O0" fi # Support for coverage analysis via gcov: coverage=false AC_ARG_ENABLE(coverage, [ --enable-coverage Enable coverage testing. ], [ coverage=true ]) if $coverage; then if $is_gcc; then TEST_CFLAGS="$TEST_CFLAGS -fprofile-arcs -ftest-coverage" else AC_MSG_ERROR([Can only enable coverage when using gcc.]) fi fi AM_CONDITIONAL(BUILD_COVERAGE, $coverage) # Support for running test cases using valgrind: use_valgrind=false AC_ARG_ENABLE(valgrind, [ --enable-valgrind Use valgrind when running unit tests. ], [ use_valgrind=true ]) if [[ "$use_valgrind" = "true" ]]; then AC_CHECK_PROG(HAVE_VALGRIND, valgrind, yes, no) if [[ "$HAVE_VALGRIND" = "no" ]]; then AC_MSG_ERROR([Valgrind not found in PATH. ]) fi fi AM_CONDITIONAL(USE_VALGRIND, $use_valgrind) # Save the default CFLAGS and clear them, so that the test build # of the library doesn't get the optimisation flags. MAIN_CFLAGS="$CFLAGS" CFLAGS="" AC_SUBST(MAIN_CFLAGS) AC_SUBST(TEST_CFLAGS) AC_SUBST(ac_aux_dir) AC_CONFIG_HEADERS([config.h:config.hin]) AC_OUTPUT([ liblhasa.pc rpm.spec Makefile doc/Makefile lib/Makefile lib/public/Makefile pkg/Makefile pkg/config.make src/Makefile test/Makefile ])