[SCM] Samba Shared Repository - branch master updated

Andrew Tridgell tridge at samba.org
Tue Nov 2 18:36:02 MDT 2010


The branch, master has been updated
       via  553029b s4-build: use -Wl,--as-needed if supported
       via  2a5e5cd waf: fixed wildcard build for full paths
       via  5a3d22a waf: rerun deps calculation on LDFLAGS or CFLAGS change
       via  9cac0bf waf: fixed wildcard build
      from  b3fb311 s4-ldb: give the user a hint as to what may be wrong

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 553029b88b470362b533bbd17d028e6e61e4b8b9
Author: Andrew Tridgell <tridge at samba.org>
Date:   Wed Nov 3 10:50:16 2010 +1100

    s4-build: use -Wl,--as-needed if supported
    
    this makes our runtime load times smaller, and also means we find bugs
    that this may cause on gentoo. gentoo uses this by default
    
    Autobuild-User: Andrew Tridgell <tridge at samba.org>
    Autobuild-Date: Wed Nov  3 00:35:56 UTC 2010 on sn-devel-104

commit 2a5e5cd8fa651b819182a2c57b580ab278b4945a
Author: Andrew Tridgell <tridge at samba.org>
Date:   Wed Nov 3 10:49:08 2010 +1100

    waf: fixed wildcard build for full paths

commit 5a3d22a25660525970e1b5c8a0e0be2090dd4d0e
Author: Andrew Tridgell <tridge at samba.org>
Date:   Wed Nov 3 10:25:38 2010 +1100

    waf: rerun deps calculation on LDFLAGS or CFLAGS change

commit 9cac0bfde658ce0639a9aa65f412ae8a1eae8bdf
Author: Andrew Tridgell <tridge at samba.org>
Date:   Wed Nov 3 08:18:05 2010 +1100

    waf: fixed wildcard build
    
    this fixes minimal includes for subsystems that use autoproto

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/samba_deps.py     |    2 +-
 buildtools/wafsamba/samba_wildcard.py |   22 ++++++++++++++++++----
 source4/wscript                       |    6 ++++++
 3 files changed, 25 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py
index bf19656..13b11ff 100644
--- a/buildtools/wafsamba/samba_deps.py
+++ b/buildtools/wafsamba/samba_deps.py
@@ -950,7 +950,7 @@ savedeps_version = 3
 savedeps_inputs  = ['samba_deps', 'samba_includes', 'local_include', 'local_include_first', 'samba_cflags', 'source', 'grouping_library']
 savedeps_outputs = ['uselib', 'uselib_local', 'add_objects', 'includes', 'ccflags', 'ldflags', 'samba_deps_extended']
 savedeps_outenv  = ['INC_PATHS']
-savedeps_envvars = ['NONSHARED_BINARIES', 'GLOBAL_DEPENDENCIES']
+savedeps_envvars = ['NONSHARED_BINARIES', 'GLOBAL_DEPENDENCIES', 'EXTRA_CFLAGS', 'EXTRA_LDFLAGS' ]
 savedeps_caches  = ['GLOBAL_DEPENDENCIES', 'TARGET_TYPE', 'INIT_FUNCTIONS', 'SYSLIB_DEPS']
 savedeps_files   = ['buildtools/wafsamba/samba_deps.py']
 
diff --git a/buildtools/wafsamba/samba_wildcard.py b/buildtools/wafsamba/samba_wildcard.py
index ecf3498..5bf1267 100644
--- a/buildtools/wafsamba/samba_wildcard.py
+++ b/buildtools/wafsamba/samba_wildcard.py
@@ -5,6 +5,7 @@
 import os, datetime
 import Scripting, Utils, Options, Logs, Environment, fnmatch
 from Constants import *
+from samba_utils import *
 
 def run_task(t, k):
 	'''run a single build task'''
@@ -19,18 +20,31 @@ def run_named_build_task(cmd):
 	bld = fake_build_environment()
 	found = False
 	cwd_node = bld.root.find_dir(os.getcwd())
+	top_node = bld.root.find_dir(bld.srcnode.abspath())
+
 	cmd = os.path.normpath(cmd)
+
+	# cope with builds of bin/*/*
+	if os.path.islink(cmd):
+		cmd = os_path_relpath(os.readlink(cmd), os.getcwd())
+
+	if cmd[0:12] == "bin/default/":
+		cmd = cmd[12:]
+
 	for g in bld.task_manager.groups:
 		for attr in ['outputs', 'inputs']:
 			for t in g.tasks:
 				s = getattr(t, attr, [])
 				for k in s:
-					relpath = k.relpath_gen(cwd_node)
-					if fnmatch.fnmatch(relpath, cmd):
-						t.position= [0,0]
+					relpath1 = k.relpath_gen(cwd_node)
+					relpath2 = k.relpath_gen(top_node)
+					if (fnmatch.fnmatch(relpath1, cmd) or
+					    fnmatch.fnmatch(relpath2, cmd)):
+						t.position = [0,0]
 						print(t.display())
 						run_task(t, k)
-						return
+						found = True
+
 
 	if not found:
 		raise Utils.WafError("Unable to find build target matching %s" % cmd)
diff --git a/source4/wscript b/source4/wscript
index cbc0bf4..ac4971c 100644
--- a/source4/wscript
+++ b/source4/wscript
@@ -118,6 +118,12 @@ def configure(conf):
     # resolution of symbols
     conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True)
 
+    # gentoo always adds this. We want our normal build to be as
+    # strict as the strictest OS we support, so adding this here
+    # allows us to find problems on our development hosts faster.
+    # It also results in faster load time.
+    conf.ADD_LDFLAGS('-Wl,--as-needed', testflags=True)
+
     # we don't want PYTHONDIR in config.h, as otherwise changing
     # --prefix causes a complete rebuild
     del(conf.env.defines['PYTHONDIR'])


-- 
Samba Shared Repository


More information about the samba-cvs mailing list