You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.7 KiB
98 lines
2.7 KiB
AC_PREREQ([2.60]) |
|
AC_INIT([jansson], [2.6], [petri@digip.org]) |
|
|
|
AC_CONFIG_MACRO_DIR([m4]) |
|
|
|
AM_INIT_AUTOMAKE([1.10 foreign]) |
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
|
|
|
AC_CONFIG_SRCDIR([value.c]) |
|
AC_CONFIG_HEADERS([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_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;; |
|
*) 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([ |
|
Makefile |
|
]) |
|
AC_OUTPUT
|
|
|