[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