summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2022-08-29 13:24:24 -0500
committerJoel Sherrill <joel@rtems.org>2022-08-30 09:17:05 -0500
commit3f6e2b9104d98f4600473414f1bd1e580c95d255 (patch)
tree79c5660462fce64cbaae0426fa11db32eb828d58
parentlwip.py: Build BSD compatibility as part of lwIP (diff)
downloadrtems-lwip-3f6e2b9104d98f4600473414f1bd1e580c95d255.tar.bz2
lwip.py: Address python formatting issues
-rw-r--r--lwip.py106
1 files 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 '
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"]