summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/build/m4/rewrite.m49
-rw-r--r--source4/build/smb_build/core.m45
-rw-r--r--source4/build/smb_build/env.m42
-rw-r--r--source4/build/smb_build/output.pl2
4 files changed, 16 insertions, 2 deletions
diff --git a/source4/build/m4/rewrite.m4 b/source4/build/m4/rewrite.m4
index 465a3354fa..bd29d03c1f 100644
--- a/source4/build/m4/rewrite.m4
+++ b/source4/build/m4/rewrite.m4
@@ -670,7 +670,6 @@ case "$host_os" in
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
;;
esac
-AC_SUBST(DYNEXP)
AC_MSG_RESULT($BLDSHARED)
AC_MSG_CHECKING([linker flags for shared libraries])
AC_MSG_RESULT([$LDSHFLAGS])
@@ -701,6 +700,14 @@ if test $ac_cv_shlib_works = no; then
fi
fi
+SMB_INFO_BUILD_ENV="$SMB_INFO_BUILD_ENV
+#############################################
+# Start Tell the Linker to export all symbols
+@{\$SMB_BUILD_CTX->{BUILD_ENV}{LD}{DYNEXP}} = str2array(\"$DYNEXP\");
+# End Tell the Linker to export all symbols
+#############################################
+"
+
#
# Check if the compiler supports the LL prefix on long long integers.
# AIX needs this.
diff --git a/source4/build/smb_build/core.m4 b/source4/build/smb_build/core.m4
index df95610c98..366b0a364d 100644
--- a/source4/build/smb_build/core.m4
+++ b/source4/build/smb_build/core.m4
@@ -44,6 +44,11 @@ cat >> config.smb_build.pl <<\_SMB_ACEOF
###########################################################
#
#########################################
+## Start Build Env
+$SMB_INFO_BUILD_ENV
+## End Build Env
+#########################################
+#########################################
## Start Ext Libs
$SMB_INFO_EXT_LIBS
## End Ext Libs
diff --git a/source4/build/smb_build/env.m4 b/source4/build/smb_build/env.m4
index 896e128bd3..601eba2e15 100644
--- a/source4/build/smb_build/env.m4
+++ b/source4/build/smb_build/env.m4
@@ -15,6 +15,8 @@ fi
AC_VALIDATE_CACHE_SYSTEM_TYPE
+SMB_INFO_BUILD_ENV=""
+
sinclude(build/smb_build/check_path.m4)
sinclude(build/smb_build/check_perl.m4)
sinclude(build/smb_build/check_cc.m4)
diff --git a/source4/build/smb_build/output.pl b/source4/build/smb_build/output.pl
index 99a0eddb43..0ee456bff6 100644
--- a/source4/build/smb_build/output.pl
+++ b/source4/build/smb_build/output.pl
@@ -212,7 +212,7 @@ sub _generate_binaries($)
}
# Export all symbols...
- push(@LINK_FLAGS,"\@DYNEXP\@");
+ push(@LINK_FLAGS,@{$CTX->{BUILD_ENV}{LD}{DYNEXP}});
#
# set the lists