diff options
author | Gerald Carter <jerry@samba.org> | 2007-07-03 19:55:02 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:23:46 -0500 |
commit | 3a246ac46b9ae2bbc62498092a616b87732ab818 (patch) | |
tree | 4e7fc8558f19453b5a193def93c585a93c67d8ef /source3/configure.in | |
parent | 6afbd15b673fa9fd307459a61c396c3ea9370158 (diff) | |
download | samba-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.in | 15 |
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 |