mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
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@gmail.com> Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Wed Oct 19 09:02:23 CEST 2011 on sn-devel-104
This commit is contained in:
parent
416bf1c677
commit
5c5fc5dde4
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user