summaryrefslogtreecommitdiff
path: root/source3/configure.in
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2007-07-03 19:55:02 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:23:46 -0500
commit3a246ac46b9ae2bbc62498092a616b87732ab818 (patch)
tree4e7fc8558f19453b5a193def93c585a93c67d8ef /source3/configure.in
parent6afbd15b673fa9fd307459a61c396c3ea9370158 (diff)
downloadsamba-3a246ac46b9ae2bbc62498092a616b87732ab818.tar.gz
samba-3a246ac46b9ae2bbc62498092a616b87732ab818.tar.bz2
samba-3a246ac46b9ae2bbc62498092a616b87732ab818.zip
r23689: Squashed commit of the following:
commit 0d4bbd197198a94bf4e29e0ccd175a40a60097f3 Author: Gerald (Jerry) Carter <jerry@samba.org> Date: Mon Jul 2 20:08:19 2007 -0500 Introduce GNU ld linker export-script for hiding non-public symbols in shared libraries. Based on initial patch from Julien Cristau <jcristau@debian.org> and suggestions from James Peach <jpeach@samba.org>. Currently the libsmbsharemodes libraries still exports *. Signed off on my Derrell as well. (This used to be commit c42cf731b4b259c5c1a874fd1837ca85144f1a58)
Diffstat (limited to 'source3/configure.in')
-rw-r--r--source3/configure.in15
1 files changed, 13 insertions, 2 deletions
diff --git a/source3/configure.in b/source3/configure.in
index b37e59c35b..4c718bc6ee 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -283,6 +283,7 @@ AC_SUBST(LDSHFLAGS)
AC_SUBST(MODULE_EXPORTS)
AC_SUBST(SONAMEFLAG)
AC_SUBST(SHLD)
+AC_SUBST(DSO_EXPORTS)
AC_SUBST(HOST_OS)
AC_SUBST(PICFLAG)
AC_SUBST(PIE_CFLAGS)
@@ -545,6 +546,9 @@ if test "$ac_cv_prog_gnu_ld" = "yes"; then
if test "$ac_cv_gnu_ld_date" -lt 20030217; then
ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes
fi
+ if test "$ac_cv_gnu_ld_date" -gt 20030101; then
+ ac_cv_gnu_ld_version_script=yes
+ fi
else
AC_MSG_CHECKING(GNU ld release version)
changequote(,)dnl
@@ -560,6 +564,9 @@ if test "$ac_cv_prog_gnu_ld" = "yes"; then
if test "$ac_cv_gnu_ld_vernr_major" -lt 2 || test "$ac_cv_gnu_ld_vernr_minor" -lt 14; then
ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes
fi
+ if test "$ac_cv_gnu_ld_vernr_major" -gt 2 || test "$ac_cv_gnu_l= d_vernr_major"=2 && test "$ac_cv_gnu_ld_vernr_minor" -ge 12; then
+ ac_cv_gnu_ld_version_script=yes
+ fi
fi
fi
@@ -1839,7 +1846,7 @@ SONAMEFLAG="#"
SHLD="\${CC} \${CFLAGS}"
PICFLAG="${PIE_CFLAGS}"
SHLIBEXT="so"
-
+DSO_EXPORTS=""
# this bit needs to be modified for each OS that supports share libs
# You need to specify how to create a shared library and
@@ -2037,6 +2044,10 @@ if test "$enable_shared" != "yes"; then
BLDSHARED=false
fi
+if test "$enable_shared" = yes -a "${ac_cv_gnu_ld_version_script}" = yes; then
+ DSO_EXPORTS=\$\(DSO_EXPORTS_CMD\)
+fi
+
AC_MSG_RESULT($BLDSHARED)
AC_MSG_CHECKING([LDFLAGS])
@@ -6469,7 +6480,7 @@ AC_SUBST(builddir)
SMBD_LIBS="$samba_dmapi_libs"
AC_SUBST(SMBD_LIBS)
-AC_OUTPUT(Makefile script/findsmb smbadduser script/gen-8bit-gap.sh script/installbin.sh script/uninstallbin.sh)
+AC_OUTPUT(Makefile library-versions script/findsmb smbadduser script/gen-8bit-gap.sh script/installbin.sh script/uninstallbin.sh)
#################################################
# Print very concise instructions on building/use