[SCM] Samba Shared Repository - branch master updated
Jelmer Vernooij
jelmer at samba.org
Wed Oct 13 06:53:01 MDT 2010
The branch, master has been updated
via 5954e71 wafsamba/developer: Forbid shared objects with unresolved symbols, if the linker supports such a flag.
via 870de46 wafsamba: Don't allow circular dependencies involving libraries by default.
via ffb71f8 dsdb/schema_data: Build as shared object.
via 4313f0f dsdb/schema_load: Build as shared object.
via e07ca6f samdb: Build as library.
from d5e5992 ldb: raise minor version number for new ldb_msg_match_error() function
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 5954e7173a5aecb0998e359c2eff97e75fbe57f4
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Wed Oct 13 14:10:58 2010 +0200
wafsamba/developer: Forbid shared objects with unresolved symbols, if
the linker supports such a flag.
Autobuild-User: Jelmer Vernooij <jelmer at samba.org>
Autobuild-Date: Wed Oct 13 12:52:22 UTC 2010 on sn-devel-104
commit 870de461cbc42f48ab67c4ba0e768e10580924c5
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Wed Oct 13 13:58:25 2010 +0200
wafsamba: Don't allow circular dependencies involving libraries by
default.
commit ffb71f8ee3f21f56be66cd94aea054e7efcfcbaf
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Wed Oct 13 02:47:33 2010 +0200
dsdb/schema_data: Build as shared object.
commit 4313f0fbb556fa22bae7d7bd4bc10202476691ee
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Wed Oct 13 02:36:06 2010 +0200
dsdb/schema_load: Build as shared object.
commit e07ca6f8e1710af3e9ced2d7b66f5208aff85119
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Wed Oct 13 02:27:20 2010 +0200
samdb: Build as library.
-----------------------------------------------------------------------
Summary of changes:
buildtools/wafsamba/samba_autoconf.py | 2 +-
buildtools/wafsamba/samba_deps.py | 24 +++++++++++++++++-------
source4/dsdb/samdb/ldb_modules/wscript_build | 4 ++--
source4/dsdb/wscript_build | 2 +-
4 files changed, 21 insertions(+), 11 deletions(-)
Changeset truncated at 500 lines:
diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
index 5ff8416..9835204 100644
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
@@ -562,7 +562,7 @@ def SAMBA_CONFIG_H(conf, path=None):
if Options.options.developer:
# we add these here to ensure that -Wstrict-prototypes is not set during configure
- conf.ADD_CFLAGS('-Wall -g -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -Wformat=2 -Wno-format-y2k',
+ conf.ADD_CFLAGS('-Wall -g -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -Wformat=2 -Wno-format-y2k -Wl,-no-undefined',
testflags=True)
if Options.options.picky_developer:
diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py
index 8bd8ad3..553a91a 100644
--- a/buildtools/wafsamba/samba_deps.py
+++ b/buildtools/wafsamba/samba_deps.py
@@ -13,6 +13,12 @@ def ADD_GLOBAL_DEPENDENCY(ctx, dep):
ctx.env.GLOBAL_DEPENDENCIES.append(dep)
+ at conf
+def BREAK_CIRCULAR_LIBRARY_DEPENDENCIES(ctx):
+ '''indicate that circular dependencies between libraries should be broken.'''
+ ctx.env.ALLOW_CIRCULAR_LIB_DEPENDENCIES = True
+
+
def TARGET_ALIAS(bld, target, alias):
'''define an alias for a target name'''
cache = LOCAL_CACHE(bld, 'TARGET_ALIAS')
@@ -706,13 +712,17 @@ def calculate_final_deps(bld, tgt_list, loops):
for l in t.final_libs.copy():
t2 = bld.name_to_obj(l, bld.env)
if t.sname in t2.final_libs:
- # we could break this in either direction. If one of the libraries
- # has a version number, and will this be distributed publicly, then
- # we should make it the lower level library in the DAG
- Logs.warn('deps: removing library loop %s from %s' % (t.sname, t2.sname))
- dependency_loop(loops, t, t2.sname)
- t2.final_libs.remove(t.sname)
-
+ if getattr(bld.env, "ALLOW_CIRCULAR_LIB_DEPENDENCIES", False):
+ # we could break this in either direction. If one of the libraries
+ # has a version number, and will this be distributed publicly, then
+ # we should make it the lower level library in the DAG
+ Logs.warn('deps: removing library loop %s from %s' % (t.sname, t2.sname))
+ dependency_loop(loops, t, t2.sname)
+ t2.final_libs.remove(t.sname)
+ else:
+ Logs.error('ERROR: circular library dependency between %s and %s'
+ % (t.sname, t2.sname))
+ sys.exit(1)
for loop in loops:
debug('deps: Found dependency loops for target %s : %s', loop, loops[loop])
diff --git a/source4/dsdb/samdb/ldb_modules/wscript_build b/source4/dsdb/samdb/ldb_modules/wscript_build
index dc143f5..c6aa1d5 100644
--- a/source4/dsdb/samdb/ldb_modules/wscript_build
+++ b/source4/dsdb/samdb/ldb_modules/wscript_build
@@ -67,7 +67,7 @@ bld.SAMBA_MODULE('ldb_schema_load',
source='schema_load.c',
subsystem='ldb',
init_function='LDB_MODULE(schema_load)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
+ internal_module=False,
deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
)
@@ -76,7 +76,7 @@ bld.SAMBA_MODULE('ldb_schema_data',
source='schema_data.c',
subsystem='ldb',
init_function='LDB_MODULE(schema_data)',
- internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'),
+ internal_module=False,
deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
)
diff --git a/source4/dsdb/wscript_build b/source4/dsdb/wscript_build
index 7010698..dd8c21c 100644
--- a/source4/dsdb/wscript_build
+++ b/source4/dsdb/wscript_build
@@ -2,7 +2,7 @@
bld.RECURSE('samdb/ldb_modules')
-bld.SAMBA_SUBSYSTEM('SAMDB',
+bld.SAMBA_LIBRARY('SAMDB',
source='samdb/samdb.c samdb/samdb_privilege.c samdb/cracknames.c repl/replicated_objects.c',
autoproto='samdb/samdb_proto.h',
public_deps='krb5',
--
Samba Shared Repository
More information about the samba-cvs
mailing list