[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