summaryrefslogtreecommitdiff
path: root/lwip.py
diff options
context:
space:
mode:
authorVijay Kumar Banerjee <vijay@rtems.org>2021-06-14 18:42:56 -0600
committerKinsey Moore <kinsey.moore@oarcorp.com>2022-07-08 16:14:55 -0500
commit5857da3fa8f88d7028d80fe270d03e779706e533 (patch)
treed660fc757b82de55573b0358525f6bf536ec623e /lwip.py
parentb9f8a984bef5861b79dbfaddc68dfc1ab1ec32e9 (diff)
lwip: Add bbb and tms570 drivers
+ Add networking01 and telnetd01 tests
Diffstat (limited to 'lwip.py')
-rw-r--r--lwip.py77
1 files changed, 60 insertions, 17 deletions
diff --git a/lwip.py b/lwip.py
index 848ff16..037a730 100644
--- a/lwip.py
+++ b/lwip.py
@@ -29,11 +29,13 @@ from rtems_waf import rtems
import yaml
import os
-source_files = []
-driver_source = []
-include_files = {}
def build(bld):
+ source_files = []
+ common_includes = './lwip/src/include ./uLan/ports/os/rtems ./rtemslwip/include '
+ driver_source = []
+ drv_incl = ' '
+
arch_lib_path = rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION,
bld.env.RTEMS_ARCH_BSP)
with open('file-import.yaml', 'r') as cf:
@@ -41,11 +43,11 @@ def build(bld):
for f in files['files-to-import']:
if f[-2:] == '.c':
source_files.append(os.path.join('./lwip', f))
-
- for f in os.listdir('./uLan/ports/driver/tms570_emac'):
- if f[-2:] == '.c':
- driver_source.append(os.path.join('./uLan/ports/driver/tms570_emac', 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/rtems_lwip_sysdefs.c')
#source_files.append('./lwip/ports/port/sys_arch.c')
#source_files.append('./lwip/ports/port/perf.c')
@@ -54,24 +56,65 @@ def build(bld):
#source_files.append('./lwip/ports/port/netif/pcapif.c')
#source_files.append('./lwip/ports/port/netif/sio.c')
#source_files.append('./lwip/ports/port/netif/tapif.c')
+
+ def walk_sources(path):
+ sources = []
+ for root, dirs, files in os.walk(path):
+ for name in files:
+ ext = os.path.splitext(name)[1]
+ src_root = os.path.split(root)
+ path = os.path.join(src_root[0], src_root[1])
+ if ext == '.c' or ext == '.S':
+ sources.append(os.path.join(path, name))
+ return sources
+
+ # 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'))
+
+ # 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'))
bld(features ='c',
target='lwip_obj',
- includes='./include ./lwip/src/include ./uLan/ports/os ./uLan/ports/driver/tms570_emac ./uLan/ports/os/rtems',
+ cflags='-g -Wall -O0',
+ includes=drv_incl + common_includes,
source=source_files,
)
-# bld(features ='c',
-# target='lwip_drv_obj',
-# includes='./ ../ ../../src/include ./include ./lwip/src/include ./lwip/ports/os/rtems ./lwip/ports/os ./lwip/ports/drivers ' + os.path.relpath(os.path.join(arch_lib_path,'include')),
-# source=driver_source,
-# )
+
+ 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')) ,
+ source=driver_source,
+ )
bld(features='c cstlib',
target = 'lwip',
- use=['lwip_obj'])
+ cflags='-g -Wall -O0',
+ use=['lwip_obj', 'driver_obj'])
bld.program(features='c',
- target='test01.exe',
- source='./lwip/test/sample_app.c',
+ target='networking01.exe',
+ source='./rtemslwip/test/networking01/sample_app.c',
+ cflags='-g -Wall -O0',
use='lwip',
lib=['rtemscpu', 'rtemsbsp', 'rtemstest', 'lwip'],
- includes='./include ./uLan/ports/os/rtems ./uLan/ports/os ./lwip/src/include ./uLan/ports/os/rtems ./lwip/test/' + os.path.relpath(os.path.join(arch_lib_path,'include')))
+ includes=drv_incl + common_includes + './rtemslwip/test/ ' + os.path.relpath(os.path.join(arch_lib_path,'include')))
+
+ arch_lib_path = rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION,
+ bld.env.RTEMS_ARCH_BSP)
+ lib_path = os.path.join(bld.env.PREFIX, arch_lib_path)
+ bld.read_stlib('telnetd', paths=[lib_path])
+ bld.read_stlib('rtemstest', paths=[lib_path])
+ bld.read_stlib('ftpd', paths=[lib_path])
+
+ bld.program(features='c',
+ target='telnetd01.exe',
+ 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')))