1// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15cc_binary {
16    name: "tcpdump",
17    host_supported: false,
18
19    cflags: [
20        "-D_BSD_SOURCE",
21        "-DHAVE_CONFIG_H",
22        "-D_U_=__attribute__((__unused__))",
23        "-Wall",
24        "-Werror",
25        "-Wno-sign-compare",
26        "-Wno-address-of-packed-member", // http://b/33566695
27        "-Wno-incompatible-pointer-types-discards-qualifiers",
28    ],
29
30    // Based on the tcpdump Makefile...
31    srcs: [
32        // CSRC
33        "setsignal.c",
34        "tcpdump.c",
35        // LIBNETDISSECT_SRC
36        "addrtoname.c",
37        "addrtostr.c",
38        "af.c",
39        "ascii_strcasecmp.c",
40        "checksum.c",
41        "cpack.c",
42        "gmpls.c",
43        "gmt2local.c",
44        "in_cksum.c",
45        "ipproto.c",
46        "l2vpn.c",
47        "machdep.c",
48        "nlpid.c",
49        "oui.c",
50        "parsenfsfh.c",
51        "print.c",
52        "print-802_11.c",
53        "print-802_15_4.c",
54        "print-ah.c",
55        "print-ahcp.c",
56        "print-aodv.c",
57        "print-aoe.c",
58        "print-ap1394.c",
59        "print-arcnet.c",
60        "print-arp.c",
61        "print-ascii.c",
62        "print-atalk.c",
63        "print-atm.c",
64        "print-babel.c",
65        "print-beep.c",
66        "print-bfd.c",
67        "print-bgp.c",
68        "print-bootp.c",
69        "print-bt.c",
70        "print-calm-fast.c",
71        "print-carp.c",
72        "print-cdp.c",
73        "print-cfm.c",
74        "print-chdlc.c",
75        "print-cip.c",
76        "print-cnfp.c",
77        "print-dccp.c",
78        "print-decnet.c",
79        "print-dhcp6.c",
80        "print-domain.c",
81        "print-dtp.c",
82        "print-dvmrp.c",
83        "print-eap.c",
84        "print-egp.c",
85        "print-eigrp.c",
86        "print-enc.c",
87        "print-esp.c",
88        "print-ether.c",
89        "print-fddi.c",
90        "print-forces.c",
91        "print-fr.c",
92        "print-frag6.c",
93        "print-ftp.c",
94        "print-geneve.c",
95        "print-geonet.c",
96        "print-gre.c",
97        "print-hncp.c",
98        "print-hsrp.c",
99        "print-http.c",
100        "print-icmp.c",
101        "print-icmp6.c",
102        "print-igmp.c",
103        "print-igrp.c",
104        "print-ip.c",
105        "print-ip6.c",
106        "print-ip6opts.c",
107        "print-ipcomp.c",
108        "print-ipfc.c",
109        "print-ipnet.c",
110        "print-ipx.c",
111        "print-isakmp.c",
112        "print-isoclns.c",
113        "print-juniper.c",
114        "print-krb.c",
115        "print-l2tp.c",
116        "print-lane.c",
117        "print-ldp.c",
118        "print-lisp.c",
119        "print-llc.c",
120        "print-lldp.c",
121        "print-lmp.c",
122        "print-loopback.c",
123        "print-lspping.c",
124        "print-lwapp.c",
125        "print-lwres.c",
126        "print-m3ua.c",
127        "print-medsa.c",
128        "print-mobile.c",
129        "print-mobility.c",
130        "print-mpcp.c",
131        "print-mpls.c",
132        "print-mptcp.c",
133        "print-msdp.c",
134        "print-msnlb.c",
135        "print-nflog.c",
136        "print-nfs.c",
137        "print-nsh.c",
138        "print-ntp.c",
139        "print-null.c",
140        "print-olsr.c",
141        "print-openflow-1.0.c",
142        "print-openflow.c",
143        "print-ospf.c",
144        "print-ospf6.c",
145        "print-otv.c",
146        "print-pgm.c",
147        "print-pim.c",
148        "print-pktap.c",
149        "print-ppi.c",
150        "print-ppp.c",
151        "print-pppoe.c",
152        "print-pptp.c",
153        "print-radius.c",
154        "print-raw.c",
155        "print-resp.c",
156        "print-rip.c",
157        "print-ripng.c",
158        "print-rpki-rtr.c",
159        "print-rrcp.c",
160        "print-rsvp.c",
161        "print-rt6.c",
162        "print-rtsp.c",
163        "print-rx.c",
164        "print-sctp.c",
165        "print-sflow.c",
166        "print-sip.c",
167        "print-sl.c",
168        "print-sll.c",
169        "print-slow.c",
170        "print-smtp.c",
171        "print-snmp.c",
172        "print-stp.c",
173        "print-sunatm.c",
174        "print-sunrpc.c",
175        "print-symantec.c",
176        "print-syslog.c",
177        "print-tcp.c",
178        "print-telnet.c",
179        "print-tftp.c",
180        "print-timed.c",
181        "print-tipc.c",
182        "print-token.c",
183        "print-udld.c",
184        "print-udp.c",
185        "print-usb.c",
186        "print-vjc.c",
187        "print-vqp.c",
188        "print-vrrp.c",
189        "print-vtp.c",
190        "print-vxlan.c",
191        "print-vxlan-gpe.c",
192        "print-wb.c",
193        "print-zephyr.c",
194        "print-zeromq.c",
195        "netdissect.c",
196        "signature.c",
197        "strtoaddr.c",
198        "util-print.c",
199        // LOCALSRC
200        "print-smb.c",
201        "smbutil.c",
202        // GENSRC
203        "version.c",
204    ],
205
206    shared_libs: [
207        "libssl",
208        "libcrypto",
209        "libpcap",
210    ],
211}
212