1from building import *
2
3src = Split("""
4src/api/api_lib.c
5src/api/api_msg.c
6src/api/err.c
7src/api/netbuf.c
8src/api/netdb.c
9src/api/netifapi.c
10src/api/sockets.c
11src/api/tcpip.c
12src/core/def.c
13src/core/dns.c
14src/core/inet_chksum.c
15src/core/init.c
16src/core/ip.c
17src/core/memp.c
18src/core/netif.c
19src/core/pbuf.c
20src/core/raw.c
21src/core/stats.c
22src/core/sys.c
23src/core/tcp.c
24src/core/tcp_in.c
25src/core/tcp_out.c
26src/core/timeouts.c
27src/core/udp.c
28src/netif/ethernet.c
29src/netif/lowpan6.c
30""")
31
32ipv4_src = Split("""
33src/core/ipv4/autoip.c
34src/core/ipv4/dhcp.c
35src/core/ipv4/etharp.c
36src/core/ipv4/icmp.c
37src/core/ipv4/igmp.c
38src/core/ipv4/ip4.c
39src/core/ipv4/ip4_addr.c
40src/core/ipv4/ip4_frag.c
41""")
42
43ipv6_src = Split("""
44src/core/ipv6/dhcp6.c
45src/core/ipv6/ethip6.c
46src/core/ipv6/icmp6.c
47src/core/ipv6/inet6.c
48src/core/ipv6/ip6.c
49src/core/ipv6/ip6_addr.c
50src/core/ipv6/ip6_frag.c
51src/core/ipv6/mld6.c
52src/core/ipv6/nd6.c
53""")
54
55snmp_src = Glob("src/apps/snmp/*.c")
56
57ppp_src = Glob("src/netif/ppp/*.c") + Glob("src/netif/ppp/polarssl/*c")
58
59src = src + ipv4_src
60
61# The set of source files associated with this SConscript file.
62path = [GetCurrentDir() + '/src/include',
63    GetCurrentDir() + '/src/include/ipv4',
64    GetCurrentDir() + '/src/include/netif']
65
66if not GetDepend('RT_USING_SAL'):
67    path += [GetCurrentDir() + '/src/include/posix']
68
69if GetDepend(['RT_LWIP_SNMP']):
70    src += snmp_src
71    path += [GetCurrentDir() + '/src/apps/snmp']
72
73if GetDepend(['RT_LWIP_PPP']):
74    src += ppp_src
75    path += [GetCurrentDir() + '/src/netif/ppp']
76
77if GetDepend(['RT_USING_LWIP_IPV6']):
78    src += ipv6_src
79
80if GetDepend(['RT_LWIP_USING_PING']):
81    src += Glob('src/apps/ping/ping.c')
82
83group = DefineGroup('lwIP', src, depend = ['RT_USING_LWIP', 'RT_USING_LWIP203'], CPPPATH = path)
84
85Return('group')
86