scons: Use the generalized switching headers on the GPU ISA.
authorGabe Black <gabeblack@google.com>
Tue, 2 May 2017 05:05:00 +0000 (22:05 -0700)
committerGabe Black <gabeblack@google.com>
Wed, 10 May 2017 16:53:05 +0000 (16:53 +0000)
Now that the switching header implementation has been generalized, there's
no need to have two nearly identical implementations for the two different
groups of headers.

Change-Id: Ie7c24fcddbc672ac5ca2d69bfc35696f42c55580
Reviewed-on: https://gem5-review.googlesource.com/2984
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
Reviewed-by: Tony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
SConstruct
src/arch/SConscript

index 1efd1068dea25456808e150a61326e7e746653ee..30f99c7b21703f148e6912d2d39fdd9641cb007a 100755 (executable)
@@ -1331,8 +1331,6 @@ main.Prepend(CPPPATH=Dir('ext/pybind11/include/'))
 #
 ###################################################
 
-main['ALL_GPU_ISA_LIST'] = all_gpu_isa_list
-
 def build_switching_header(target, source, env):
     path = str(target[0])
     subdir = str(source[0])
@@ -1357,35 +1355,6 @@ def switching_headers(self, headers, source):
 
 main.AddMethod(switching_headers, 'SwitchingHeaders')
 
-def make_gpu_switching_dir(dname, switch_headers, env):
-    # Generate the header.  target[0] is the full path of the output
-    # header to generate.  'source' is a dummy variable, since we get the
-    # list of ISAs from env['ALL_ISA_LIST'].
-    def gen_switch_hdr(target, source, env):
-        fname = str(target[0])
-
-        isa = env['TARGET_GPU_ISA'].lower()
-
-        try:
-            f = open(fname, 'w')
-            print >>f, '#include "%s/%s/%s"' % (dname, isa, basename(fname))
-            f.close()
-        except IOError:
-            print "Failed to create %s" % fname
-            raise
-
-    # Build SCons Action object. 'varlist' specifies env vars that this
-    # action depends on; when env['ALL_ISA_LIST'] changes these actions
-    # should get re-executed.
-    switch_hdr_action = MakeAction(gen_switch_hdr,
-                          Transform("GENERATE"), varlist=['ALL_ISA_GPU_LIST'])
-
-    # Instantiate actions for each header
-    for hdr in switch_headers:
-        env.Command(hdr, [], switch_hdr_action)
-
-Export('make_gpu_switching_dir')
-
 # all-isas -> all-deps -> all-environs -> all_targets
 main.Alias('#all-isas', [])
 main.Alias('#all-deps', '#all-isas')
index 891a5a29a80470a7555a0e04062131b72a6231fd..ea940560d08fd2d59e807cd954f52eb8a81c9022 100644 (file)
@@ -67,13 +67,13 @@ env.SwitchingHeaders(
     env.subst('${TARGET_ISA}'))
 
 if env['BUILD_GPU']:
-    gpu_isa_switch_hdrs = Split('''
+    env.SwitchingHeaders(
+        Split('''
             gpu_decoder.hh
             gpu_isa.hh
             gpu_types.hh
-            ''')
-
-    make_gpu_switching_dir('arch', gpu_isa_switch_hdrs, env)
+            '''),
+        env.subst('${TARGET_GPU_ISA}'))
 
 #################################################################
 #