diff options
author | Jan Sommer <jan.sommer@dlr.de> | 2021-06-09 17:45:01 +0200 |
---|---|---|
committer | Jan Sommer <jan.sommer@dlr.de> | 2021-06-09 18:29:12 +0200 |
commit | 9edb1201f67c3c9c77531bae52ab75bfea0e5aad (patch) | |
tree | 0387375a77dfde7bd66d84cc3b73fa06ebecf1c5 | |
parent | a2bc8eba467ce7eebacbb0f8c206e05a184dd16f (diff) |
waf_libbsd.py: Apply path-mappings to header-paths
Update #4452
-rw-r--r-- | libbsd.py | 2 | ||||
-rw-r--r-- | waf_libbsd.py | 27 |
2 files changed, 18 insertions, 11 deletions
@@ -135,6 +135,7 @@ _defaults = { ('freebsd/sys/dev/mii', '**/*.h', 'dev/mii'), ('freebsd/sys/dev/pci', '**/*.h', 'dev/pci'), ('freebsd/sys/dev/nvme', '**/*.h', 'dev/nvme'), + ('freebsd/sys/@CPU@/include', '**/*.h', ''), ('linux/include', '**/*.h', ''), ('mDNSResponder/mDNSCore', 'mDNSDebug.h', ''), ('mDNSResponder/mDNSCore', 'mDNSEmbeddedAPI.h', ''), @@ -1443,7 +1444,6 @@ class dev_nic(builder.Module): [ 'sys/arm/include/cpufunc.h', 'sys/i386/include/md_var.h', - 'sys/i386/include/intr_machdep.h', 'sys/i386/include/cpufunc.h', 'sys/x86/include/intr_machdep.h', 'sys/x86/include/specialreg.h', diff --git a/waf_libbsd.py b/waf_libbsd.py index 310a6924..6d0e5e73 100644 --- a/waf_libbsd.py +++ b/waf_libbsd.py @@ -495,17 +495,24 @@ class Builder(builder.ModuleManager): if 'header-paths' in config: headerPaths = config['header-paths'] cpu = bld.get_env()['RTEMS_ARCH'] - if cpu == "i386": - cpu = 'x86' for headers in headerPaths: - # Get the dest path - ipath = os.path.join(arch_inc_path, headers[2]) - start_dir = bld.path.find_dir(headers[0].replace('@CPU@', cpu)) - if start_dir != None: - bld.install_files("${PREFIX}/" + ipath, - start_dir.ant_glob(headers[1]), - cwd = start_dir, - relative_trick = True) + paths = [headers[0].replace('@CPU@', cpu)] + # Apply the path mappings + for source, targets in config['path-mappings']: + if source in paths: + i = paths.index(source) + paths.remove(source) + paths[i:i] = targets + + for hp in paths: + # Get the dest path + ipath = os.path.join(arch_inc_path, headers[2]) + start_dir = bld.path.find_dir(hp) + if start_dir != None: + bld.install_files("${PREFIX}/" + ipath, + start_dir.ant_glob(headers[1]), + cwd=start_dir, + relative_trick=True) bld.install_files(os.path.join("${PREFIX}", arch_inc_path, module_header_path), |