Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 1 | AC_PREREQ(2.52) |
| 2 | |
| 3 | # Process this file with autoconf to produce a configure script. |
Eric Haszlakiewicz | 4207147 | 2013-04-02 21:22:59 -0500 | [diff] [blame] | 4 | AC_INIT([json-c], 0.11.99, [json-c@googlegroups.com]) |
Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 5 | |
| 6 | AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) |
| 7 | |
Eric Haszlakiewicz | 1e89ba6 | 2012-04-22 10:27:50 -0500 | [diff] [blame] | 8 | AC_PROG_MAKE_SET |
| 9 | |
Eric Haszlakiewicz | 075b783 | 2012-07-29 17:48:22 -0500 | [diff] [blame] | 10 | AC_ARG_ENABLE(oldname-compat, |
| 11 | AS_HELP_STRING([--disable-oldname-compat], |
| 12 | [Don't include the old libjson.so library and include/json directory.]), |
| 13 | [], |
| 14 | [enable_oldname_compat=yes] |
| 15 | ) |
| 16 | AM_CONDITIONAL(ENABLE_OLDNAME_COMPAT, [test "x${enable_oldname_compat}" != "xno"]) |
| 17 | |
Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 18 | # Checks for programs. |
| 19 | |
| 20 | # Checks for libraries. |
| 21 | |
| 22 | # Checks for header files. |
Thomas Gstädtner | 36ec47d | 2013-03-03 00:17:25 +0100 | [diff] [blame] | 23 | AC_CONFIG_HEADER(config.h) |
| 24 | AC_CONFIG_HEADER(json_config.h) |
Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 25 | AC_HEADER_STDC |
Remi Collet | 16a4a32 | 2012-11-27 11:06:49 +0100 | [diff] [blame] | 26 | AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/cdefs.h] [sys/param.h] stdarg.h locale.h) |
Eric Haszlakiewicz | b21b137 | 2012-02-15 20:44:54 -0600 | [diff] [blame] | 27 | AC_CHECK_HEADER(inttypes.h,[AC_DEFINE([JSON_C_HAVE_INTTYPES_H],[1],[Public define for json_inttypes.h])]) |
Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 28 | |
| 29 | # Checks for typedefs, structures, and compiler characteristics. |
| 30 | AC_C_CONST |
| 31 | AC_TYPE_SIZE_T |
| 32 | |
| 33 | # Checks for library functions. |
| 34 | AC_FUNC_VPRINTF |
| 35 | AC_FUNC_MEMCMP |
| 36 | AC_FUNC_MALLOC |
| 37 | AC_FUNC_REALLOC |
Even Rouault | 1a957c2 | 2013-08-12 20:49:19 +0200 | [diff] [blame] | 38 | AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale) |
Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 39 | |
Lin Xu | e7e0600 | 2012-09-09 17:33:35 -0700 | [diff] [blame] | 40 | #check if .section.gnu.warning accepts long strings (for __warn_references) |
| 41 | AC_LANG_PUSH([C]) |
| 42 | |
| 43 | AC_MSG_CHECKING([if .gnu.warning accepts long strings]) |
| 44 | AC_LINK_IFELSE([[ |
| 45 | extern void json_object_get(); |
| 46 | __asm__(".section .gnu.json_object_get,\n\t.ascii \"Please link against libjson-c instead of libjson\"\n\t.text"); |
| 47 | |
| 48 | int main(int c,char* v) {return 0;} |
| 49 | ]], [ |
| 50 | AC_DEFINE(HAS_GNU_WARNING_LONG, 1, [Define if .gnu.warning accepts long strings.]) |
| 51 | AC_MSG_RESULT(yes) |
| 52 | ], [ |
| 53 | AC_MSG_RESULT(no) |
| 54 | ]) |
| 55 | |
| 56 | AC_LANG_POP([C]) |
| 57 | |
Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 58 | AM_PROG_LIBTOOL |
| 59 | |
Emmanuele Bassi | 311686f | 2013-09-17 13:08:14 +0100 | [diff] [blame^] | 60 | # Check for the -Bsymbolic-functions linker flag |
| 61 | AC_ARG_ENABLE([Bsymbolic], |
| 62 | [AS_HELP_STRING([--disable-Bsymbolic], [Avoid linking with -Bsymbolic-function])], |
| 63 | [], |
| 64 | [enable_Bsymbolic=check]) |
| 65 | |
| 66 | AS_IF([test "x$enable_Bsymbolic" = "xcheck"], |
| 67 | [ |
| 68 | saved_LDFLAGS="${LDFLAGS}" |
| 69 | AC_MSG_CHECKING([for -Bsymbolic-functions linker flag]) |
| 70 | LDFLAGS=-Wl,-Bsymbolic-functions |
| 71 | AC_TRY_LINK([], [int main (void) { return 0; }], |
| 72 | [ |
| 73 | AC_MSG_RESULT([yes]) |
| 74 | enable_Bsymbolic=yes |
| 75 | ], |
| 76 | [ |
| 77 | AC_MSG_RESULT([no]) |
| 78 | enable_Bsymbolic=no |
| 79 | ]) |
| 80 | LDFLAGS="${saved_LDFLAGS}" |
| 81 | ]) |
| 82 | |
| 83 | AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions]) |
| 84 | AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) |
| 85 | |
Eric Haszlakiewicz | 1e89ba6 | 2012-04-22 10:27:50 -0500 | [diff] [blame] | 86 | AC_CONFIG_FILES([ |
Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 87 | Makefile |
Eric Haszlakiewicz | 1f9d199 | 2012-07-29 18:25:09 -0500 | [diff] [blame] | 88 | json.pc |
Keith Derrick | 30dd367 | 2012-03-30 12:28:32 -0700 | [diff] [blame] | 89 | json-c.pc |
Eric Haszlakiewicz | 1e89ba6 | 2012-04-22 10:27:50 -0500 | [diff] [blame] | 90 | tests/Makefile |
Eric Haszlakiewicz | 1f9d199 | 2012-07-29 18:25:09 -0500 | [diff] [blame] | 91 | json-c-uninstalled.pc |
Michael Clark | 4504df7 | 2007-03-13 08:26:20 +0000 | [diff] [blame] | 92 | ]) |
Eric Haszlakiewicz | 1e89ba6 | 2012-04-22 10:27:50 -0500 | [diff] [blame] | 93 | |
| 94 | AC_OUTPUT |
| 95 | |