AC_PREREQ(2.60)
define([VERSION_MAJOR], [1])
-define([VERSION_MINOR], [3])
+define([VERSION_MINOR], [4])
define([VERSION_FIX], [1])
define([VERSION_NUMBER], VERSION_MAJOR[.]VERSION_MINOR[.]VERSION_FIX)
define([VERSION_SUFFIX], [_master])
PKG_PROG_PKG_CONFIG
AC_USE_SYSTEM_EXTENSIONS
AC_CHECK_FUNCS_ONCE(accept4)
+AC_CHECK_TYPES([struct timespec, clockid_t], [], [], [[#include <time.h>]])
+AC_SEARCH_LIBS([clock_gettime], [rt posix4])
+AC_CHECK_FUNCS([clock_gettime])
+
+# Check system type
+case "$host_os" in
+freebsd*)
+ build_target=freebsd
+ ;;
+darwin*)
+ build_target=macos
+ ;;
+*)
+ ;;
+esac
+
+AM_CONDITIONAL([FREEBSD], [test x$build_target = xfreebsd])
+AM_CONDITIONAL([MACOS], [test x$build_target = xmacos])
AC_ARG_ENABLE(
[plugin-nfacct],
,
[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_UINT8_T
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_C_INLINE
+AC_FUNC_STRERROR_R
+AC_C__GENERIC
+AC_C___ATOMIC
+AC_CHECK_SIZEOF([void *])
+AC_CANONICAL_HOST
+AC_HEADER_MAJOR
+AC_HEADER_RESOLV
-# https://lists.gnu.org/archive/html/autoconf-commit/2012-12/msg00004.html
-# AC_C__GENERIC
-# -------------
-# Define HAVE_C__GENERIC if _Generic works, a la C11.
-AN_IDENTIFIER([_Generic], [AC_C__GENERIC])
-AC_DEFUN([AC_C__GENERIC],
-[AC_CACHE_CHECK([for _Generic], ac_cv_c__Generic,
-[AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[int
- main (int argc, char **argv)
- {
- int a = _Generic (argc, int: argc = 1);
- int *b = &_Generic (argc, default: argc);
- char ***c = _Generic (argv, int: argc, default: argv ? &argv : 0);
- _Generic (1 ? 0 : b, int: a, default: b) = &argc;
- _Generic (a = 1, default: a) = 3;
- return a + !b + !c;
- }
- ]])],
- [ac_cv_c__Generic=yes],
- [ac_cv_c__Generic=no])])
-if test $ac_cv_c__Generic = yes; then
- AC_DEFINE([HAVE_C__GENERIC], 1,
- [Define to 1 if C11-style _Generic works.])
+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_C__GENERIC
-
-AC_C__GENERIC
-AC_FUNC_STRERROR_R
AC_ARG_VAR([MATH_CFLAGS], [C compiler flags for math])
AC_ARG_VAR([MATH_LIBS], [linker flags for math])