Changeset 8440506 in rtems-libbsd for libbsd.py


Ignore:
Timestamp:
Jun 15, 2015, 7:42:23 AM (4 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.11, c1e05b9ea378b2971e3d7704779112b4bc4296da, freebsd-9.3, 4a77611a223ea883fb548679b516d326a020d447
Children:
7c8c0eb
Parents:
4517fa3
Message:

Add tcpdump and libpcap.

  • Update the file builder generator to handle generator specific cflags and includes. The tcpdump and libpcap have localised headers and need specific headers paths to see them. There are also module specific flags and these need to be passed to the lex and yacc generators.
  • Add the tcpdump support.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libbsd.py

    r4517fa3 r8440506  
    138138                                     mm.generator['no-convert'](),
    139139                                     mm.generator['no-convert'](),
    140                                      mm.generator['kvm-symbols']()))
     140                                     mm.generator['kvm-symbols'](includes = 'rtemsbsd/rtems')))
    141141    mod.addFile(mm.generator['file']('lib/libc/net/nslexer.l',
    142142                                     mm.generator['freebsd-path'](),
     
    18571857            'sbin/ifconfig/ifconfig.h',
    18581858            'sbin/ifconfig/regdomain.h',
    1859             'usr.bin/netstat/netstat.h',
     1859            'usr.bin/netstat/netstat.h'
    18601860        ]
    18611861    )
     
    18721872    mod.addUserSpaceSourceFiles(
    18731873        [
    1874                 'lib/libc/db/btree/bt_close.c',
     1874            'lib/libc/db/btree/bt_close.c',
    18751875            'lib/libc/db/btree/bt_conv.c',
    18761876            'lib/libc/db/btree/bt_debug.c',
     
    20452045
    20462046#
     2047# Contrib libpcap
     2048#
     2049def contrib_libpcap(mm):
     2050    mod = builder.Module('contrib_libpcap')
     2051    cflags = ['-DINET6',
     2052              '-D_U_=__attribute__((unused))',
     2053              '-DHAVE_INTTYPES=1',
     2054              '-DHAVE_STDINT=1',
     2055              '-DHAVE_STRERROR=1',
     2056              '-DHAVE_STRLCPY=1',
     2057              '-DHAVE_SNPRINTF=1',
     2058              '-DHAVE_VSNPRINTF=1']
     2059    mod.addUserSpaceHeaderFiles(
     2060        [
     2061            'contrib/libpcap/arcnet.h',
     2062            'contrib/libpcap/atmuni31.h',
     2063            'contrib/libpcap/ethertype.h',
     2064            'contrib/libpcap/gencode.h',
     2065            'contrib/libpcap/ieee80211.h',
     2066            'contrib/libpcap/llc.h',
     2067            'contrib/libpcap/nlpid.h',
     2068            'contrib/libpcap/pcap-common.h',
     2069            'contrib/libpcap/pcap-int.h',
     2070            'contrib/libpcap/pcap-namedb.h',
     2071            'contrib/libpcap/pcap.h',
     2072            'contrib/libpcap/pcap/ipnet.h',
     2073            'contrib/libpcap/pcap/namedb.h',
     2074            'contrib/libpcap/pcap/pcap.h',
     2075            'contrib/libpcap/pcap/sll.h',
     2076            'contrib/libpcap/pcap/usb.h',
     2077            'contrib/libpcap/ppp.h',
     2078            'contrib/libpcap/sf-pcap-ng.h',
     2079            'contrib/libpcap/sf-pcap.h',
     2080            'contrib/libpcap/sunatmpos.h',
     2081        ]
     2082    )
     2083    gen_cflags = cflags + ['-DNEED_YYPARSE_WRAPPER=1',
     2084                           '-Dyylval=pcap_lval']
     2085    mod.addFile(mm.generator['file']('contrib/libpcap/scanner.l',
     2086                                     mm.generator['freebsd-path'](),
     2087                                     mm.generator['convert'](),
     2088                                     mm.generator['convert'](),
     2089                                     mm.generator['lex']('pcap',
     2090                                                         'scanner.c',
     2091                                                         gen_cflags)))
     2092    mod.addFile(mm.generator['file']('contrib/libpcap/grammar.y',
     2093                                     mm.generator['freebsd-path'](),
     2094                                     mm.generator['convert'](),
     2095                                     mm.generator['convert'](),
     2096                                     mm.generator['yacc']('pcap',
     2097                                                          'tokdefs.h',
     2098                                                          gen_cflags)))
     2099    mod.addUserSpaceSourceFiles(
     2100        [
     2101            'contrib/libpcap/bpf_image.c',
     2102            'contrib/libpcap/etherent.c',
     2103            'contrib/libpcap/fad-getad.c',
     2104            'contrib/libpcap/gencode.c',
     2105            'contrib/libpcap/inet.c',
     2106            'contrib/libpcap/pcap.c',
     2107            'contrib/libpcap/pcap-bpf.c',
     2108            'contrib/libpcap/pcap-common.c',
     2109            'contrib/libpcap/optimize.c',
     2110            'contrib/libpcap/nametoaddr.c',
     2111            'contrib/libpcap/savefile.c',
     2112            'contrib/libpcap/sf-pcap.c',
     2113            'contrib/libpcap/sf-pcap-ng.c',
     2114        ],
     2115        mm.generator['source'](cflags)
     2116    )
     2117    return mod
     2118
     2119#
     2120# /usr/sbin/tcpdump
     2121#
     2122def usr_sbin_tcpdump(mm):
     2123    mod = builder.Module('usr_sbin_tcpdump')
     2124    mod.addUserSpaceHeaderFiles(
     2125        [
     2126            'contrib/tcpdump/addrtoname.h',
     2127            'contrib/tcpdump/af.h',
     2128            'contrib/tcpdump/ah.h',
     2129            'contrib/tcpdump/aodv.h',
     2130            'contrib/tcpdump/appletalk.h',
     2131            'contrib/tcpdump/arcnet.h',
     2132            'contrib/tcpdump/atm.h',
     2133            'contrib/tcpdump/bgp.h',
     2134            'contrib/tcpdump/bootp.h',
     2135            'contrib/tcpdump/chdlc.h',
     2136            'contrib/tcpdump/cpack.h',
     2137            'contrib/tcpdump/dccp.h',
     2138            'contrib/tcpdump/decnet.h',
     2139            'contrib/tcpdump/decode_prefix.h',
     2140            'contrib/tcpdump/enc.h',
     2141            'contrib/tcpdump/esp.h',
     2142            'contrib/tcpdump/ether.h',
     2143            'contrib/tcpdump/ethertype.h',
     2144            'contrib/tcpdump/extract.h',
     2145            'contrib/tcpdump/fddi.h',
     2146            'contrib/tcpdump/forces.h',
     2147            'contrib/tcpdump/gmpls.h',
     2148            'contrib/tcpdump/gmt2local.h',
     2149            'contrib/tcpdump/icmp6.h',
     2150            'contrib/tcpdump/ieee802_11.h',
     2151            'contrib/tcpdump/ieee802_11_radio.h',
     2152            'contrib/tcpdump/igrp.h',
     2153            'contrib/tcpdump/interface.h',
     2154            'contrib/tcpdump/ip.h',
     2155            'contrib/tcpdump/ip6.h',
     2156            'contrib/tcpdump/ipfc.h',
     2157            'contrib/tcpdump/ipnet.h',
     2158            'contrib/tcpdump/ipproto.h',
     2159            'contrib/tcpdump/ipsec_doi.h',
     2160            'contrib/tcpdump/ipx.h',
     2161            'contrib/tcpdump/isakmp.h',
     2162            'contrib/tcpdump/l2tp.h',
     2163            'contrib/tcpdump/l2vpn.h',
     2164            'contrib/tcpdump/lane.h',
     2165            'contrib/tcpdump/llc.h',
     2166            'contrib/tcpdump/machdep.h',
     2167            'contrib/tcpdump/mib.h',
     2168            'contrib/tcpdump/mpls.h',
     2169            'contrib/tcpdump/nameser.h',
     2170            'contrib/tcpdump/netbios.h',
     2171            'contrib/tcpdump/netdissect.h',
     2172            'contrib/tcpdump/nfs.h',
     2173            'contrib/tcpdump/nfsfh.h',
     2174            'contrib/tcpdump/nlpid.h',
     2175            'contrib/tcpdump/ntp.h',
     2176            'contrib/tcpdump/oakley.h',
     2177            'contrib/tcpdump/ospf.h',
     2178            'contrib/tcpdump/ospf6.h',
     2179            'contrib/tcpdump/oui.h',
     2180            'contrib/tcpdump/pcap-missing.h',
     2181            'contrib/tcpdump/pmap_prot.h',
     2182            'contrib/tcpdump/ppi.h',
     2183            'contrib/tcpdump/ppp.h',
     2184            'contrib/tcpdump/route6d.h',
     2185            'contrib/tcpdump/rpc_auth.h',
     2186            'contrib/tcpdump/rpc_msg.h',
     2187            'contrib/tcpdump/rx.h',
     2188            'contrib/tcpdump/sctpConstants.h',
     2189            'contrib/tcpdump/sctpHeader.h',
     2190            'contrib/tcpdump/setsignal.h',
     2191            'contrib/tcpdump/signature.h',
     2192            'contrib/tcpdump/slcompress.h',
     2193            'contrib/tcpdump/slip.h',
     2194            'contrib/tcpdump/sll.h',
     2195            'contrib/tcpdump/smb.h',
     2196            'contrib/tcpdump/tcp.h',
     2197            'contrib/tcpdump/tcpdump-stdinc.h',
     2198            'contrib/tcpdump/telnet.h',
     2199            'contrib/tcpdump/tftp.h',
     2200            'contrib/tcpdump/timed.h',
     2201            'contrib/tcpdump/token.h',
     2202            'contrib/tcpdump/udp.h',
     2203            'usr.sbin/tcpdump/tcpdump/config.h',
     2204        ]
     2205    )
     2206    mod.addUserSpaceSourceFiles(
     2207        [
     2208            'contrib/tcpdump/addrtoname.c',
     2209            'contrib/tcpdump/af.c',
     2210            'contrib/tcpdump/bpf_dump.c',
     2211            'contrib/tcpdump/checksum.c',
     2212            'contrib/tcpdump/cpack.c',
     2213            'contrib/tcpdump/gmpls.c',
     2214            'contrib/tcpdump/gmt2local.c',
     2215            'contrib/tcpdump/in_cksum.c',
     2216            'contrib/tcpdump/ipproto.c',
     2217            'contrib/tcpdump/machdep.c',
     2218            'contrib/tcpdump/nlpid.c',
     2219            'contrib/tcpdump/l2vpn.c',
     2220            'contrib/tcpdump/oui.c',
     2221            'contrib/tcpdump/parsenfsfh.c',
     2222            'contrib/tcpdump/print-802_11.c',
     2223            'contrib/tcpdump/print-802_15_4.c',
     2224            'contrib/tcpdump/print-ah.c',
     2225            'contrib/tcpdump/print-aodv.c',
     2226            'contrib/tcpdump/print-ap1394.c',
     2227            'contrib/tcpdump/print-arcnet.c',
     2228            'contrib/tcpdump/print-arp.c',
     2229            'contrib/tcpdump/print-ascii.c',
     2230            'contrib/tcpdump/print-atalk.c',
     2231            'contrib/tcpdump/print-atm.c',
     2232            'contrib/tcpdump/print-babel.c',
     2233            'contrib/tcpdump/print-beep.c',
     2234            'contrib/tcpdump/print-bfd.c',
     2235            'contrib/tcpdump/print-bgp.c',
     2236            'contrib/tcpdump/print-bootp.c',
     2237            'contrib/tcpdump/print-bt.c',
     2238            'contrib/tcpdump/print-carp.c',
     2239            'contrib/tcpdump/print-cdp.c',
     2240            'contrib/tcpdump/print-cfm.c',
     2241            'contrib/tcpdump/print-chdlc.c',
     2242            'contrib/tcpdump/print-cip.c',
     2243            'contrib/tcpdump/print-cnfp.c',
     2244            'contrib/tcpdump/print-dccp.c',
     2245            'contrib/tcpdump/print-decnet.c',
     2246            'contrib/tcpdump/print-dhcp6.c',
     2247            'contrib/tcpdump/print-domain.c',
     2248            'contrib/tcpdump/print-dtp.c',
     2249            'contrib/tcpdump/print-dvmrp.c',
     2250            'contrib/tcpdump/print-eap.c',
     2251            'contrib/tcpdump/print-egp.c',
     2252            'contrib/tcpdump/print-eigrp.c',
     2253            'contrib/tcpdump/print-enc.c',
     2254            'contrib/tcpdump/print-esp.c',
     2255            'contrib/tcpdump/print-ether.c',
     2256            'contrib/tcpdump/print-fddi.c',
     2257            'contrib/tcpdump/print-forces.c',
     2258            'contrib/tcpdump/print-fr.c',
     2259            'contrib/tcpdump/print-frag6.c',
     2260            'contrib/tcpdump/print-gre.c',
     2261            'contrib/tcpdump/print-hsrp.c',
     2262            'contrib/tcpdump/print-icmp.c',
     2263            'contrib/tcpdump/print-icmp6.c',
     2264            'contrib/tcpdump/print-igmp.c',
     2265            'contrib/tcpdump/print-igrp.c',
     2266            'contrib/tcpdump/print-ip.c',
     2267            'contrib/tcpdump/print-ip6.c',
     2268            'contrib/tcpdump/print-ip6opts.c',
     2269            'contrib/tcpdump/print-ipcomp.c',
     2270            'contrib/tcpdump/print-ipfc.c',
     2271            'contrib/tcpdump/print-ipnet.c',
     2272            'contrib/tcpdump/print-ipx.c',
     2273            'contrib/tcpdump/print-isakmp.c',
     2274            'contrib/tcpdump/print-isoclns.c',
     2275            'contrib/tcpdump/print-juniper.c',
     2276            'contrib/tcpdump/print-krb.c',
     2277            'contrib/tcpdump/print-l2tp.c',
     2278            'contrib/tcpdump/print-lane.c',
     2279            'contrib/tcpdump/print-ldp.c',
     2280            'contrib/tcpdump/print-llc.c',
     2281            'contrib/tcpdump/print-lldp.c',
     2282            'contrib/tcpdump/print-lmp.c',
     2283            'contrib/tcpdump/print-lspping.c',
     2284            'contrib/tcpdump/print-lwapp.c',
     2285            'contrib/tcpdump/print-lwres.c',
     2286            'contrib/tcpdump/print-mobile.c',
     2287            'contrib/tcpdump/print-mobility.c',
     2288            'contrib/tcpdump/print-mpcp.c',
     2289            'contrib/tcpdump/print-mpls.c',
     2290            'contrib/tcpdump/print-msdp.c',
     2291            'contrib/tcpdump/print-msnlb.c',
     2292            'contrib/tcpdump/print-netbios.c',
     2293            'contrib/tcpdump/print-nfs.c',
     2294            'contrib/tcpdump/print-ntp.c',
     2295            'contrib/tcpdump/print-null.c',
     2296            'contrib/tcpdump/print-olsr.c',
     2297            'contrib/tcpdump/print-ospf.c',
     2298            'contrib/tcpdump/print-ospf6.c',
     2299            'contrib/tcpdump/print-otv.c',
     2300            'contrib/tcpdump/print-pflog.c',
     2301            'contrib/tcpdump/print-pfsync.c',
     2302            'contrib/tcpdump/print-pgm.c',
     2303            'contrib/tcpdump/print-pim.c',
     2304            'contrib/tcpdump/print-ppi.c',
     2305            'contrib/tcpdump/print-ppp.c',
     2306            'contrib/tcpdump/print-pppoe.c',
     2307            'contrib/tcpdump/print-pptp.c',
     2308            'contrib/tcpdump/print-radius.c',
     2309            'contrib/tcpdump/print-raw.c',
     2310            'contrib/tcpdump/print-rip.c',
     2311            'contrib/tcpdump/print-ripng.c',
     2312            'contrib/tcpdump/print-rpki-rtr.c',
     2313            'contrib/tcpdump/print-rrcp.c',
     2314            'contrib/tcpdump/print-rsvp.c',
     2315            'contrib/tcpdump/print-rt6.c',
     2316            'contrib/tcpdump/print-rx.c',
     2317            'contrib/tcpdump/print-sctp.c',
     2318            'contrib/tcpdump/print-sflow.c',
     2319            'contrib/tcpdump/print-sip.c',
     2320            'contrib/tcpdump/print-sl.c',
     2321            'contrib/tcpdump/print-sll.c',
     2322            'contrib/tcpdump/print-slow.c',
     2323            'contrib/tcpdump/print-smb.c',
     2324            'contrib/tcpdump/print-snmp.c',
     2325            'contrib/tcpdump/print-stp.c',
     2326            'contrib/tcpdump/print-sunatm.c',
     2327            #'contrib/tcpdump/print-sunrpc.c',
     2328            'contrib/tcpdump/print-symantec.c',
     2329            'contrib/tcpdump/print-syslog.c',
     2330            'contrib/tcpdump/print-tcp.c',
     2331            'contrib/tcpdump/print-telnet.c',
     2332            'contrib/tcpdump/print-tftp.c',
     2333            'contrib/tcpdump/print-timed.c',
     2334            'contrib/tcpdump/print-tipc.c',
     2335            'contrib/tcpdump/print-token.c',
     2336            'contrib/tcpdump/print-udld.c',
     2337            'contrib/tcpdump/print-udp.c',
     2338            'contrib/tcpdump/print-usb.c',
     2339            'contrib/tcpdump/print-vjc.c',
     2340            'contrib/tcpdump/print-vqp.c',
     2341            'contrib/tcpdump/print-vrrp.c',
     2342            'contrib/tcpdump/print-vtp.c',
     2343            'contrib/tcpdump/print-vxlan.c',
     2344            'contrib/tcpdump/print-wb.c',
     2345            'contrib/tcpdump/print-zephyr.c',
     2346            'contrib/tcpdump/print-zeromq.c',
     2347            'contrib/tcpdump/setsignal.c',
     2348            'contrib/tcpdump/signature.c',
     2349            'contrib/tcpdump/smbutil.c',
     2350            'contrib/tcpdump/tcpdump.c',
     2351            'contrib/tcpdump/util.c',
     2352        ],
     2353        mm.generator['source'](['-DINET6',
     2354                                '-D_U_=__attribute__((unused))',
     2355                                '-DHAVE_CONFIG_H=1',
     2356                                '-DHAVE_NET_PFVAR_H=1'],
     2357                               ['freebsd/contrib/tcpdump',
     2358                                'freebsd/usr.sbin/tcpdump/tcpdump'])
     2359    )
     2360    return mod
     2361
     2362#
    20472363# in_chksum Module
    20482364#
     
    22902606
    22912607    mm.addModule(user_space(mm))
     2608    mm.addModule(contrib_libpcap(mm))
     2609    mm.addModule(usr_sbin_tcpdump(mm))
    22922610
    22932611    mm.addModule(tests(mm))
Note: See TracChangeset for help on using the changeset viewer.