[SCM] Samba Shared Repository - branch v3-5-test updated
Björn Jacke
bjacke at samba.org
Tue Oct 20 03:01:20 MDT 2009
The branch, v3-5-test has been updated
via 4d5f14b... s3:configure: add support for Solaris' ld -z ignore
via 7aaec4f... s3: make unresolved symbols in libs throw errors
via 78e8d76... s3: allow using different LDFLAGS for internal libs/plugins
from 13ff1f6... s4-dsdb: fixed empty structure error on solaris8
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test
- Log -----------------------------------------------------------------
commit 4d5f14bfd3c5de9887145caa53c3f08a7fe75a1b
Author: Björn Jacke <bj at sernet.de>
Date: Tue Oct 20 08:01:52 2009 +0200
s3:configure: add support for Solaris' ld -z ignore
try linker flags for ignoring unused libs in this order:
-Wl,--as-needed (gcc like + binutils)
-Wl,-z,ignore (gcc like + Solaris linker)
-z ignore (old Sun C)
commit 7aaec4fe68ce23b0b5880badac378f5ca4386389
Author: Björn Jacke <bj at sernet.de>
Date: Tue Oct 20 01:13:56 2009 +0200
s3: make unresolved symbols in libs throw errors
except for the Samba internal plugins unresolved symbol references should not
show up in shared libraries. For historical reasons it's the default behaviour
of linkers to ignore those in shared libs. We use -z defs (alias
--no-undefined) to not ignore them in shared libs.
commit 78e8d767877621fc34de9c7bb96837f82e80e358
Author: Björn Jacke <bj at sernet.de>
Date: Sun Oct 18 22:51:06 2009 +0200
s3: allow using different LDFLAGS for internal libs/plugins
internal libs have unresolved symbols intentionally.
Thanks to Buchan Milne for suggestion and patch. This addresses #6792.
-----------------------------------------------------------------------
Summary of changes:
source3/Makefile.in | 156 ++++++++++++++++++++++++++------------------------
source3/configure.in | 48 +++++++++++-----
2 files changed, 116 insertions(+), 88 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 4dbc8cd..6ce4769 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -45,10 +45,11 @@ CPPFLAGS=-DHAVE_CONFIG_H @CPPFLAGS@
EXEEXT=@EXEEXT@
AR=@AR@
-LDSHFLAGS=@LDSHFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@
+LDSHFLAGS=@LDSHFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@ @LDSHFLAGS_Z_DEFS@
+LDPLUGINFLAGS=@LDSHFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@ @LDSHFLAGS_Z_NODEFS@
LDFLAGS=@PIE_LDFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@
-WINBIND_NSS_LDSHFLAGS=@WINBIND_NSS_LDSHFLAGS@ @LDFLAGS@
+WINBIND_NSS_LDSHFLAGS=@WINBIND_NSS_LDSHFLAGS@ @LDFLAGS@ @LDSHFLAGS_Z_DEFS@
AWK=@AWK@
PICFLAG=@PICFLAG@
DYNEXP=@DYNEXP@
@@ -2431,9 +2432,12 @@ bin/libbigballofmud. at SHLIBEXT@: $(BINARY_PREREQS) $(LIBBIGBALLOFMUD_OBJ) $(LIBTA
#
#####################################################################
-# Linker command to link a RPC, VFS, AUTH, CHARSET or PASSDB module.
+# Linker command to link our shared libraries:
SHLD_MODULE = $(SHLD) $(LDSHFLAGS) $(MODULE_EXPORTS) \
-o $@ @SONAMEFLAG@`basename $@`
+# Linker command to link samba internal plugin modules:
+SHLD_PLUGIN = $(SHLD) $(LDPLUGINFLAGS) $(MODULE_EXPORTS) \
+ -o $@ @SONAMEFLAG@`basename $@`
bin/librpc_lsarpc. at SHLIBEXT@: $(BINARY_PREREQS) $(RPC_LSA_OBJ)
@echo "Linking $@"
@@ -2526,292 +2530,296 @@ bin/pam_winbind. at SHLIBEXT@: $(BINARY_PREREQS) $(PAM_WINBIND_OBJ) $(LIBTALLOC) $(
@$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_OBJ) -lpam @INIPARSERLIBS@ \
$(PAM_WINBIND_EXTRA_LIBS) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) @SONAMEFLAG@`basename $@`
+##########
+# Plugins:
+##########
+
bin/builtin. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_BUILTIN_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(AUTH_BUILTIN_OBJ)
+ @$(SHLD_PLUGIN) $(AUTH_BUILTIN_OBJ)
bin/domain. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_DOMAIN_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(AUTH_DOMAIN_OBJ)
+ @$(SHLD_PLUGIN) $(AUTH_DOMAIN_OBJ)
bin/script. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_SCRIPT_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(AUTH_SCRIPT_OBJ)
+ @$(SHLD_PLUGIN) $(AUTH_SCRIPT_OBJ)
bin/netlogond. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_NETLOGOND_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(AUTH_NETLOGOND_OBJ)
+ @$(SHLD_PLUGIN) $(AUTH_NETLOGOND_OBJ)
bin/smbserver. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_SERVER_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(AUTH_SERVER_OBJ)
+ @$(SHLD_PLUGIN) $(AUTH_SERVER_OBJ)
bin/winbind. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_WINBIND_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(AUTH_WINBIND_OBJ)
+ @$(SHLD_PLUGIN) $(AUTH_WINBIND_OBJ)
bin/wbc. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_WBC_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(AUTH_WBC_OBJ)
+ @$(SHLD_PLUGIN) $(AUTH_WBC_OBJ)
bin/unix. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_UNIX_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(AUTH_UNIX_OBJ)
+ @$(SHLD_PLUGIN) $(AUTH_UNIX_OBJ)
bin/sam. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_SAM_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(AUTH_SAM_OBJ)
+ @$(SHLD_PLUGIN) $(AUTH_SAM_OBJ)
bin/ldapsam. at SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_ldap.o passdb/pdb_nds.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) passdb/pdb_ldap.o passdb/pdb_nds.o $(LDAP_LIBS)
+ @$(SHLD_PLUGIN) passdb/pdb_ldap.o passdb/pdb_nds.o $(LDAP_LIBS)
bin/ads. at SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_ads.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) passdb/pdb_ads.o
+ @$(SHLD_PLUGIN) passdb/pdb_ads.o
bin/tdbsam. at SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_tdb.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) passdb/pdb_tdb.o
+ @$(SHLD_PLUGIN) passdb/pdb_tdb.o
bin/wbc_sam. at SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_wbc_sam.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) passdb/pdb_wbc_sam.o
+ @$(SHLD_PLUGIN) passdb/pdb_wbc_sam.o
bin/smbpasswd. at SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_smbpasswd.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) passdb/pdb_smbpasswd.o
+ @$(SHLD_PLUGIN) passdb/pdb_smbpasswd.o
bin/rid. at SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_rid.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) winbindd/idmap_rid.o
+ @$(SHLD_PLUGIN) winbindd/idmap_rid.o
bin/ad. at SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_ad.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) winbindd/idmap_ad.o
+ @$(SHLD_PLUGIN) winbindd/idmap_ad.o
bin/hash. at SHLIBEXT@: $(BINARY_PREREQS) $(IDMAP_HASH_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(IDMAP_HASH_OBJ)
+ @$(SHLD_PLUGIN) $(IDMAP_HASH_OBJ)
bin/adex. at SHLIBEXT@: $(BINARY_PREREQS) $(IDMAP_ADEX_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(IDMAP_ADEX_OBJ)
+ @$(SHLD_PLUGIN) $(IDMAP_ADEX_OBJ)
bin/tdb2. at SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_tdb2.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) winbindd/idmap_tdb2.o
+ @$(SHLD_PLUGIN) winbindd/idmap_tdb2.o
bin/ldap. at SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_ldap.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) winbindd/idmap_ldap.o
+ @$(SHLD_PLUGIN) winbindd/idmap_ldap.o
bin/weird. at SHLIBEXT@: $(BINARY_PREREQS) $(DEVEL_HELP_WEIRD_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(DEVEL_HELP_WEIRD_OBJ)
+ @$(SHLD_PLUGIN) $(DEVEL_HELP_WEIRD_OBJ)
bin/CP850. at SHLIBEXT@: $(BINARY_PREREQS) $(CP850_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(CP850_OBJ)
+ @$(SHLD_PLUGIN) $(CP850_OBJ)
bin/CP437. at SHLIBEXT@: $(BINARY_PREREQS) $(CP437_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(CP437_OBJ)
+ @$(SHLD_PLUGIN) $(CP437_OBJ)
bin/macosxfs. at SHLIBEXT@: $(BINARY_PREREQS) $(CHARSET_MACOSXFS_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(CHARSET_MACOSXFS_OBJ) -framework CoreFoundation
+ @$(SHLD_PLUGIN) $(CHARSET_MACOSXFS_OBJ) -framework CoreFoundation
# NOTE, there is no build rule for a dynamic default VFS module because
# this one MUST MUST MUST be built statically.
bin/audit. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AUDIT_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_AUDIT_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_AUDIT_OBJ)
bin/extd_audit. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_EXTD_AUDIT_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_EXTD_AUDIT_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_EXTD_AUDIT_OBJ)
bin/full_audit. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_FULL_AUDIT_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_FULL_AUDIT_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_FULL_AUDIT_OBJ)
bin/recycle. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_RECYCLE_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_RECYCLE_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_RECYCLE_OBJ)
bin/netatalk. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_NETATALK_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_NETATALK_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_NETATALK_OBJ)
bin/fake_perms. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_FAKE_PERMS_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_FAKE_PERMS_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_FAKE_PERMS_OBJ)
bin/default_quota. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_DEFAULT_QUOTA_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_DEFAULT_QUOTA_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_DEFAULT_QUOTA_OBJ)
bin/readonly. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_READONLY_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_READONLY_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_READONLY_OBJ)
bin/shadow_copy. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SHADOW_COPY_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_SHADOW_COPY_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_SHADOW_COPY_OBJ)
bin/shadow_copy2. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SHADOW_COPY2_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_SHADOW_COPY2_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_SHADOW_COPY2_OBJ)
bin/syncops. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SYNCOPS_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_SYNCOPS_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_SYNCOPS_OBJ)
bin/cap. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_CAP_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_CAP_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_CAP_OBJ)
bin/expand_msdfs. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_EXPAND_MSDFS_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_EXPAND_MSDFS_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_EXPAND_MSDFS_OBJ)
bin/afsacl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AFSACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_AFSACL_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_AFSACL_OBJ)
bin/xattr_tdb. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_XATTR_TDB_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_XATTR_TDB_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_XATTR_TDB_OBJ)
bin/posixacl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_POSIXACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_POSIXACL_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_POSIXACL_OBJ)
bin/aixacl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AIXACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_AIXACL_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_AIXACL_OBJ)
bin/aixacl2. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AIXACL2_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_AIXACL2_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_AIXACL2_OBJ)
bin/solarisacl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SOLARISACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_SOLARISACL_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_SOLARISACL_OBJ)
bin/zfsacl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ZFSACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_ZFSACL_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_ZFSACL_OBJ)
bin/irixacl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_IRIXACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_IRIXACL_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_IRIXACL_OBJ)
bin/hpuxacl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_HPUXACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_HPUXACL_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_HPUXACL_OBJ)
bin/tru64acl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_TRU64ACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_TRU64ACL_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_TRU64ACL_OBJ)
bin/catia. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_CATIA_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_CATIA_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_CATIA_OBJ)
bin/streams_xattr. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_STREAMS_XATTR_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_STREAMS_XATTR_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_STREAMS_XATTR_OBJ)
bin/streams_depot. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_STREAMS_DEPOT_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_STREAMS_DEPOT_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_STREAMS_DEPOT_OBJ)
bin/cacheprime. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_CACHEPRIME_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_CACHEPRIME_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_CACHEPRIME_OBJ)
bin/prealloc. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_PREALLOC_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_PREALLOC_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_PREALLOC_OBJ)
bin/commit. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_COMMIT_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_COMMIT_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_COMMIT_OBJ)
bin/gpfs. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_GPFS_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_GPFS_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_GPFS_OBJ)
bin/notify_fam. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_NOTIFY_FAM_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_NOTIFY_FAM_OBJ) @SMB_FAM_LIBS@
+ @$(SHLD_PLUGIN) $(VFS_NOTIFY_FAM_OBJ) @SMB_FAM_LIBS@
bin/readahead. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_READAHEAD_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_READAHEAD_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_READAHEAD_OBJ)
bin/tsmsm. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_TSMSM_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_TSMSM_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_TSMSM_OBJ)
bin/fileid. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_FILEID_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_FILEID_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_FILEID_OBJ)
bin/aio_fork. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AIO_FORK_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_AIO_FORK_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_AIO_FORK_OBJ)
bin/preopen. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_PREOPEN_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_PREOPEN_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_PREOPEN_OBJ)
bin/acl_xattr. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ACL_XATTR_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_ACL_XATTR_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_ACL_XATTR_OBJ)
bin/smb_traffic_analyzer. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SMB_TRAFFIC_ANALYZER_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_SMB_TRAFFIC_ANALYZER_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_SMB_TRAFFIC_ANALYZER_OBJ)
bin/acl_tdb. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ACL_TDB_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_ACL_TDB_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_ACL_TDB_OBJ)
bin/onefs. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ONEFS_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_ONEFS_OBJ) @ONEFS_LIBS@
+ @$(SHLD_PLUGIN) $(VFS_ONEFS_OBJ) @ONEFS_LIBS@
bin/onefs_shadow_copy. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ONEFS_SHADOW_COPY_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_ONEFS_SHADOW_COPY_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_ONEFS_SHADOW_COPY_OBJ)
bin/pc_onefs. at SHLIBEXT@: $(BINARY_PREREQS) $(PERFCOUNT_ONEFS_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(PERFCOUNT_ONEFS_OBJ)
+ @$(SHLD_PLUGIN) $(PERFCOUNT_ONEFS_OBJ)
bin/pc_test. at SHLIBEXT@: $(BINARY_PREREQS) $(PERFCOUNT_TEST_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(PERFCOUNT_TEST_OBJ)
+ @$(SHLD_PLUGIN) $(PERFCOUNT_TEST_OBJ)
bin/registry. at SHLIBEXT@: $(BINARY_PREREQS) libgpo/gpext/registry.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) libgpo/gpext/registry.o
+ @$(SHLD_PLUGIN) libgpo/gpext/registry.o
bin/scripts. at SHLIBEXT@: $(BINARY_PREREQS) libgpo/gpext/scripts.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) libgpo/gpext/scripts.o
+ @$(SHLD_PLUGIN) libgpo/gpext/scripts.o
bin/security. at SHLIBEXT@: $(BINARY_PREREQS) libgpo/gpext/security.o
@echo "Building plugin $@"
- @$(SHLD_MODULE) libgpo/gpext/security.o
+ @$(SHLD_PLUGIN) libgpo/gpext/security.o
bin/dirsort. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_DIRSORT_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_DIRSORT_OBJ)
+ @$(SHLD_PLUGIN) $(VFS_DIRSORT_OBJ)
#########################################################
## IdMap NSS plugins
diff --git a/source3/configure.in b/source3/configure.in
index 8781cce..be93ce5 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -377,6 +377,10 @@ esac
DYNEXP=
AC_SUBST(DYNEXP)
+LDSHFLAGS_Z_DEFS=
+AC_SUBST(LDSHFLAGS_Z_DEFS)
+LDSHFLAGS_Z_NODEFS=
+AC_SUBST(LDSHFLAGS_Z_NODEFS)
dnl Add modules that have to be built by default here
dnl These have to be built static:
@@ -1507,10 +1511,9 @@ DSO_EXPORTS=""
AC_DEFINE(LINUX,1,[Whether the host os is linux]) ;;
esac
BLDSHARED="true"
+ LDSHFLAGS="-shared -Wl,-Bsymbolic"
if test "${ac_cv_gnu_ld_no_default_allow_shlib_undefined}" = "yes"; then
- LDSHFLAGS="-shared -Wl,-Bsymbolic -Wl,--allow-shlib-undefined"
- else
- LDSHFLAGS="-shared -Wl,-Bsymbolic"
+ LDSHFLAGS_Z_NODEFS="-Wl,--allow-shlib-undefined"
fi
DYNEXP="-Wl,--export-dynamic"
PICFLAG="-fPIC"
@@ -1705,23 +1708,40 @@ fi
AC_MSG_RESULT($BLDSHARED)
-if test x"${ac_cv_prog_gnu_ld}" = x"yes"; then
+for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
saved_ldflags="$LDFLAGS"
- AC_MSG_CHECKING([if --as-needed works])
- LDFLAGS="--as-needed $saved_ldflags"
- AC_TRY_LINK([],[],
- [AC_MSG_RESULT([yes])
- LD_AS_NEEDED_FLAG=--as-needed],
- AC_MSG_RESULT([no]))
- AC_MSG_CHECKING([if -Wl,--as-needed works])
- LDFLAGS="-Wl,--as-needed $saved_ldflags"
+ AC_MSG_CHECKING([if $flags works])
+ LDFLAGS="$flags $saved_ldflags"
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes])
- LD_AS_NEEDED_FLAG=-Wl,--as-needed],
+ LD_AS_NEEDED_FLAG=$flags
+ ld_as_needed_flag_found=yes],
AC_MSG_RESULT([no]))
LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
-fi
+ test x"$ld_as_needed_flag_found" = xyes && break
+done
+
+# for historical reasons almost all linkers don't complain about unresolved
+# symbols in shared libs. Except for the internal samba modules we want to get
+# errors when we produce a shared lib with unresolved symbols. On some
+# platforms unresolved symbols might be intended, so we might have to add
+# platform specific exceptions here.
+
+for flags in "-Wl,-z,defs" "-error_unresolved" "-Wl,-error_unresolved" ; do
+ saved_ldflags="$LDFLAGS"
+ AC_MSG_CHECKING([if $flags works])
+ LDFLAGS="$flags $saved_ldflags"
+ AC_TRY_LINK([],[],
+ [AC_MSG_RESULT([yes])
+ LDSHFLAGS_Z_DEFS=$flags
+ ldshflags_z_defs_found=yes],
+ AC_MSG_RESULT([no]))
+ LDFLAGS=$saved_ldflags
+ test x"$ldshflags_z_defs_found" = xyes && break
+done
+AC_MSG_CHECKING([LDSHFLAGS_Z_DEFS])
+AC_MSG_RESULT([$LDSHFLAGS_Z_DEFS])
AC_MSG_CHECKING([LDFLAGS])
AC_MSG_RESULT([$LDFLAGS])
AC_MSG_CHECKING([DYNEXP])
--
Samba Shared Repository
More information about the samba-cvs
mailing list