summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Haszlakiewicz <erh+git@nimenees.com>2014-02-11 23:05:54 -0500
committerEric Haszlakiewicz <erh+git@nimenees.com>2014-02-11 23:05:54 -0500
commitc8e0497d4759a1e0a1f3a806fc239e055b845827 (patch)
tree006ee318f0f8603495ed63b1a285863a05a666e6
parenta2c078fc6eaf92dfe68d11bc2089e9e7c91f47c0 (diff)
parent311686f63ed26e510c50808977c31883fe7bc23d (diff)
downloadjson-c-c8e0497d4759a1e0a1f3a806fc239e055b845827.tar.gz
Merge branch 'master' of https://github.com/ebassi/json-c into ebassi-master
Conflicts: Makefile.am
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac26
2 files changed, 27 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 8f76acb..f06eb31 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -30,7 +30,7 @@ libjson_cinclude_HEADERS = \
#libjsonx_include_HEADERS = \
# json_config.h
-libjson_c_la_LDFLAGS = -version-info 2:0:0 -no-undefined
+libjson_c_la_LDFLAGS = -version-info 2:0:0 -no-undefined @JSON_BSYMBOLIC_LDFLAGS@
libjson_c_la_SOURCES = \
arraylist.c \
diff --git a/configure.ac b/configure.ac
index b6eae8c..878caea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -49,6 +49,32 @@ AC_LANG_POP([C])
AM_PROG_LIBTOOL
+# Check for the -Bsymbolic-functions linker flag
+AC_ARG_ENABLE([Bsymbolic],
+ [AS_HELP_STRING([--disable-Bsymbolic], [Avoid linking with -Bsymbolic-function])],
+ [],
+ [enable_Bsymbolic=check])
+
+AS_IF([test "x$enable_Bsymbolic" = "xcheck"],
+ [
+ saved_LDFLAGS="${LDFLAGS}"
+ AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
+ LDFLAGS=-Wl,-Bsymbolic-functions
+ AC_TRY_LINK([], [int main (void) { return 0; }],
+ [
+ AC_MSG_RESULT([yes])
+ enable_Bsymbolic=yes
+ ],
+ [
+ AC_MSG_RESULT([no])
+ enable_Bsymbolic=no
+ ])
+ LDFLAGS="${saved_LDFLAGS}"
+ ])
+
+AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions])
+AC_SUBST(JSON_BSYMBOLIC_LDFLAGS)
+
AC_CONFIG_FILES([
Makefile
json-c.pc