89 lines
1.8 KiB
Plaintext
Vendored
89 lines
1.8 KiB
Plaintext
Vendored
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
|
|
])
|
|
|