This removes the default BSP include path from environment variables so that rtems-lwip can build even when there's a stale version with outdated headers installed in the BSP. --- lwip.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/lwip.py b/lwip.py index 84eef2c..3d9cb29 100644 --- a/lwip.py +++ b/lwip.py @@ -99,6 +99,9 @@ def build(bld): drv_incl = [] arch_lib_path = rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION, bld.env.RTEMS_ARCH_BSP) + bsp_incl = os.path.relpath( + os.path.join(bld.env.PREFIX, arch_lib_path, 'include') + ) with open('file-import.json', 'r') as cf: files = json.load(cf) for f in files['files-to-import']: @@ -155,6 +158,7 @@ def build(bld): lwip_obj_incl.extend(drv_incl) lwip_obj_incl.extend(bsd_compat_incl) lwip_obj_incl.extend(common_includes) + lwip_obj_incl.append(bsp_incl) bld(features='c', target='lwip_obj', @@ -166,9 +170,7 @@ def build(bld): drv_obj_incl = [] drv_obj_incl.extend(drv_incl) drv_obj_incl.extend(common_includes) - drv_obj_incl.append(os.path.relpath( - os.path.join(bld.env.PREFIX, arch_lib_path, 'include') - )) + drv_obj_incl.append(bsp_incl) bld(features='c', target='driver_obj', @@ -203,9 +205,7 @@ def build(bld): test_app_incl.extend(drv_incl) test_app_incl.extend(common_includes) test_app_incl.append('rtemslwip/test/') - test_app_incl.append( - os.path.relpath(os.path.join(arch_lib_path, 'include')) - ) + test_app_incl.append(bsp_incl) bld.program(features='c', target='networking01.exe', source='rtemslwip/test/networking01/sample_app.c', @@ -235,8 +235,18 @@ def add_flags(flags, new_flags): flags.append(flag) +def strip_bsp_include(bsp_include_path, current_flags): + # this does not handle quted strings; maybe needed + for bsp_path in bsp_include_path: + current_flags = [flag for flag in current_flags if flag != bsp_path] + return current_flags + + def bsp_configure(conf, arch_bsp): conf.env.LIB += ['m'] section_flags = ["-fdata-sections", "-ffunction-sections"] add_flags(conf.env.CFLAGS, section_flags) add_flags(conf.env.CXXFLAGS, section_flags) + conf.env.CFLAGS = strip_bsp_include(conf.env.IFLAGS, conf.env.CFLAGS) + conf.env.CXXFLAGS = strip_bsp_include(conf.env.IFLAGS, conf.env.CXXFLAGS) + conf.env.LINKFLAGS = strip_bsp_include(conf.env.IFLAGS, conf.env.LINKFLAGS) -- 2.30.2 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel