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 <tri...@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 <tri...@samba.org> Autobuild-Date: Wed Nov 3 00:35:56 UTC 2010 on sn-devel-104 commit 2a5e5cd8fa651b819182a2c57b580ab278b4945a Author: Andrew Tridgell <tri...@samba.org> Date: Wed Nov 3 10:49:08 2010 +1100 waf: fixed wildcard build for full paths commit 5a3d22a25660525970e1b5c8a0e0be2090dd4d0e Author: Andrew Tridgell <tri...@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 <tri...@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