@@ -307,6 +307,7 @@ def get_symbols(self):
307
307
# Target and Toolchain symbols
308
308
labels = self .get_labels ()
309
309
self .symbols = ["TARGET_%s" % t for t in labels ['TARGET' ]]
310
+ self .symbols .extend (["FEATURE_%s" % t for t in labels ['FEATURE' ]])
310
311
self .symbols .extend (["TOOLCHAIN_%s" % t for t in labels ['TOOLCHAIN' ]])
311
312
312
313
# Config support
@@ -325,10 +326,9 @@ def get_symbols(self):
325
326
# Add target's symbols
326
327
self .symbols += self .target .macros
327
328
# Add target's hardware
328
- try :
329
- self .symbols += ["DEVICE_" + feature + "=1" for feature in self .target .features ]
330
- except AttributeError :
331
- pass
329
+ self .symbols += ["DEVICE_" + data + "=1" for data in self .target .device_has ]
330
+ # Add target's features
331
+ self .symbols += ["FEATURE_" + data + "=1" for data in self .target .features ]
332
332
# Add extra symbols passed via 'macros' parameter
333
333
self .symbols += self .macros
334
334
@@ -348,6 +348,7 @@ def get_labels(self):
348
348
toolchain_labels .remove ('mbedToolchain' )
349
349
self .labels = {
350
350
'TARGET' : self .target .get_labels () + ["DEBUG" if "debug-info" in self .options else "RELEASE" ],
351
+ 'FEATURE' : self .target .features ,
351
352
'TOOLCHAIN' : toolchain_labels
352
353
}
353
354
return self .labels
@@ -415,6 +416,7 @@ def scan_resources(self, path, exclude_paths=None):
415
416
416
417
if ((d .startswith ('.' ) or d in self .legacy_ignore_dirs ) or
417
418
(d .startswith ('TARGET_' ) and d [7 :] not in labels ['TARGET' ]) or
419
+ (d .startswith ('FEATURE_' ) and d [8 :] not in labels ['FEATURE' ]) or
418
420
(d .startswith ('TOOLCHAIN_' ) and d [10 :] not in labels ['TOOLCHAIN' ]) or
419
421
(d == 'TESTS' )):
420
422
dirs .remove (d )
0 commit comments