X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=configure.ac;h=0005ec551aa6e8f20a322ae217138888c2a1e572;hb=a29af3d0cde1eb8aa1667816bcd0a8d467afa82a;hp=fd69e71d16738262715bd1b2c08ad0b4c03ed3c3;hpb=9dc4407074b37a1f0712dbbf8b34a0e5284fd018;p=netdata.git diff --git a/configure.ac b/configure.ac index fd69e71d..0005ec55 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ AC_PREREQ(2.60) define([VERSION_MAJOR], [1]) -define([VERSION_MINOR], [1]) +define([VERSION_MINOR], [5]) define([VERSION_FIX], [1]) define([VERSION_NUMBER], VERSION_MAJOR[.]VERSION_MINOR[.]VERSION_FIX) define([VERSION_SUFFIX], [_master]) @@ -24,6 +24,15 @@ PACKAGE_RPM_VERSION="VERSION_NUMBER" AC_SUBST([PACKAGE_RPM_VERSION]) AC_SUBST([PACKAGE_RPM_RELEASE]) +# fails on centos6 +#AX_CHECK_ENABLE_DEBUG() + +AX_GCC_FUNC_ATTRIBUTE(returns_nonnull) +AX_GCC_FUNC_ATTRIBUTE(malloc) +AX_GCC_FUNC_ATTRIBUTE(noreturn) +AX_GCC_FUNC_ATTRIBUTE(format) +AX_GCC_FUNC_ATTRIBUTE(warn_unused_result) + AC_CONFIG_AUX_DIR([.]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -34,6 +43,29 @@ AC_PROG_CC AC_PROG_INSTALL PKG_PROG_PKG_CONFIG AC_USE_SYSTEM_EXTENSIONS +AC_CHECK_FUNCS_ONCE(accept4) +AC_CHECK_TYPES([struct timespec, clockid_t], [], [], [[#include ]]) +AC_SEARCH_LIBS([clock_gettime], [rt posix4]) +AC_CHECK_FUNCS([clock_gettime]) +AC_CHECK_FUNCS([sched_setscheduler sched_get_priority_min sched_get_priority_max nice]) + +# Check system type +case "$host_os" in +freebsd*) + build_target=freebsd + ;; +darwin*) + build_target=macos + LDFLAGS="${LDFLAGS} -framework CoreFoundation -framework IOKit" + ;; +*) + build_target=linux + ;; +esac + +AM_CONDITIONAL([FREEBSD], [test x$build_target = xfreebsd]) +AM_CONDITIONAL([MACOS], [test x$build_target = xmacos]) +AM_CONDITIONAL([LINUX], [test x$build_target = xlinux]) AC_ARG_ENABLE( [plugin-nfacct], @@ -71,16 +103,70 @@ AC_ARG_WITH( , [with_user="nobody"] ) +AC_ARG_ENABLE( + [x86-sse], + [AS_HELP_STRING([--disable-x86-sse], [SSE/SS2 optimizations on x86 @<:@default enabled@:>@])], + , + [enable_x86_sse="yes"] +) ACX_PTHREAD(, [AC_MSG_ERROR([Cannot initialize pthread environment])]) LIBS="${PTHREAD_LIBS} ${LIBS}" CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" CC="${PTHREAD_CC}" +TS_CHECK_JEMALLOC +if test "$has_jemalloc" = "1"; then + AC_DEFINE([ENABLE_JEMALLOC], [1], [compile and link with jemalloc]) +else + TS_CHECK_TCMALLOC + if test "$has_tcmalloc" = "1"; then + AC_DEFINE([ENABLE_TCMALLOC], [1], [compile and link with tcmalloc]) + else + AC_C_MALLOPT + AC_C_MALLINFO + fi +fi + +AC_TYPE_INT8_T +AC_TYPE_INT16_T +AC_TYPE_INT32_T +AC_TYPE_INT64_T AC_TYPE_UINT8_T AC_TYPE_UINT16_T AC_TYPE_UINT32_T +AC_TYPE_UINT64_T AC_C_INLINE +AC_FUNC_STRERROR_R +AC_C__GENERIC +AC_C___ATOMIC +# AC_C_STMT_EXPR +AC_CHECK_SIZEOF([void *]) +AC_CANONICAL_HOST +AC_HEADER_MAJOR +AC_HEADER_RESOLV +AC_CHECK_HEADERS_ONCE([sys/prctl.h]) + +AC_CHECK_LIB([cap], [cap_get_proc, cap_set_proc], + [AC_CHECK_HEADER( + [sys/capability.h], + [ + CAP_LIBS=-lcap + AC_DEFINE([HAVE_CAPABILITY], [1], [libcap usability]) + ] + )] +) +OPTIONAL_CAP_LIBS="${CAP_LIBS}" + +AC_ARG_VAR([SSE_CANDIDATE], [C compiler flags for SSE]) +AS_CASE([$host_cpu], + [i?86], [SSE_CANDIDATE="yes"] +) +AC_SUBST([SSE_CANDIDATE]) +if test "${SSE_CANDIDATE}" = "yes" -a "${enable_x86_sse}" = "yes"; then + opt="-msse2 -mfpmath=sse" + AX_CHECK_COMPILE_FLAG($opt, [CFLAGS="$CFLAGS $opt"], []) +fi AC_ARG_VAR([MATH_CFLAGS], [C compiler flags for math]) AC_ARG_VAR([MATH_LIBS], [linker flags for math]) @@ -92,9 +178,14 @@ if test -z "${MATH_LIBS}"; then ) fi -AC_CHECK_LIB([uuid], [uuid_generate_time_safe], [], \ - [AC_MSG_ERROR([Function uuid_generate_time_safe was not found in libuuid. -Is uuid-dev installed? Try running 'sudo apt-get install uuid-dev'.])]) +PKG_CHECK_MODULES( + [UUID], + [uuid], +) +test -z "${UUID_LIBS}" && AC_MSG_ERROR([libuuid required but not found. Try installing 'uuid-dev' or 'libuuid-devel'.]) +AC_DEFINE([NETDATA_WITH_UUID], [1], [uuid settings]) +OPTIONAL_UUID_CLFAGS="${UUID_CFLAGS}" +OPTIONAL_UUID_LIBS="${UUID_LIBS}" if test "${enable_plugin_nfacct}" = "yes"; then PKG_CHECK_MODULES( @@ -106,7 +197,7 @@ if test "${enable_plugin_nfacct}" = "yes"; then [libmnl], ) test -z "${NFACCT_LIBS}" && AC_MSG_ERROR([netfilter_acct required but not found]) - test -z "${LIBMNL_LIBS}" && AC_MSG_ERROR([libmnl required but not found]) + test -z "${LIBMNL_LIBS}" && AC_MSG_ERROR([libmnl required but not found. Try installing 'libmnl-dev' or 'libmnl-devel']) AC_DEFINE([INTERNAL_PLUGIN_NFACCT], [1], [nfacct plugin settings]) OPTIONAL_NFACCT_CLFAGS="${NFACCT_CFLAGS} ${LIBMNL_CFLAGS}" OPTIONAL_NFACCT_LIBS="${NFACCT_LIBS} ${LIBMNL_LIBS}" @@ -116,7 +207,7 @@ if test "${with_zlib}" = "yes"; then [ZLIB], [zlib], ) - test -z "${ZLIB_LIBS}" && AC_MSG_ERROR([zlib required but not found]) + test -z "${ZLIB_LIBS}" && AC_MSG_ERROR([zlib required but not found. Try installing 'zlib1g-dev' or 'zlib-devel'.]) AC_DEFINE([NETDATA_WITH_ZLIB], [1], [zlib settings]) OPTIONAL_ZLIB_CLFAGS="${ZLIB_CFLAGS}" OPTIONAL_ZLIB_LIBS="${ZLIB_LIBS}" @@ -144,9 +235,11 @@ fi AC_DEFINE_UNQUOTED([NETDATA_USER], ["${with_user}"], [use this user to drop privileged]) AC_SUBST([varlibdir], ["\$(localstatedir)/lib/netdata"]) +AC_SUBST([registrydir], ["\$(localstatedir)/lib/netdata/registry"]) AC_SUBST([cachedir], ["\$(localstatedir)/cache/netdata"]) AC_SUBST([chartsdir], ["\$(libexecdir)/netdata/charts.d"]) AC_SUBST([nodedir], ["\$(libexecdir)/netdata/node.d"]) +AC_SUBST([pythondir], ["\$(libexecdir)/netdata/python.d"]) AC_SUBST([configdir], ["\$(sysconfdir)/netdata"]) AC_SUBST([logdir], ["\$(localstatedir)/log/netdata"]) AC_SUBST([pluginsdir], ["\$(libexecdir)/netdata/plugins.d"]) @@ -158,12 +251,16 @@ AC_SUBST([OPTIONAL_NFACCT_CLFAGS]) AC_SUBST([OPTIONAL_NFACCT_LIBS]) AC_SUBST([OPTIONAL_ZLIB_CLFAGS]) AC_SUBST([OPTIONAL_ZLIB_LIBS]) +AC_SUBST([OPTIONAL_UUID_CLFAGS]) +AC_SUBST([OPTIONAL_UUID_LIBS]) +AC_SUBST([OPTIONAL_CAP_LIBS]) AC_CONFIG_FILES([ Makefile charts.d/Makefile conf.d/Makefile netdata.spec + python.d/Makefile node.d/Makefile plugins.d/Makefile src/Makefile