|
| 1 | +from building import * |
| 2 | + |
| 3 | +# get current directory |
| 4 | +cwd = GetCurrentDir() |
| 5 | + |
| 6 | +# 1. The minimum set of files needed for lwIP. |
| 7 | +lwipcore_SRCS = Split(""" |
| 8 | +src/core/init.c |
| 9 | +src/core/def.c |
| 10 | +src/core/dns.c |
| 11 | +src/core/inet_chksum.c |
| 12 | +src/core/ip.c |
| 13 | +src/core/memp.c |
| 14 | +src/core/netif.c |
| 15 | +src/core/pbuf.c |
| 16 | +src/core/raw.c |
| 17 | +src/core/stats.c |
| 18 | +src/core/sys.c |
| 19 | +src/core/tcp.c |
| 20 | +src/core/tcp_in.c |
| 21 | +src/core/tcp_out.c |
| 22 | +src/core/timeouts.c |
| 23 | +src/core/udp.c |
| 24 | +""") |
| 25 | + |
| 26 | +# 1.1 |
| 27 | +lwipcore_altcp_SRCS = Split(""" |
| 28 | +src/core/altcp.c |
| 29 | +src/core/altcp_alloc.c |
| 30 | +src/core/altcp_tcp.c |
| 31 | +""") |
| 32 | + |
| 33 | +# 1.2 |
| 34 | +lwipcore4_SRCS = Split(""" |
| 35 | +src/core/ipv4/autoip.c |
| 36 | +src/core/ipv4/dhcp.c |
| 37 | +src/core/ipv4/etharp.c |
| 38 | +src/core/ipv4/icmp.c |
| 39 | +src/core/ipv4/igmp.c |
| 40 | +src/core/ipv4/ip4_frag.c |
| 41 | +src/core/ipv4/ip4.c |
| 42 | +src/core/ipv4/ip4_addr.c |
| 43 | +""") |
| 44 | + |
| 45 | +# 1.3 |
| 46 | +lwipcore6_SRCS = Split(""" |
| 47 | +src/core/ipv6/dhcp6.c |
| 48 | +src/core/ipv6/ethip6.c |
| 49 | +src/core/ipv6/icmp6.c |
| 50 | +src/core/ipv6/inet6.c |
| 51 | +src/core/ipv6/ip6.c |
| 52 | +src/core/ipv6/ip6_addr.c |
| 53 | +src/core/ipv6/ip6_frag.c |
| 54 | +src/core/ipv6/mld6.c |
| 55 | +src/core/ipv6/nd6.c |
| 56 | +""") |
| 57 | + |
| 58 | +# 2. APIFILES: The files which implement the sequential and socket APIs. |
| 59 | +lwipapi_SRCS = Split(""" |
| 60 | +src/api/api_lib.c |
| 61 | +src/api/api_msg.c |
| 62 | +src/api/err.c |
| 63 | +src/api/if_api.c |
| 64 | +src/api/netbuf.c |
| 65 | +src/api/netdb.c |
| 66 | +src/api/netifapi.c |
| 67 | +src/api/sockets.c |
| 68 | +src/api/tcpip.c |
| 69 | +""") |
| 70 | + |
| 71 | +# 3. Files implementing various generic network interface functions |
| 72 | +lwipnetif_SRCS = Split(""" |
| 73 | +src/netif/ethernet.c |
| 74 | +src/netif/ethernetif.c |
| 75 | +""") |
| 76 | + |
| 77 | +# 3.1 Files implementing an IEEE 802.1D bridge by using a multilayer netif approach |
| 78 | +lwipnetif_bridgeif_SRCS = Split(""" |
| 79 | +src/netif/bridgeif.c |
| 80 | +src/netif/bridgeif_fdb.c |
| 81 | +""") |
| 82 | + |
| 83 | +# 3.2 A generic implementation of the SLIP (Serial Line IP) protocol. |
| 84 | +lwipnetif_slipif_SRCS = Split(""" |
| 85 | +src/netif/slipif.c |
| 86 | +""") |
| 87 | + |
| 88 | +# 4. 6LoWPAN |
| 89 | +lwipsixlowpan_SRCS = Split(""" |
| 90 | +src/netif/lowpan6.c |
| 91 | +""") |
| 92 | + |
| 93 | +# 4.1 A 6LoWPAN over Bluetooth Low Energy (BLE) implementation as netif, |
| 94 | +# according to RFC-7668. |
| 95 | +lwipsixlowpan_ble_SRCS = Split(""" |
| 96 | +src/netif/lowpan6_ble.c |
| 97 | +""") |
| 98 | + |
| 99 | +# 4.2 Common 6LowPAN routines for IPv6. |
| 100 | +lwipsixlowpan_ipv6_SRCS = Split(""" |
| 101 | +src/netif/lowpan6_common.c |
| 102 | +""") |
| 103 | + |
| 104 | +# 4.3 A netif implementing the ZigBee Encapsulation Protocol (ZEP). |
| 105 | +lwipsixlowpan_zep_SRCS = Split(""" |
| 106 | +src/netif/zepif.c |
| 107 | +""") |
| 108 | + |
| 109 | +# 5. PPP |
| 110 | +lwipppp_SRCS = Split(""" |
| 111 | +src/netif/ppp/auth.c |
| 112 | +src/netif/ppp/ccp.c |
| 113 | +src/netif/ppp/chap-md5.c |
| 114 | +src/netif/ppp/chap_ms.c |
| 115 | +src/netif/ppp/chap-new.c |
| 116 | +src/netif/ppp/demand.c |
| 117 | +src/netif/ppp/eap.c |
| 118 | +src/netif/ppp/ecp.c |
| 119 | +src/netif/ppp/eui64.c |
| 120 | +src/netif/ppp/fsm.c |
| 121 | +src/netif/ppp/ipcp.c |
| 122 | +src/netif/ppp/ipv6cp.c |
| 123 | +src/netif/ppp/lcp.c |
| 124 | +src/netif/ppp/magic.c |
| 125 | +src/netif/ppp/mppe.c |
| 126 | +src/netif/ppp/multilink.c |
| 127 | +src/netif/ppp/ppp.c |
| 128 | +src/netif/ppp/pppapi.c |
| 129 | +src/netif/ppp/pppcrypt.c |
| 130 | +src/netif/ppp/pppoe.c |
| 131 | +src/netif/ppp/pppol2tp.c |
| 132 | +src/netif/ppp/pppos.c |
| 133 | +src/netif/ppp/upap.c |
| 134 | +src/netif/ppp/utils.c |
| 135 | +src/netif/ppp/vj.c |
| 136 | +src/netif/ppp/polarssl/arc4.c |
| 137 | +src/netif/ppp/polarssl/des.c |
| 138 | +src/netif/ppp/polarssl/md4.c |
| 139 | +src/netif/ppp/polarssl/md5.c |
| 140 | +src/netif/ppp/polarssl/sha1.c |
| 141 | +""") |
| 142 | + |
| 143 | +# 6. SNMPv3 agent |
| 144 | +lwipsnmp_SRCS = Split(""" |
| 145 | +src/apps/snmp/snmp_asn1.c |
| 146 | +src/apps/snmp/snmp_core.c |
| 147 | +src/apps/snmp/snmp_mib2.c |
| 148 | +src/apps/snmp/snmp_mib2_icmp.c |
| 149 | +src/apps/snmp/snmp_mib2_interfaces.c |
| 150 | +src/apps/snmp/snmp_mib2_ip.c |
| 151 | +src/apps/snmp/snmp_mib2_snmp.c |
| 152 | +src/apps/snmp/snmp_mib2_system.c |
| 153 | +src/apps/snmp/snmp_mib2_tcp.c |
| 154 | +src/apps/snmp/snmp_mib2_udp.c |
| 155 | +src/apps/snmp/snmp_snmpv2_framework.c |
| 156 | +src/apps/snmp/snmp_snmpv2_usm.c |
| 157 | +src/apps/snmp/snmp_msg.c |
| 158 | +src/apps/snmp/snmpv3.c |
| 159 | +src/apps/snmp/snmp_netconn.c |
| 160 | +src/apps/snmp/snmp_pbuf_stream.c |
| 161 | +src/apps/snmp/snmp_raw.c |
| 162 | +src/apps/snmp/snmp_scalar.c |
| 163 | +src/apps/snmp/snmp_table.c |
| 164 | +src/apps/snmp/snmp_threadsync.c |
| 165 | +src/apps/snmp/snmp_traps.c |
| 166 | +""") |
| 167 | + |
| 168 | +# 7. HTTP server + client |
| 169 | +lwiphttp_SRCS = Split(""" |
| 170 | +src/apps/http/altcp_proxyconnect.c |
| 171 | +src/apps/http/fs.c |
| 172 | +src/apps/http/http_client.c |
| 173 | +src/apps/http/httpd.c |
| 174 | +""") |
| 175 | + |
| 176 | +# 8. MAKEFSDATA HTTP server host utility |
| 177 | +lwipmakefsdata_SRCS = Split(""" |
| 178 | +src/apps/http/makefsdata/makefsdata.c |
| 179 | +""") |
| 180 | + |
| 181 | +# 9. IPERF server |
| 182 | +lwipiperf_SRCS = Split(""" |
| 183 | +src/apps/lwiperf/lwiperf.c |
| 184 | +""") |
| 185 | + |
| 186 | +# 10. SMTP client |
| 187 | +lwipsmtp_SRCS = Split(""" |
| 188 | +src/apps/smtp/smtp.c |
| 189 | +""") |
| 190 | + |
| 191 | +# 11. SNTP client |
| 192 | +lwipsntp_SRCS = Split(""" |
| 193 | +src/apps/sntp/sntp.c |
| 194 | +""") |
| 195 | + |
| 196 | +# 12. MDNS responder |
| 197 | +lwipmdns_SRCS = Split(""" |
| 198 | +src/apps/mdns/mdns.c |
| 199 | +""") |
| 200 | + |
| 201 | +# 13. NetBIOS name server |
| 202 | +lwipnetbios_SRCS = Split(""" |
| 203 | +src/apps/netbiosns/netbiosns.c |
| 204 | +""") |
| 205 | + |
| 206 | +# 14. TFTP server files |
| 207 | +lwiptftp_SRCS = Split(""" |
| 208 | +src/apps/tftp/tftp_server.c |
| 209 | +src/apps/tftp/tftp_port.c |
| 210 | +""") |
| 211 | + |
| 212 | +# 15. MQTT client files |
| 213 | +lwipmqtt_SRCS = Split(""" |
| 214 | +src/apps/mqtt/mqtt.c |
| 215 | +""") |
| 216 | + |
| 217 | +# 16. ARM MBEDTLS related files of lwIP rep |
| 218 | +lwipmbedtls_SRCS = Split(""" |
| 219 | +src/apps/altcp_tls/altcp_tls_mbedtls.c |
| 220 | +src/apps/altcp_tls/altcp_tls_mbedtls_mem.c |
| 221 | +src/apps/snmp/snmpv3_mbedtls.c |
| 222 | +""") |
| 223 | + |
| 224 | +# 17. ping |
| 225 | +lwipping_SRCS = Split(""" |
| 226 | +src/apps/ping/ping.c |
| 227 | +""") |
| 228 | + |
| 229 | +src = Split(""" |
| 230 | +src/arch/sys_arch.c |
| 231 | +""") |
| 232 | + |
| 233 | +src += lwipcore_SRCS # rm mem.c |
| 234 | +src += lwipcore_altcp_SRCS |
| 235 | +src += lwipapi_SRCS |
| 236 | +src += lwipnetif_SRCS |
| 237 | +src += lwipsixlowpan_SRCS |
| 238 | + |
| 239 | +src += lwipcore4_SRCS |
| 240 | + |
| 241 | +path = [cwd + '/src', |
| 242 | + cwd + '/src/include', |
| 243 | + cwd + '/src/arch/include', |
| 244 | + cwd + '/src/include/netif'] |
| 245 | + |
| 246 | +if not GetDepend('RT_USING_SAL'): |
| 247 | + path += [cwd + '/src/include/compat/posix'] |
| 248 | + |
| 249 | +if GetDepend(['RT_LWIP_SNMP']): |
| 250 | + src += lwipsnmp_SRCS |
| 251 | + path += [cwd + '/src/apps/snmp'] |
| 252 | + |
| 253 | +if GetDepend(['RT_LWIP_PPP']): |
| 254 | + src += lwipppp_SRCS |
| 255 | + path += [cwd + '/src/netif/ppp'] |
| 256 | + |
| 257 | +if GetDepend(['RT_USING_LWIP_IPV6']): |
| 258 | + src += lwipcore6_SRCS |
| 259 | + |
| 260 | +if GetDepend(['RT_LWIP_USING_PING']): |
| 261 | + src += lwipping_SRCS |
| 262 | + |
| 263 | +group = DefineGroup('lwIP', src, depend = ['RT_USING_LWIP', 'RT_USING_LWIP212'], CPPPATH = path) |
| 264 | + |
| 265 | +Return('group') |
0 commit comments