1# -*- mode:python -*- 2 3# Copyright (c) 2013, 2015, 2016 ARM Limited 4# All rights reserved. 5# 6# The license below extends only to copyright in the software and shall 7# not be construed as granting a license to any other intellectual 8# property including but not limited to intellectual property relating --- 1310 unchanged lines hidden (view full) --- 1319 build_dir = os.path.relpath(root, ext_dir) 1320 main.SConscript(joinpath(root, 'SConscript'), 1321 variant_dir=joinpath(build_root, build_dir)) 1322 1323main.Prepend(CPPPATH=Dir('ext/pybind11/include/')) 1324 1325################################################### 1326# |
1327# This builder and wrapper method are used to set up a directory with 1328# switching headers. Those are headers which are in a generic location and 1329# that include more specific headers from a directory chosen at build time 1330# based on the current build settings. |
1331# 1332################################################### 1333 |
1334main['ALL_GPU_ISA_LIST'] = all_gpu_isa_list |
1335 |
1336def build_switching_header(target, source, env): 1337 path = str(target[0]) 1338 subdir = str(source[0]) 1339 dp, fp = os.path.split(path) 1340 dp = os.path.relpath(os.path.realpath(dp), 1341 os.path.realpath(env['BUILDDIR'])) 1342 with open(path, 'w') as hdr: 1343 print >>hdr, '#include "%s/%s/%s"' % (dp, subdir, fp) |
1344 |
1345switching_header_action = MakeAction(build_switching_header, 1346 Transform('GENERATE')) |
1347 |
1348switching_header_builder = Builder(action=switching_header_action, 1349 source_factory=Value, 1350 single_source=True) |
1351 |
1352main.Append(BUILDERS = { 'SwitchingHeader': switching_header_builder }) 1353 1354def switching_headers(self, headers, source): 1355 for header in headers: 1356 self.SwitchingHeader(header, source) 1357 1358main.AddMethod(switching_headers, 'SwitchingHeaders') 1359 |
1360def make_gpu_switching_dir(dname, switch_headers, env): 1361 # Generate the header. target[0] is the full path of the output 1362 # header to generate. 'source' is a dummy variable, since we get the 1363 # list of ISAs from env['ALL_ISA_LIST']. 1364 def gen_switch_hdr(target, source, env): 1365 fname = str(target[0]) 1366 1367 isa = env['TARGET_GPU_ISA'].lower() --- 191 unchanged lines hidden --- |