summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2022-08-26 08:52:07 -0500
committerJoel Sherrill <joel@rtems.org>2022-08-29 13:21:38 -0500
commite0c63a3be7b6ee975ab9f5720047779bc18d1d90 (patch)
tree91c630beaa055b12e7d59e54ad99fe35b7ae0881
parentlwip-to-rtems.py: Add support for reverse changes (diff)
downloadrtems-lwip-e0c63a3be7b6ee975ab9f5720047779bc18d1d90.tar.bz2
lwip.py: Build BSD compatibility as part of lwIP
Include the BSD compatibility functions as part of lwIP to be provided to consumers of this network stack and install the headers so they can be compiled against.
-rw-r--r--lwip.py13
-rw-r--r--rtemslwip/bsd_compat/rtems-kernel-program.c5
2 files changed, 12 insertions, 6 deletions
diff --git a/lwip.py b/lwip.py
index 70c9471..f8d8eb0 100644
--- a/lwip.py
+++ b/lwip.py
@@ -68,6 +68,12 @@ def build(bld):
common_includes = './lwip/src/include ./uLan/ports/os/rtems ./rtemslwip/include '
driver_source = []
drv_incl = ' '
+ bsd_compat_sources = [
+ "rtemslwip/bsd_compat/netdb.c",
+ "rtemslwip/bsd_compat/ifaddrs.c",
+ "rtemslwip/bsd_compat/rtems-kernel-program.c"
+ ]
+ 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,6 +87,7 @@ def build(bld):
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):
sources = []
@@ -128,7 +135,7 @@ def build(bld):
bld(features ='c',
target='lwip_obj',
cflags='-g -Wall -O0',
- includes=drv_incl + common_includes,
+ includes=drv_incl + bsd_compat_incl + common_includes,
source=source_files,
)
@@ -155,7 +162,9 @@ def build(bld):
bld.install_files("${PREFIX}/" + arch_lib_path + "/include/" + subpath,
os.path.join(path,name))
- [install_headers(path) for path in (drv_incl + common_includes).split(' ')[:-1]]
+ [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]]
bld.program(features='c',
target='networking01.exe',
diff --git a/rtemslwip/bsd_compat/rtems-kernel-program.c b/rtemslwip/bsd_compat/rtems-kernel-program.c
index ae80e51..6dd8028 100644
--- a/rtemslwip/bsd_compat/rtems-kernel-program.c
+++ b/rtemslwip/bsd_compat/rtems-kernel-program.c
@@ -30,10 +30,7 @@
#include <sys/types.h>
#include <sys/kernel.h>
-#undef printf
-#define RTEMS_BSD_PROGRAM_NO_STRDUP_WRAP
-#define RTEMS_BSD_PROGRAM_NO_STRNDUP_WRAP
-#include <machine/rtems-bsd-program.h>
+#include <stdio.h>
#include <rtems/extension.h>
#include <rtems/score/percpu.h>