aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorPetri Lehtinen <petri@digip.org>2014-02-11 14:49:15 +0200
committerPetri Lehtinen <petri@digip.org>2014-02-11 14:49:15 +0200
commit17ec22f514ceb9277bea1e38cc8ea69eec1edd53 (patch)
tree55b75defa871dc7178a0f2c6cead32b2bd69b8f5 /configure.ac
parenta721d36f4143faa94c78e447515994891ce9c30f (diff)
parente83ded066a610f8de7caaa3942769321ededa84f (diff)
downloadjansson-17ec22f514ceb9277bea1e38cc8ea69eec1edd53.zip
jansson-17ec22f514ceb9277bea1e38cc8ea69eec1edd53.tar.gz
jansson-17ec22f514ceb9277bea1e38cc8ea69eec1edd53.tar.bz2
Merge branch '2.6'
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac52
1 files changed, 49 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 2f26149..1dffd48 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([jansson], [2.5], [petri@digip.org])
+AC_INIT([jansson], [2.6], [petri@digip.org])
AM_INIT_AUTOMAKE([1.10 foreign])
@@ -14,10 +14,11 @@ AM_CONDITIONAL([GCC], [test x$GCC = xyes])
# Checks for libraries.
# Checks for header files.
-AC_CHECK_HEADERS([locale.h])
+AC_CHECK_HEADERS([endian.h fcntl.h locale.h sched.h unistd.h sys/param.h sys/stat.h sys/time.h sys/types.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_INT32_T
+AC_TYPE_UINT32_T
AC_TYPE_LONG_LONG_INT
AC_C_INLINE
@@ -29,7 +30,31 @@ esac
AC_SUBST([json_inline])
# Checks for library functions.
-AC_CHECK_FUNCS([strtoll localeconv])
+AC_CHECK_FUNCS([close getpid gettimeofday localeconv open read sched_yield strtoll])
+
+AC_MSG_CHECKING([for gcc __sync builtins])
+have_sync_builtins=no
+AC_TRY_LINK(
+ [], [unsigned long val; __sync_bool_compare_and_swap(&val, 0, 1);],
+ [have_sync_builtins=yes],
+)
+if test "x$have_sync_builtins" = "xyes"; then
+ AC_DEFINE([HAVE_SYNC_BUILTINS], [1],
+ [Define to 1 if gcc's __sync builtins are available])
+fi
+AC_MSG_RESULT([$have_sync_builtins])
+
+AC_MSG_CHECKING([for gcc __atomic builtins])
+have_atomic_builtins=no
+AC_TRY_LINK(
+ [], [char l; unsigned long v; __atomic_test_and_set(&l, __ATOMIC_RELAXED); __atomic_store_n(&v, 1, __ATOMIC_ACQ_REL); __atomic_load_n(&v, __ATOMIC_ACQUIRE);],
+ [have_atomic_builtins=yes],
+)
+if test "x$have_atomic_builtins" = "xyes"; then
+ AC_DEFINE([HAVE_ATOMIC_BUILTINS], [1],
+ [Define to 1 if gcc's __atomic builtins are available])
+fi
+AC_MSG_RESULT([$have_atomic_builtins])
case "$ac_cv_type_long_long_int$ac_cv_func_strtoll" in
yesyes) json_have_long_long=1;;
@@ -43,6 +68,27 @@ case "$ac_cv_header_locale_h$ac_cv_func_localeconv" in
esac
AC_SUBST([json_have_localeconv])
+# Features
+AC_ARG_ENABLE([urandom],
+ [AS_HELP_STRING([--disable-urandom],
+ [Don't use /dev/urandom to seed the hash function])],
+ [use_urandom=$enableval], [use_urandom=yes])
+
+if test "x$use_urandom" = xyes; then
+AC_DEFINE([USE_URANDOM], [1],
+ [Define to 1 if /dev/urandom should be used for seeding the hash function])
+fi
+
+AC_ARG_ENABLE([windows-cryptoapi],
+ [AS_HELP_STRING([--disable-windows-cryptoapi],
+ [Don't use CryptGenRandom to seed the hash function])],
+ [use_windows_cryptoapi=$enableval], [use_windows_cryptoapi=yes])
+
+if test "x$use_windows_cryptoapi" = xyes; then
+AC_DEFINE([USE_WINDOWS_CRYPTOAPI], [1],
+ [Define to 1 if CryptGenRandom should be used for seeding the hash function])
+fi
+
AC_CONFIG_FILES([
jansson.pc
Makefile