104 lines
2.9 KiB
Plaintext
104 lines
2.9 KiB
Plaintext
AC_PREREQ([2.60])
|
|
AC_INIT([jansson], [2.6], [petri@digip.org])
|
|
|
|
AM_INIT_AUTOMAKE([1.10 foreign])
|
|
|
|
AC_CONFIG_SRCDIR([src/value.c])
|
|
AC_CONFIG_HEADERS([jansson_private_config.h])
|
|
|
|
# Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_LIBTOOL
|
|
AM_CONDITIONAL([GCC], [test x$GCC = xyes])
|
|
|
|
# Checks for libraries.
|
|
|
|
# Checks for header files.
|
|
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
|
|
case $ac_cv_c_inline in
|
|
yes) json_inline=inline;;
|
|
no) json_inline=;;
|
|
*) json_inline=$ac_cv_c_inline;;
|
|
esac
|
|
AC_SUBST([json_inline])
|
|
|
|
# Checks for library functions.
|
|
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_RELEASE); __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;;
|
|
*) json_have_long_long=0;;
|
|
esac
|
|
AC_SUBST([json_have_long_long])
|
|
|
|
case "$ac_cv_header_locale_h$ac_cv_func_localeconv" in
|
|
yesyes) json_have_localeconv=1;;
|
|
*) json_have_localeconv=0;;
|
|
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
|
|
doc/Makefile
|
|
src/Makefile
|
|
src/jansson_config.h
|
|
test/Makefile
|
|
test/bin/Makefile
|
|
test/suites/Makefile
|
|
test/suites/api/Makefile
|
|
])
|
|
AC_OUTPUT
|