diff --git a/source/lib/ldb/Makefile.in b/source/lib/ldb/Makefile.in index 4a440e205a4..a87d39f1238 100644 --- a/source/lib/ldb/Makefile.in +++ b/source/lib/ldb/Makefile.in @@ -34,7 +34,7 @@ LDAP_LIBS = @LDAP_LIBS@ SHLIBEXT = @SHLIBEXT@ -LD_EXPORT_DYNAMIC = -Wl,--export-dynamic +LD_EXPORT_DYNAMIC = @LD_EXPORT_DYNAMIC@ CFLAGS=-g -I$(srcdir)/include -Iinclude -I$(srcdir) -I$(srcdir)/.. \ $(POPT_CFLAGS) $(TALLOC_CFLAGS) $(TDB_CFLAGS) \ diff --git a/source/lib/ldb/configure.ac b/source/lib/ldb/configure.ac index 6f19d882909..fac5d1542ec 100644 --- a/source/lib/ldb/configure.ac +++ b/source/lib/ldb/configure.ac @@ -71,5 +71,7 @@ fi AC_SUBST(TESTS) AC_SUBST(EXTRA_OBJ) +AC_LD_EXPORT_DYNAMIC + m4_include(libldb.m4) AC_OUTPUT(Makefile ldb.pc) diff --git a/source/lib/replace/libreplace.m4 b/source/lib/replace/libreplace.m4 index dd7dbf4e473..a02167ed176 100644 --- a/source/lib/replace/libreplace.m4 +++ b/source/lib/replace/libreplace.m4 @@ -355,5 +355,6 @@ CFLAGS="$CFLAGS -I$libreplacedir" ]) m4_include(libreplace_cc.m4) +m4_include(libreplace_ld.m4) m4_include(libreplace_macros.m4) m4_include(autoconf-2.60.m4) diff --git a/source/lib/replace/libreplace_ld.m4 b/source/lib/replace/libreplace_ld.m4 new file mode 100644 index 00000000000..8d7d3d7ebb7 --- /dev/null +++ b/source/lib/replace/libreplace_ld.m4 @@ -0,0 +1,10 @@ +AC_DEFUN([AC_LD_EXPORT_DYNAMIC], +[ +saved_LDFLAGS="$LDFLAGS" +LDFLAGS="$LDFLAGS -Wl,--export-dynamic" +AC_LINK_IFELSE([ int main() { return 0; } ], +[ LD_EXPORT_DYNAMIC=-Wl,--export-dynamic ], +[ LD_EXPORT_DYNAMIC= ]) +AC_SUBST(LD_EXPORT_DYNAMIC) +LDFLAGS="$saved_LDFLAGS" +])