3 # Process this file with autoconf to produce a configure script.
4 AC_INIT([json-c], 0.12, [json-c@googlegroups.com])
11 AS_HELP_STRING([--enable-rdrand],
12 [Enable RDRAND Hardware RNG Hash Seed generation on supported x86/x64 platforms.]),
13 [if test x$enableval = xyes; then
15 AC_DEFINE(ENABLE_RDRAND, 1, [Enable RDRANR Hardware RNG Hash Seed])
18 if test "x$enable_rdrand" = "xyes"; then
19 AC_MSG_RESULT([RDRAND Hardware RNG Hash Seed enabled on supported x86/x64 platforms])
21 AC_MSG_RESULT([RDRAND Hardware RNG Hash Seed disabled. Use --enable-rdrand to enable])
24 # Checks for programs.
26 # Checks for libraries.
28 # Checks for header files.
30 AC_CONFIG_HEADER(config.h)
31 AC_CONFIG_HEADER(json_config.h)
33 AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/cdefs.h] [sys/param.h] stdarg.h locale.h endian.h)
34 AC_CHECK_HEADER(inttypes.h,[AC_DEFINE([JSON_C_HAVE_INTTYPES_H],[1],[Public define for json_inttypes.h])])
36 # Checks for typedefs, structures, and compiler characteristics.
40 # Checks for library functions.
45 AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale)
47 #check if .section.gnu.warning accepts long strings (for __warn_references)
50 AC_MSG_CHECKING([if .gnu.warning accepts long strings])
51 AC_LINK_IFELSE([AC_LANG_SOURCE([[
52 extern void json_object_get();
53 __asm__(".section .gnu.json_object_get,\n\t.ascii \"Please link against libjson-c instead of libjson\"\n\t.text");
55 int main(int c,char* v) {return 0;}
57 AC_DEFINE(HAS_GNU_WARNING_LONG, 1, [Define if .gnu.warning accepts long strings.])
67 # Check for the -Bsymbolic-functions linker flag
68 AC_ARG_ENABLE([Bsymbolic],
69 [AS_HELP_STRING([--disable-Bsymbolic], [Avoid linking with -Bsymbolic-function])],
71 [enable_Bsymbolic=check])
73 AS_IF([test "x$enable_Bsymbolic" = "xcheck"],
75 saved_LDFLAGS="${LDFLAGS}"
76 AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
77 LDFLAGS=-Wl,-Bsymbolic-functions
78 AC_TRY_LINK([], [int main (void) { return 0; }],
87 LDFLAGS="${saved_LDFLAGS}"
90 AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions])
91 AC_SUBST(JSON_BSYMBOLIC_LDFLAGS)