[PATCH rtems-lwip] lwip.py: Address python formatting issues

Chris Johns chrisj at rtems.org
Mon Aug 29 22:06:33 UTC 2022


On 30/8/2022 4:30 am, Kinsey Moore wrote:
> ---
>  lwip.py | 106 ++++++++++++++++++++++++++++++++------------------------
>  1 file changed, 61 insertions(+), 45 deletions(-)
> 
> diff --git a/lwip.py b/lwip.py
> index f8d8eb0..2e12957 100644
> --- a/lwip.py
> +++ b/lwip.py
> @@ -29,43 +29,50 @@ from rtems_waf import rtems
>  import json
>  import os
>  
> +
>  def removeprefix(data, prefix):
>      if data.startswith(prefix):
>          return data[len(prefix):]
>      return data
>  
> +
> +xilinx_lwip_prefix = 'embeddedsw/ThirdParty/sw_services/lwip211/'
> +
>  xilinx_drv_incl = ''
> -xilinx_drv_incl += './embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/include '
> -xilinx_drv_incl += './embeddedsw/lib/bsp/standalone/src/common '
> -xilinx_drv_incl += './embeddedsw/XilinxProcessorIPLib/drivers/common/src/ '
> -xilinx_drv_incl += './embeddedsw/XilinxProcessorIPLib/drivers/scugic/src '
> -xilinx_drv_incl += './embeddedsw/XilinxProcessorIPLib/drivers/emacps/src '
> -xilinx_drv_incl += './rtemslwip/xilinx '
> +xilinx_drv_incl += xilinx_lwip_prefix + 'src/contrib/ports/xilinx/include '
> +xilinx_drv_incl += 'embeddedsw/lib/bsp/standalone/src/common '
> +xilinx_drv_incl += 'embeddedsw/XilinxProcessorIPLib/drivers/common/src/ '
> +xilinx_drv_incl += 'embeddedsw/XilinxProcessorIPLib/drivers/scugic/src '
> +xilinx_drv_incl += 'embeddedsw/XilinxProcessorIPLib/drivers/emacps/src '
> +xilinx_drv_incl += 'rtemslwip/xilinx '

Lists or strings? I prefer lists because weird paths can effect the waf
conversion from strings to lists.

This also goes for defines, fkags etc.

Otherwise looks good.

Thanks
Chris

>  
>  xilinx_aarch64_drv_incl = ''
> -xilinx_aarch64_drv_incl += './rtemslwip/zynqmp '
> -xilinx_aarch64_drv_incl += './embeddedsw/lib/bsp/standalone/src/arm/ARMv8/64bit '
> -xilinx_aarch64_drv_incl += './embeddedsw/lib/bsp/standalone/src/arm/common/gcc '
> -xilinx_aarch64_drv_incl += './embeddedsw/lib/bsp/standalone/src/arm/common '
> +xilinx_aarch64_drv_incl += 'rtemslwip/zynqmp '
> +xilinx_aarch64_drv_incl += 'embeddedsw/lib/bsp/standalone/src/arm/ARMv8/64bit '
> +xilinx_aarch64_drv_incl += 'embeddedsw/lib/bsp/standalone/src/arm/common/gcc '
> +xilinx_aarch64_drv_incl += 'embeddedsw/lib/bsp/standalone/src/arm/common '
>  
>  # These sources are explicitly listed instead of using walk_sources below
>  # because multiple BSPs of varying architecture are expected to use code from
>  # the embeddedsw repository.
>  xilinx_aarch64_driver_source = [
> -    './embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xadapter.c',
> -    './embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xpqueue.c',
> -    './embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c',
> -    './embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif_hw.c',
> -    './embeddedsw/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.c',
> -    './embeddedsw/XilinxProcessorIPLib/drivers/emacps/src/xemacps.c',
> -    './embeddedsw/XilinxProcessorIPLib/drivers/emacps/src/xemacps_control.c',
> -    './embeddedsw/XilinxProcessorIPLib/drivers/emacps/src/xemacps_intr.c',
> -    './embeddedsw/lib/bsp/standalone/src/common/xil_assert.c'
> +    xilinx_lwip_prefix + 'src/contrib/ports/xilinx/netif/xadapter.c',
> +    xilinx_lwip_prefix + 'src/contrib/ports/xilinx/netif/xpqueue.c',
> +    xilinx_lwip_prefix + 'src/contrib/ports/xilinx/netif/xemacpsif.c',
> +    xilinx_lwip_prefix + 'src/contrib/ports/xilinx/netif/xemacpsif_dma.c',
> +    xilinx_lwip_prefix + 'src/contrib/ports/xilinx/netif/xemacpsif_hw.c',
> +    xilinx_lwip_prefix + 'src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c',
> +    'embeddedsw/XilinxProcessorIPLib/drivers/emacps/src/xemacps_bdring.c',
> +    'embeddedsw/XilinxProcessorIPLib/drivers/emacps/src/xemacps.c',
> +    'embeddedsw/XilinxProcessorIPLib/drivers/emacps/src/xemacps_control.c',
> +    'embeddedsw/XilinxProcessorIPLib/drivers/emacps/src/xemacps_intr.c',
> +    'embeddedsw/lib/bsp/standalone/src/common/xil_assert.c'
>  ]
>  
> +
>  def build(bld):
>      source_files = []
> -    common_includes = './lwip/src/include ./uLan/ports/os/rtems ./rtemslwip/include '
> +    common_includes = 'lwip/src/include uLan/ports/os/rtems rtemslwip/include '
>      driver_source = []
>      drv_incl = ' '
>      bsd_compat_sources = [
> @@ -73,7 +80,7 @@ def build(bld):
>          "rtemslwip/bsd_compat/ifaddrs.c",
>          "rtemslwip/bsd_compat/rtems-kernel-program.c"
>      ]
> -    bsd_compat_incl = './rtemslwip/bsd_compat_include '
> +    bsd_compat_incl = 'rtemslwip/bsd_compat_include '
>  
>      arch_lib_path = rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION,
>                                              bld.env.RTEMS_ARCH_BSP)
> @@ -81,12 +88,12 @@ def build(bld):
>          files = json.load(cf)
>          for f in files['files-to-import']:
>              if f[-2:] == '.c':
> -                source_files.append(os.path.join('./lwip', f))
> +                source_files.append(os.path.join('lwip', f))
>  
> -    source_files.append('./uLan/ports/os/rtems/arch/sys_arch.c')
> -    source_files.append('./rtemslwip/common/syslog.c')
> -    source_files.append('./rtemslwip/common/rtems_lwip_io.c')
> -    source_files.append('./rtemslwip/common/network_compat.c')
> +    source_files.append('uLan/ports/os/rtems/arch/sys_arch.c')
> +    source_files.append('rtemslwip/common/syslog.c')
> +    source_files.append('rtemslwip/common/rtems_lwip_io.c')
> +    source_files.append('rtemslwip/common/network_compat.c')
>      source_files.extend(bsd_compat_sources)
>  
>      def walk_sources(path):
> @@ -102,14 +109,14 @@ def build(bld):
>  
>      # These files will not compile for BSPs other than TMS570
>      if bld.env.RTEMS_ARCH_BSP.startswith('arm-rtems6-tms570ls3137_hdk'):
> -        drv_incl += './uLan/ports/driver/tms570_emac ./uLan/ports/os '
> -        driver_source.extend(walk_sources('./uLan/ports/driver/tms570_emac'))
> +        drv_incl += 'uLan/ports/driver/tms570_emac uLan/ports/os '
> +        driver_source.extend(walk_sources('uLan/ports/driver/tms570_emac'))
>  
>      # These files will only compile for BeagleBone BSPs
>      if bld.env.RTEMS_ARCH_BSP.startswith('arm-rtems6-beaglebone'):
> -        driver_source.extend(walk_sources('./rtemslwip/beaglebone'))
> -        drv_incl += './rtemslwip/beaglebone ./cpsw/src/include '
> -        driver_source.extend(walk_sources('./cpsw/src'))
> +        driver_source.extend(walk_sources('rtemslwip/beaglebone'))
> +        drv_incl += 'rtemslwip/beaglebone cpsw/src/include '
> +        driver_source.extend(walk_sources('cpsw/src'))
>  
>      # These files will only compile for BSPs on Xilinx hardware
>      is_xilinx_bsp = False
> @@ -121,32 +128,35 @@ def build(bld):
>      if bld.env.RTEMS_ARCH_BSP.endswith('_qemu'):
>          is_qemu = True
>      if is_xilinx_bsp:
> -        driver_source.extend(walk_sources('./embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif'))
>          drv_incl += xilinx_drv_incl
>          if is_aarch64_bsp:
> -            driver_source.extend(walk_sources('./rtemslwip/zynqmp'))
> +            driver_source.extend(walk_sources('rtemslwip/zynqmp'))
>              if is_qemu:
> -                driver_source.extend(walk_sources('./rtemslwip/zynqmp_qemu'))
> +                driver_source.extend(walk_sources('rtemslwip/zynqmp_qemu'))
>              else:
> -                driver_source.extend(walk_sources('./rtemslwip/zynqmp_hardware'))
> +                driver_source.extend(walk_sources('rtemslwip/zynqmp_hardware'))
>              driver_source.extend(xilinx_aarch64_driver_source)
>              drv_incl += xilinx_aarch64_drv_incl
>  
> -    bld(features ='c',
> +    bld(features='c',
>          target='lwip_obj',
>          cflags='-g -Wall -O0',
>          includes=drv_incl + bsd_compat_incl + common_includes,
>          source=source_files,
>          )
>  
> -    bld(features ='c',
> +    drv_obj_incl = drv_incl + common_includes
> +    drv_obj_incl += os.path.relpath(
> +        os.path.join(bld.env.PREFIX, arch_lib_path, 'include')
> +    )
> +    bld(features='c',
>          target='driver_obj',
>          cflags='-g -Wall -O0',
> -        includes=drv_incl + common_includes + os.path.relpath(os.path.join(bld.env.PREFIX, arch_lib_path,'include')) ,
> +        includes=drv_obj_incl,
>          source=driver_source,
>          )
>      bld(features='c cstlib',
> -        target = 'lwip',
> +        target='lwip',
>          cflags='-g -Wall -O0',
>          use=['lwip_obj', 'driver_obj'])
>      bld.install_files("${PREFIX}/" + arch_lib_path, ["liblwip.a"])
> @@ -159,20 +169,24 @@ def build(bld):
>                  path = os.path.join(src_root[0], src_root[1])
>                  if ext == '.h':
>                      subpath = removeprefix(removeprefix(path, root_path), "/")
> -                    bld.install_files("${PREFIX}/" + arch_lib_path + "/include/" + subpath,
> -                        os.path.join(path,name))
> +                    bld.install_files(
> +                        "${PREFIX}/" + arch_lib_path + "/include/" + subpath,
> +                        os.path.join(path, name)
> +                    )
>  
>      [install_headers(path) for path in common_includes.split(' ')[:-1]]
>      [install_headers(path) for path in drv_incl.split(' ')[:-1]]
>      [install_headers(path) for path in bsd_compat_incl.split(' ')[:-1]]
>  
> +    test_app_incl = drv_incl + common_includes + 'rtemslwip/test/ '
> +    test_app_incl += os.path.relpath(os.path.join(arch_lib_path, 'include'))
>      bld.program(features='c',
>                  target='networking01.exe',
> -                source='./rtemslwip/test/networking01/sample_app.c',
> +                source='rtemslwip/test/networking01/sample_app.c',
>                  cflags='-g -Wall -O0',
>                  use='lwip',
>                  lib=['rtemscpu', 'rtemsbsp', 'rtemstest', 'lwip'],
> -                includes=drv_incl + common_includes + './rtemslwip/test/ ' + os.path.relpath(os.path.join(arch_lib_path,'include')))
> +                includes=test_app_incl)
>  
>      arch_lib_path = rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION,
>                                              bld.env.RTEMS_ARCH_BSP)
> @@ -183,16 +197,18 @@ def build(bld):
>  
>      bld.program(features='c',
>                  target='telnetd01.exe',
> -                source='./rtemslwip/test/telnetd01/init.c',
> +                source='rtemslwip/test/telnetd01/init.c',
>                  use='telnetd lwip rtemstest ftpd',
>                  cflags='-g -Wall -O0',
> -                includes=drv_incl + common_includes + './rtemslwip/test/ ' + os.path.relpath(os.path.join(arch_lib_path,'include')))
> +                includes=test_app_incl)
> +
>  
>  def add_flags(flags, new_flags):
>      for flag in new_flags:
>          if flag not in flags:
>              flags.append(flag)
>  
> +
>  def bsp_configure(conf, arch_bsp):
>      conf.env.LIB += ['m']
>      section_flags = ["-fdata-sections", "-ffunction-sections"]


More information about the devel mailing list