The branch, master has been updated via 5c5fc5d build: added deletion of stale .so and .o files from 416bf1c samba.getopt: Add some basic tests.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 5c5fc5dde45618b9ec9f41fbb4aa090b161ebf35 Author: Andrew Tridgell <tri...@samba.org> Date: Wed Oct 19 16:34:32 2011 +1100 build: added deletion of stale .so and .o files when we change our build rules to move a C file, we need to remove the old ('stale') .so and .o files from the build directory, or they may be used as part of the new build, which means that old code will be linked in. This expands the list of stale files that we remove on rule changes to include .so and .o files Pair-Programmed-With: Amitay Isaacs <ami...@gmail.com> Autobuild-User: Andrew Tridgell <tri...@samba.org> Autobuild-Date: Wed Oct 19 09:02:23 CEST 2011 on sn-devel-104 ----------------------------------------------------------------------- Summary of changes: buildtools/wafsamba/stale_files.py | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/buildtools/wafsamba/stale_files.py b/buildtools/wafsamba/stale_files.py index 2b94f08..1ee1ff9 100644 --- a/buildtools/wafsamba/stale_files.py +++ b/buildtools/wafsamba/stale_files.py @@ -58,7 +58,20 @@ def replace_refill_task_list(self): try: if getattr(x, 'target'): tlist = samba_utils.TO_LIST(getattr(x, 'target')) + ttype = getattr(x, 'samba_type', None) + task_list = getattr(x, 'compiled_tasks', []) + if task_list: + # this gets all of the .o files, including the task + # ids, so foo.c maps to foo_3.o for idx=3 + for tsk in task_list: + for output in tsk.outputs: + objpath = os.path.normpath(output.abspath(bld.env)) + expected.append(objpath) for t in tlist: + if ttype in ['LIBRARY','MODULE']: + t = samba_utils.apply_pattern(t, bld.env.shlib_PATTERN) + if ttype == 'PYTHON': + t = samba_utils.apply_pattern(t, bld.env.pyext_PATTERN) p = os.path.join(x.path.abspath(bld.env), t) p = os.path.normpath(p) expected.append(p) @@ -78,13 +91,14 @@ def replace_refill_task_list(self): p = link if f in ['config.h']: continue - if f[-2:] not in [ '.c', '.h' ]: + (froot, fext) = os.path.splitext(f) + if fext not in [ '.c', '.h', '.so', '.o' ]: continue if f[-7:] == '.inst.h': continue if p.find("/.conf") != -1: continue - if not p in expected: + if not p in expected and os.path.exists(p): Logs.warn("Removing stale file: %s" % p) os.unlink(p) return iit -- Samba Shared Repository