[SCM] Samba Shared Repository - branch master updated
Andrew Tridgell
tridge at samba.org
Wed Oct 19 01:03:03 MDT 2011
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 <tridge at 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 <amitay at gmail.com>
Autobuild-User: Andrew Tridgell <tridge at 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
More information about the samba-cvs
mailing list