diff --git a/lwip.gni b/lwip.gni new file mode 100644 index 0000000000000000000000000000000000000000..0fc2c546769112a0552a78ad8b336521c6f8a795 --- /dev/null +++ b/lwip.gni @@ -0,0 +1,214 @@ +# Copyright (c) 2021-2021 Huawei Device Co., Ltd. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this list of +# conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, this list +# of conditions and the following disclaimer in the documentation and/or other materials +# provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its contributors may be used +# to endorse or promote products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +LWIPDIR = "//third_party/lwip/src" + +LWIP_INCLUDE_DIRS = [ "$LWIPDIR/include" ] + +# COREFILES, CORE4FILES: The minimum set of files needed for lwIP. +COREFILES = [ + "$LWIPDIR/core/init.c", + "$LWIPDIR/core/def.c", + "$LWIPDIR/core/dns.c", + "$LWIPDIR/core/inet_chksum.c", + "$LWIPDIR/core/ip.c", + "$LWIPDIR/core/mem.c", + "$LWIPDIR/core/memp.c", + "$LWIPDIR/core/netif.c", + "$LWIPDIR/core/pbuf.c", + "$LWIPDIR/core/raw.c", + "$LWIPDIR/core/stats.c", + "$LWIPDIR/core/sys.c", + "$LWIPDIR/core/altcp.c", + "$LWIPDIR/core/altcp_alloc.c", + "$LWIPDIR/core/altcp_tcp.c", + "$LWIPDIR/core/tcp.c", + "$LWIPDIR/core/tcp_in.c", + "$LWIPDIR/core/tcp_out.c", + "$LWIPDIR/core/timeouts.c", + "$LWIPDIR/core/udp.c", +] + +CORE4FILES = [ + "$LWIPDIR/core/ipv4/autoip.c", + "$LWIPDIR/core/ipv4/dhcp.c", + "$LWIPDIR/core/ipv4/etharp.c", + "$LWIPDIR/core/ipv4/icmp.c", + "$LWIPDIR/core/ipv4/igmp.c", + "$LWIPDIR/core/ipv4/ip4_frag.c", + "$LWIPDIR/core/ipv4/ip4.c", + "$LWIPDIR/core/ipv4/ip4_addr.c", +] + +CORE6FILES = [ + "$LWIPDIR/core/ipv6/dhcp6.c", + "$LWIPDIR/core/ipv6/ethip6.c", + "$LWIPDIR/core/ipv6/icmp6.c", + "$LWIPDIR/core/ipv6/inet6.c", + "$LWIPDIR/core/ipv6/ip6.c", + "$LWIPDIR/core/ipv6/ip6_addr.c", + "$LWIPDIR/core/ipv6/ip6_frag.c", + "$LWIPDIR/core/ipv6/mld6.c", + "$LWIPDIR/core/ipv6/nd6.c", +] + +# APIFILES: The files which implement the sequential and socket APIs. +APIFILES = [ + "$LWIPDIR/api/api_lib.c", + "$LWIPDIR/api/api_msg.c", + "$LWIPDIR/api/err.c", + "$LWIPDIR/api/if_api.c", + "$LWIPDIR/api/netbuf.c", + "$LWIPDIR/api/netdb.c", + "$LWIPDIR/api/netifapi.c", + "$LWIPDIR/api/sockets.c", + "$LWIPDIR/api/tcpip.c", +] + +# NETIFFILES: Files implementing various generic network interface functions +NETIFFILES = [ + "$LWIPDIR/netif/ethernet.c", + "$LWIPDIR/netif/bridgeif.c", + "$LWIPDIR/netif/bridgeif_fdb.c", + "$LWIPDIR/netif/slipif.c", +] + +# SIXLOWPAN: 6LoWPAN +SIXLOWPAN = [ + "$LWIPDIR/netif/lowpan6_common.c", + "$LWIPDIR/netif/lowpan6.c", + "$LWIPDIR/netif/lowpan6_ble.c", + "$LWIPDIR/netif/zepif.c", +] + +# PPPFILES: PPP +PPPFILES = [ + "$LWIPDIR/netif/ppp/auth.c", + "$LWIPDIR/netif/ppp/ccp.c", + "$LWIPDIR/netif/ppp/chap-md5.c", + "$LWIPDIR/netif/ppp/chap_ms.c", + "$LWIPDIR/netif/ppp/chap-new.c", + "$LWIPDIR/netif/ppp/demand.c", + "$LWIPDIR/netif/ppp/eap.c", + "$LWIPDIR/netif/ppp/ecp.c", + "$LWIPDIR/netif/ppp/eui64.c", + "$LWIPDIR/netif/ppp/fsm.c", + "$LWIPDIR/netif/ppp/ipcp.c", + "$LWIPDIR/netif/ppp/ipv6cp.c", + "$LWIPDIR/netif/ppp/lcp.c", + "$LWIPDIR/netif/ppp/magic.c", + "$LWIPDIR/netif/ppp/mppe.c", + "$LWIPDIR/netif/ppp/multilink.c", + "$LWIPDIR/netif/ppp/ppp.c", + "$LWIPDIR/netif/ppp/pppapi.c", + "$LWIPDIR/netif/ppp/pppcrypt.c", + "$LWIPDIR/netif/ppp/pppoe.c", + "$LWIPDIR/netif/ppp/pppol2tp.c", + "$LWIPDIR/netif/ppp/pppos.c", + "$LWIPDIR/netif/ppp/upap.c", + "$LWIPDIR/netif/ppp/utils.c", + "$LWIPDIR/netif/ppp/vj.c", + "$LWIPDIR/netif/ppp/polarssl/arc4.c", + "$LWIPDIR/netif/ppp/polarssl/des.c", + "$LWIPDIR/netif/ppp/polarssl/md4.c", + "$LWIPDIR/netif/ppp/polarssl/md5.c", + "$LWIPDIR/netif/ppp/polarssl/sha1.c", +] + +# LWIPNOAPPSFILES: All LWIP files without apps +LWIPNOAPPSFILES = COREFILES + CORE4FILES + CORE6FILES + APIFILES + NETIFFILES + + PPPFILES + SIXLOWPAN + +# SNMPFILES: SNMPv2c agent +SNMPFILES = [ + "$LWIPDIR/apps/snmp/snmp_asn1.c", + "$LWIPDIR/apps/snmp/snmp_core.c", + "$LWIPDIR/apps/snmp/snmp_mib2.c", + "$LWIPDIR/apps/snmp/snmp_mib2_icmp.c", + "$LWIPDIR/apps/snmp/snmp_mib2_interfaces.c", + "$LWIPDIR/apps/snmp/snmp_mib2_ip.c", + "$LWIPDIR/apps/snmp/snmp_mib2_snmp.c", + "$LWIPDIR/apps/snmp/snmp_mib2_system.c", + "$LWIPDIR/apps/snmp/snmp_mib2_tcp.c", + "$LWIPDIR/apps/snmp/snmp_mib2_udp.c", + "$LWIPDIR/apps/snmp/snmp_snmpv2_framework.c", + "$LWIPDIR/apps/snmp/snmp_snmpv2_usm.c", + "$LWIPDIR/apps/snmp/snmp_msg.c", + "$LWIPDIR/apps/snmp/snmpv3.c", + "$LWIPDIR/apps/snmp/snmp_netconn.c", + "$LWIPDIR/apps/snmp/snmp_pbuf_stream.c", + "$LWIPDIR/apps/snmp/snmp_raw.c", + "$LWIPDIR/apps/snmp/snmp_scalar.c", + "$LWIPDIR/apps/snmp/snmp_table.c", + "$LWIPDIR/apps/snmp/snmp_threadsync.c", + "$LWIPDIR/apps/snmp/snmp_traps.c", +] + +# HTTPFILES: HTTP server + client +HTTPFILES = [ + "$LWIPDIR/apps/http/altcp_proxyconnect.c", + "$LWIPDIR/apps/http/fs.c", + "$LWIPDIR/apps/http/http_client.c", + "$LWIPDIR/apps/http/httpd.c", +] + +# MAKEFSDATA: MAKEFSDATA HTTP server host utility +MAKEFSDATAFILES = [ "$LWIPDIR/apps/http/makefsdata/makefsdata.c" ] + +# LWIPERFFILES: IPERF server +LWIPERFFILES = [ "$LWIPDIR/apps/lwiperf/lwiperf.c" ] + +# SMTPFILES: SMTP client +SMTPFILES = [ "$LWIPDIR/apps/smtp/smtp.c" ] + +# SNTPFILES: SNTP client +SNTPFILES = [ "$LWIPDIR/apps/sntp/sntp.c" ] + +# MDNSFILES: MDNS responder +MDNSFILES = [ "$LWIPDIR/apps/mdns/mdns.c" ] + +# NETBIOSNSFILES: NetBIOS name server +NETBIOSNSFILES = [ "$LWIPDIR/apps/netbiosns/netbiosns.c" ] + +# TFTPFILES: TFTP server files +TFTPFILES = [ "$LWIPDIR/apps/tftp/tftp_server.c" ] + +# MQTTFILES: MQTT client files +MQTTFILES = [ "$LWIPDIR/apps/mqtt/mqtt.c" ] + +# MBEDTLS_FILES: MBEDTLS related files of lwIP rep +MBEDTLS_FILES = [ + "$LWIPDIR/apps/altcp_tls/altcp_tls_mbedtls.c", + "$LWIPDIR/apps/altcp_tls/altcp_tls_mbedtls_mem.c", + "$LWIPDIR/apps/snmp/snmpv3_mbedtls.c", +] + +# LWIPAPPFILES: All LWIP APPs +LWIPAPPFILES = + SNMPFILES + HTTPFILES + LWIPERFFILES + SMTPFILES + SNTPFILES + MDNSFILES + + NETBIOSNSFILES + TFTPFILES + MQTTFILES + MBEDTLS_FILES \ No newline at end of file