Skip to content

Commit 41014c0

Browse files
author
Jay Logue
authored
Merge pull request openweave#81 from openweave/feature/jay/with-lwip-target-support
Generalize LwIP build to support multiple environments
2 parents b90e6d1 + b8ec476 commit 41014c0

File tree

12 files changed

+933
-807
lines changed

12 files changed

+933
-807
lines changed

build/autoconf/m4/nl_with_lwip.m4

Lines changed: 291 additions & 233 deletions
Large diffs are not rendered by default.

configure

Lines changed: 492 additions & 396 deletions
Large diffs are not rendered by default.

configure.ac

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2065,16 +2065,8 @@ fi
20652065
#
20662066
# LwIP
20672067
#
2068-
# This should only be checked if explicitly requested.
2069-
#
2070-
2071-
if test "${WEAVE_SYSTEM_CONFIG_USE_LWIP}" = 1; then
2072-
2073-
NL_WITH_LWIP
2074-
2075-
fi
20762068

2077-
AM_CONDITIONAL([WEAVE_WITH_LWIP_INTERNAL], [test "${nl_with_lwip}" = "internal"])
2069+
NL_WITH_LWIP(${WEAVE_SYSTEM_CONFIG_USE_LWIP})
20782070

20792071
#
20802072
# Nlio

src/lwip/Makefile.am

Lines changed: 26 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ if WEAVE_WITH_LWIP_INTERNAL
3030

3131
lib_LIBRARIES = liblwip.a
3232

33-
liblwip_API_PATHS = \
33+
liblwip_API_SOURCES = \
3434
@top_builddir@/third_party/lwip/repo/lwip/src/api/api_lib.c \
3535
@top_builddir@/third_party/lwip/repo/lwip/src/api/api_msg.c \
3636
@top_builddir@/third_party/lwip/repo/lwip/src/api/err.c \
@@ -41,7 +41,7 @@ liblwip_API_PATHS =
4141
@top_builddir@/third_party/lwip/repo/lwip/src/api/tcpip.c \
4242
$(NULL)
4343

44-
liblwip_CORE_PATHS = \
44+
liblwip_CORE_SOURCES = \
4545
@top_builddir@/third_party/lwip/repo/lwip/src/core/def.c \
4646
@top_builddir@/third_party/lwip/repo/lwip/src/core/dns.c \
4747
@top_builddir@/third_party/lwip/repo/lwip/src/core/inet_chksum.c \
@@ -51,6 +51,9 @@ liblwip_CORE_PATHS =
5151
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/igmp.c \
5252
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/ip4.c \
5353
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/ip4_addr.c \
54+
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/etharp.c \
55+
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/ip4_frag.c \
56+
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/dhcp.c \
5457
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv6/ip6_route_table.c \
5558
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv6/dhcp6.c \
5659
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv6/ethip6.c \
@@ -72,60 +75,46 @@ liblwip_CORE_PATHS =
7275
@top_builddir@/third_party/lwip/repo/lwip/src/core/tcp_in.c \
7376
@top_builddir@/third_party/lwip/repo/lwip/src/core/tcp_out.c \
7477
@top_builddir@/third_party/lwip/repo/lwip/src/core/udp.c \
78+
@top_builddir@/third_party/lwip/repo/lwip/src/core/ip.c \
79+
@top_builddir@/third_party/lwip/repo/lwip/src/core/timeouts.c \
7580
$(NULL)
7681

77-
liblwip_NETIF_PATHS = \
82+
liblwip_NETIF_SOURCES = \
83+
@top_builddir@/third_party/lwip/repo/lwip/src/netif/ethernet.c \
7884
$(NULL)
7985

80-
liblwip_SYS_PATHS = \
81-
sys_arch.c \
82-
$(NULL)
86+
if WEAVE_LWIP_TARGET_STANDALONE
8387

84-
liblwip_CONTRIB_PATHS = \
85-
TapInterface.c \
88+
liblwip_TARGET_SOURCES = \
89+
standalone/sys_arch.c \
90+
standalone/TapInterface.c \
8691
$(NULL)
8792

88-
liblwip_V1ONLY_PATHS = \
89-
@top_builddir@/third_party/lwip/repo/lwip/src/core/dhcp.c \
90-
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/ip_frag.c \
91-
@top_builddir@/third_party/lwip/repo/lwip/src/core/timers.c \
92-
@top_builddir@/third_party/lwip/repo/lwip/src/netif/etharp.c \
93-
$(NULL)
94-
95-
liblwip_V2ONLY_PATHS = \
96-
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/etharp.c \
97-
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/ip4_frag.c \
98-
@top_builddir@/third_party/lwip/repo/lwip/src/core/ipv4/dhcp.c \
99-
@top_builddir@/third_party/lwip/repo/lwip/src/core/ip.c \
100-
@top_builddir@/third_party/lwip/repo/lwip/src/core/timeouts.c \
101-
@top_builddir@/third_party/lwip/repo/lwip/src/netif/ethernet.c \
102-
$(NULL)
103-
104-
liblwip_VERSION_PATHS = $(liblwip_V2ONLY_PATHS)
93+
endif # WEAVE_LWIP_TARGET_STANDALONE
10594

10695
liblwip_a_SOURCES = \
107-
$(liblwip_API_PATHS) \
108-
$(liblwip_CORE_PATHS) \
109-
$(liblwip_NETIF_PATHS) \
110-
$(liblwip_VERSION_PATHS) \
111-
$(liblwip_SYS_PATHS) \
112-
$(liblwip_CONTRIB_PATHS) \
96+
$(liblwip_API_SOURCES) \
97+
$(liblwip_CORE_SOURCES) \
98+
$(liblwip_NETIF_SOURCES) \
99+
$(liblwip_TARGET_SOURCES) \
113100
$(NULL)
114101

115102
liblwip_a_CPPFLAGS = \
116103
$(LWIP_CPPFLAGS) \
117104
$(NULL)
118105

119-
endif # WEAVE_WITH_LWIP_INTERNAL
106+
if WEAVE_LWIP_TARGET_STANDALONE
120107

121108
EXTRA_DIST = \
122-
arch \
123-
lwipopts.h \
124-
sys_arch.c \
125-
TapInterface.c \
126-
TapInterface.h \
109+
standalone/arch \
110+
standalone/lwipopts.h \
111+
standalone/TapInterface.h \
127112
$(NULL)
128113

114+
endif # WEAVE_LWIP_TARGET_STANDALONE
115+
116+
endif # WEAVE_WITH_LWIP_INTERNAL
117+
129118
PRETTY_FILES := $(NULL)
130119

131120
include $(abs_top_nlbuild_autotools_dir)/automake/post.am

0 commit comments

Comments
 (0)