build: Add missing dependencies when building param SWIG interfaces

This patch adds an explicit dependency between param_%s.i and the
Python source file defining the object. Previously, the build system
didn't rebuild SWIG interfaces correctly when an object's Python
sources were updated.
This commit is contained in:
Andreas Sandberg 2012-09-25 11:49:40 -05:00
parent 4f8ad7aa05
commit 1b29352dd5

View file

@ -634,11 +634,14 @@ for name,enum in sorted(all_enums.iteritems()):
SwigSource('m5.internal', i_file)
# Generate SimObject SWIG wrapper files
for name in sim_objects.iterkeys():
for name,simobj in sim_objects.iteritems():
py_source = PySource.modules[simobj.__module__]
extra_deps = [ py_source.tnode ]
i_file = File('python/m5/internal/param_%s.i' % name)
env.Command(i_file, Value(name),
MakeAction(createSimObjectSwigWrapper, Transform("SO SWIG")))
env.Depends(i_file, depends)
env.Depends(i_file, depends + extra_deps)
SwigSource('m5.internal', i_file)
# Generate the main swig init file