summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2013-10-17 10:20:45 -0500
committerAndreas Hansson <andreas.hansson@arm.com>2013-10-17 10:20:45 -0500
commit8a8e5cdc7ee0582cc3cb1d3f17319c8c39a72502 (patch)
treeb7da9a43732194b8da55fb3a37cca22a05628c2c /src
parent735847179dda4ecdd903a28388da3d5439ae0692 (diff)
downloadgem5-8a8e5cdc7ee0582cc3cb1d3f17319c8c39a72502.tar.xz
build: Place proto output in the same directory, also for EXTRAS
This patch changes the ProtoBuf builder such that the generated source and header is placed in the build directory of the proto file. This was previously not the case for the directories included as EXTRAS. To make this work, we also ensure that the build directory for the EXTRAS are added to the include path (which does not seem to automatically be the case).
Diffstat (limited to 'src')
-rwxr-xr-xsrc/SConscript9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/SConscript b/src/SConscript
index 3e9196cd5..133541795 100755
--- a/src/SConscript
+++ b/src/SConscript
@@ -246,8 +246,8 @@ class ProtoBuf(SourceFile):
# Currently, we stick to generating the C++ headers, so we
# only need to track the source and header.
- self.cc_file = File(joinpath(self.dirname, modname + '.pb.cc'))
- self.hh_file = File(joinpath(self.dirname, modname + '.pb.h'))
+ self.cc_file = File(modname + '.pb.cc')
+ self.hh_file = File(modname + '.pb.h')
class UnitTest(object):
'''Create a UnitTest'''
@@ -335,6 +335,11 @@ for root, dirs, files in os.walk(base_dir, topdown=True):
for extra_dir in extras_dir_list:
prefix_len = len(dirname(extra_dir)) + 1
+
+ # Also add the corresponding build directory to pick up generated
+ # include files.
+ env.Append(CPPPATH=Dir(joinpath(env['BUILDDIR'], extra_dir[prefix_len:])))
+
for root, dirs, files in os.walk(extra_dir, topdown=True):
# if build lives in the extras directory, don't walk down it
if 'build' in dirs: