[rtems-libbsd commit] waf_libbsd.py: Apply path-mappings to header-paths

Jan Sommer jan at rtems.org
Wed Jun 9 16:38:09 UTC 2021


Module:    rtems-libbsd
Branch:    5-freebsd-12
Commit:    9edb1201f67c3c9c77531bae52ab75bfea0e5aad
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=9edb1201f67c3c9c77531bae52ab75bfea0e5aad

Author:    Jan Sommer <jan.sommer at dlr.de>
Date:      Wed Jun  9 17:45:01 2021 +0200

waf_libbsd.py: Apply path-mappings to header-paths

Update #4452

---

 libbsd.py     |  2 +-
 waf_libbsd.py | 27 +++++++++++++++++----------
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/libbsd.py b/libbsd.py
index 1a05343..ea54d1c 100644
--- a/libbsd.py
+++ b/libbsd.py
@@ -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 310a692..6d0e5e7 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),



More information about the vc mailing list