forked from openkylin/mdds
187 lines
5.5 KiB
Plaintext
187 lines
5.5 KiB
Plaintext
AC_INIT(mdds, 2.0.3, kohei.yoshida@gmail.com)
|
|
AM_INIT_AUTOMAKE([foreign dist-bzip2 dist-xz subdir-objects])
|
|
AM_MAINTAINER_MODE
|
|
|
|
VERSION=AC_PACKAGE_VERSION
|
|
API_VERSION=2.0
|
|
|
|
AC_SUBST(VERSION)
|
|
AC_SUBST(API_VERSION)
|
|
AC_CONFIG_MACRO_DIRS([m4])
|
|
|
|
PACKAGE_TARNAME=AC_PACKAGE_TARNAME
|
|
AC_SUBST(PACKAGE_TARNAME)
|
|
|
|
OBJDIR=obj
|
|
INCDIR=include
|
|
MISCDIR=misc
|
|
QUICKCHECKDIR=quickcheck
|
|
AC_SUBST(OBJDIR)
|
|
AC_SUBST(INCDIR)
|
|
AC_SUBST(MISCDIR)
|
|
AC_SUBST(QUICKCHECKDIR)
|
|
|
|
AX_CXX_COMPILE_STDCXX_17([noext], [mandatory])
|
|
|
|
CPPFLAGS="$CPPFLAGS -Wall -Wshadow -g -pedantic-errors"
|
|
CPPFLAGS="$CPPFLAGS -I/usr/include -I/usr/local/include"
|
|
|
|
AC_CHECK_SIZEOF([void *])
|
|
CXXFLAGS="$CXXFLAGS -DSIZEOF_VOID_P=$ac_cv_sizeof_void_p"
|
|
|
|
AC_ARG_ENABLE(debug-stdcxx,
|
|
[
|
|
--enable-debug-stdcxx Enable libstdc++ debug mode during make check.
|
|
]
|
|
,debug_stdcxx=yes)
|
|
|
|
AS_IF([test x"$debug_stdcxx" == "xyes"], [
|
|
CXXFLAGS="$CXXFLAGS -D_GLIBCXX_DEBUG"
|
|
])
|
|
|
|
AC_ARG_ENABLE(release-tests,
|
|
[
|
|
--enable-release-tests Enable release builds for unit tests.
|
|
]
|
|
,release_tests=yes)
|
|
|
|
AS_IF([test x"$release_tests" == "xyes"], [
|
|
CXXFLAGS="$CXXFLAGS -DNDEBUG -O2"
|
|
])
|
|
|
|
AC_ARG_ENABLE(gcov,
|
|
AS_HELP_STRING([--enable-gcov], [Enable generation of gcov information.]),
|
|
[enable_gcov="$enableval"],[enable_gcov=no]
|
|
)
|
|
|
|
AC_ARG_ENABLE(loop-unrolling,
|
|
AS_HELP_STRING([--disable-loop-unrolling], [Disable use of loop unrolling.]),
|
|
[enable_loop_unrolling="$enableval"],[enable_loop_unrolling=yes]
|
|
)
|
|
|
|
AS_IF([test x"$enable_loop_unrolling" == "xno"], [
|
|
CXXFLAGS="$CXXFLAGS -DMDDS_LOOP_UNROLLING=0"
|
|
])
|
|
|
|
AS_IF([test x"$enable_gcov" == "xyes"], [
|
|
CXXFLAGS="$CXXFLAGS --coverage -O0"
|
|
])
|
|
|
|
AC_ARG_ENABLE(openmp,
|
|
AS_HELP_STRING([--enable-openmp], [Enable use of OpenMP.]),
|
|
[enable_openmp="$enableval"],[enable_openmp=no]
|
|
)
|
|
|
|
AS_IF([test x"$enable_openmp" == "xyes"], [
|
|
CXXFLAGS="$CXXFLAGS -fopenmp -DMDDS_USE_OPENMP=1"
|
|
LDFLAGS="$LDFLAGS -fopenmp"
|
|
])
|
|
|
|
AC_ARG_ENABLE(sanitizer-coverage,
|
|
AS_HELP_STRING([--enable-sanitizer-coverage], [Enable generation of sanitizer coverage information.]),
|
|
[enable_sanitizer_coverage="$enableval"],[enable_sanitizer_coverage=no]
|
|
)
|
|
|
|
AS_IF([test x"$enable_sanitizer_coverage" == "xyes"], [
|
|
CXXFLAGS="$CXXFLAGS -fprofile-instr-generate -fcoverage-mapping -O0"
|
|
])
|
|
|
|
AC_SUBST(CPPFLAGS)
|
|
AC_SUBST(CPPFLAGS_NODEBUG)
|
|
|
|
AC_PROG_CXX
|
|
AC_PATH_PROG([GDB], [gdb])
|
|
AC_PATH_PROG([EXPECT], [expect])
|
|
AC_PATH_PROG([RUNTEST_BIN], [runtest])
|
|
|
|
AC_ARG_ENABLE([memory-tests],
|
|
[AS_HELP_STRING([--enable-memory-tests], [Run memory tests.])],
|
|
[enable_memory_tests=$enableval],
|
|
[enable_memory_tests=no]
|
|
)
|
|
AS_IF([test "$enable_memory_tests" = yes],
|
|
[AC_PATH_PROG([VALGRIND], [valgrind])]
|
|
AS_IF([test -z "$VALGRIND"], [AC_MSG_ERROR([valgrind not found])])
|
|
)
|
|
AM_CONDITIONAL([RUN_MEMORY_TESTS], [test "$enable_memory_tests" = yes])
|
|
|
|
AC_ARG_ENABLE([docs],
|
|
[AS_HELP_STRING([--enable-docs], [Generate docs during build.])],
|
|
[enable_docs=$enableval],
|
|
[enable_docs=no]
|
|
)
|
|
AS_IF([test "$enable_docs" = yes],
|
|
[
|
|
AC_PATH_PROG([DOXYGEN], [doxygen])
|
|
AS_IF([test -z "$DOXYGEN"], [AC_MSG_ERROR([doxygen not found])])
|
|
AC_PATH_PROG([SPHINX], [sphinx-build])
|
|
AS_IF([test -z "$SPHINX"], [AC_MSG_ERROR([sphinx-build not found])])
|
|
]
|
|
)
|
|
AM_CONDITIONAL([BUILD_DOCS], [test "$enable_docs" = yes])
|
|
|
|
AC_ARG_ENABLE([werror],
|
|
[AS_HELP_STRING([--enable-werror], [Treat all warnings as errors, useful for development])],
|
|
[enable_werror="$enableval"],
|
|
[enable_werror=no]
|
|
)
|
|
AS_IF([test x"$enable_werror" == "xyes"], [
|
|
CXXFLAGS="$CXXFLAGS -Werror"
|
|
])
|
|
|
|
CXXFLAGS_UNITTESTS="-DMDDS_DEBUG_NODE_BASE -DMDDS_UNIT_TEST"
|
|
AC_SUBST(CXXFLAGS_UNITTESTS)
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
include/Makefile
|
|
include/mdds/Makefile
|
|
include/mdds/multi_type_vector/Makefile
|
|
include/mdds/multi_type_vector/aos/Makefile
|
|
include/mdds/multi_type_vector/soa/Makefile
|
|
example/Makefile
|
|
test/Makefile
|
|
test/gdb/Makefile
|
|
test/gdb/src/Makefile
|
|
test/multi_type_vector/Makefile
|
|
test/multi_type_vector/custom-trait/Makefile
|
|
test/multi_type_vector/custom-trait/aos/Makefile
|
|
test/multi_type_vector/custom-trait/soa/Makefile
|
|
test/multi_type_vector/debug-util/Makefile
|
|
test/multi_type_vector/debug-util/soa/Makefile
|
|
tools/Makefile
|
|
tools/runtime-env/Makefile
|
|
flat_segment_tree_test_mem.mem:test/test.mem.in
|
|
misc/mdds-$API_VERSION.pc:misc/mdds.pc.in
|
|
multi_type_matrix_test_mem.mem:test/test.mem.in
|
|
multi_type_matrix_test_walk_mem.mem:test/test.mem.in
|
|
multi_type_vector_test_event_aos_mem.mem:test/test.mem.in
|
|
multi_type_vector_test_event_soa_mem.mem:test/test.mem.in
|
|
multi_type_vector_test_custom_aos_mem.mem:test/test.mem.in
|
|
multi_type_vector_test_custom_soa_mem.mem:test/test.mem.in
|
|
multi_type_vector_test_default_aos_mem.mem:test/test.mem.in
|
|
multi_type_vector_test_default_soa_mem.mem:test/test.mem.in
|
|
multi_type_vector_test_collection_aos_mem.mem:test/test.mem.in
|
|
multi_type_vector_test_collection_soa_mem.mem:test/test.mem.in
|
|
point_quad_tree_test_mem.mem:test/test.mem.in
|
|
rectangle_set_test_mem.mem:test/test.mem.in
|
|
segment_tree_test_mem.mem:test/test.mem.in
|
|
sorted_string_map_test_mem.mem:test/test.mem.in
|
|
trie_map_test_mem.mem:test/test.mem.in
|
|
rtree_test_mem.mem:test/test.mem.in
|
|
rtree_test_bulkload_mem.mem:test/test.mem.in
|
|
])
|
|
AC_OUTPUT
|
|
|
|
AC_MSG_NOTICE([
|
|
==============================================================================
|
|
Build configuration:
|
|
gcov $enable_gcov
|
|
openmp $enable_openmp
|
|
sanitizer-coverage $enable_sanitizer_coverage
|
|
loop-unrolling $enable_loop_unrolling
|
|
|
|
CXXFLAGS $CXXFLAGS
|
|
==============================================================================
|
|
])
|