1*de1e4e89SAndroid Build Coastguard Workerpackage { 2*de1e4e89SAndroid Build Coastguard Worker default_applicable_licenses: ["external_iproute2_tc_license"], 3*de1e4e89SAndroid Build Coastguard Worker} 4*de1e4e89SAndroid Build Coastguard Worker 5*de1e4e89SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 6*de1e4e89SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 7*de1e4e89SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 8*de1e4e89SAndroid Build Coastguard Worker// 9*de1e4e89SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 10*de1e4e89SAndroid Build Coastguard Worker// 11*de1e4e89SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 12*de1e4e89SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 13*de1e4e89SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 14*de1e4e89SAndroid Build Coastguard Worker// 15*de1e4e89SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 16*de1e4e89SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 17*de1e4e89SAndroid Build Coastguard Worker// used in the current project. 18*de1e4e89SAndroid Build Coastguard Worker// See: http://go/android-license-faq 19*de1e4e89SAndroid Build Coastguard Workerlicense { 20*de1e4e89SAndroid Build Coastguard Worker name: "external_iproute2_tc_license", 21*de1e4e89SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 22*de1e4e89SAndroid Build Coastguard Worker license_kinds: [ 23*de1e4e89SAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 24*de1e4e89SAndroid Build Coastguard Worker "SPDX-license-identifier-GPL", 25*de1e4e89SAndroid Build Coastguard Worker "SPDX-license-identifier-GPL-2.0", 26*de1e4e89SAndroid Build Coastguard Worker "SPDX-license-identifier-GPL-3.0", 27*de1e4e89SAndroid Build Coastguard Worker "SPDX-license-identifier-LGPL", 28*de1e4e89SAndroid Build Coastguard Worker ], 29*de1e4e89SAndroid Build Coastguard Worker license_text: [ 30*de1e4e89SAndroid Build Coastguard Worker "NOTICE", 31*de1e4e89SAndroid Build Coastguard Worker ], 32*de1e4e89SAndroid Build Coastguard Worker} 33*de1e4e89SAndroid Build Coastguard Worker 34*de1e4e89SAndroid Build Coastguard Workergenrule { 35*de1e4e89SAndroid Build Coastguard Worker name: "static-syms.h", 36*de1e4e89SAndroid Build Coastguard Worker out: ["static-syms.h"], 37*de1e4e89SAndroid Build Coastguard Worker srcs: ["*.c"], 38*de1e4e89SAndroid Build Coastguard Worker tool_files: ["make-static-syms.sh"], 39*de1e4e89SAndroid Build Coastguard Worker cmd: "$(location make-static-syms.sh) $(in) > $(out)", 40*de1e4e89SAndroid Build Coastguard Worker} 41*de1e4e89SAndroid Build Coastguard Worker 42*de1e4e89SAndroid Build Coastguard Workergenrule { 43*de1e4e89SAndroid Build Coastguard Worker name: "emp_ematch.yacc.c", 44*de1e4e89SAndroid Build Coastguard Worker cmd: "M4=$(location m4) $(location bison) -y --output=$(genDir)/emp_ematch.yacc.c $(in)", 45*de1e4e89SAndroid Build Coastguard Worker out: ["emp_ematch.yacc.c"], 46*de1e4e89SAndroid Build Coastguard Worker srcs: ["emp_ematch.y"], 47*de1e4e89SAndroid Build Coastguard Worker tools: [ 48*de1e4e89SAndroid Build Coastguard Worker "bison", 49*de1e4e89SAndroid Build Coastguard Worker "m4", 50*de1e4e89SAndroid Build Coastguard Worker ], 51*de1e4e89SAndroid Build Coastguard Worker} 52*de1e4e89SAndroid Build Coastguard Worker 53*de1e4e89SAndroid Build Coastguard Workergenrule { 54*de1e4e89SAndroid Build Coastguard Worker name: "emp_ematch.yacc.h", 55*de1e4e89SAndroid Build Coastguard Worker cmd: "M4=$(location m4) $(location bison) -y --defines=$(genDir)/emp_ematch.yacc.h --output=$(genDir)/emp_ematch.yacc.c $(in)", 56*de1e4e89SAndroid Build Coastguard Worker out: ["emp_ematch.yacc.h"], 57*de1e4e89SAndroid Build Coastguard Worker srcs: ["emp_ematch.y"], 58*de1e4e89SAndroid Build Coastguard Worker tools: [ 59*de1e4e89SAndroid Build Coastguard Worker "bison", 60*de1e4e89SAndroid Build Coastguard Worker "m4", 61*de1e4e89SAndroid Build Coastguard Worker ], 62*de1e4e89SAndroid Build Coastguard Worker} 63*de1e4e89SAndroid Build Coastguard Worker 64*de1e4e89SAndroid Build Coastguard Workercc_binary { 65*de1e4e89SAndroid Build Coastguard Worker name: "tc", 66*de1e4e89SAndroid Build Coastguard Worker defaults: ["iproute2_defaults"], 67*de1e4e89SAndroid Build Coastguard Worker 68*de1e4e89SAndroid Build Coastguard Worker generated_headers: [ 69*de1e4e89SAndroid Build Coastguard Worker "emp_ematch.yacc.h", 70*de1e4e89SAndroid Build Coastguard Worker "static-syms.h", 71*de1e4e89SAndroid Build Coastguard Worker ], 72*de1e4e89SAndroid Build Coastguard Worker 73*de1e4e89SAndroid Build Coastguard Worker // ordering affects link order, so cannot be quite fully sorted 74*de1e4e89SAndroid Build Coastguard Worker srcs: [ 75*de1e4e89SAndroid Build Coastguard Worker "emp_ematch.l", 76*de1e4e89SAndroid Build Coastguard Worker ":emp_ematch.yacc.c", 77*de1e4e89SAndroid Build Coastguard Worker "m_action.c", 78*de1e4e89SAndroid Build Coastguard Worker "m_bpf.c", 79*de1e4e89SAndroid Build Coastguard Worker "m_connmark.c", 80*de1e4e89SAndroid Build Coastguard Worker "m_csum.c", 81*de1e4e89SAndroid Build Coastguard Worker "m_ematch.c", 82*de1e4e89SAndroid Build Coastguard Worker "m_estimator.c", 83*de1e4e89SAndroid Build Coastguard Worker "m_gact.c", 84*de1e4e89SAndroid Build Coastguard Worker "m_ife.c", 85*de1e4e89SAndroid Build Coastguard Worker "m_mirred.c", 86*de1e4e89SAndroid Build Coastguard Worker "m_pedit.c", 87*de1e4e89SAndroid Build Coastguard Worker "m_police.c", 88*de1e4e89SAndroid Build Coastguard Worker "m_sample.c", 89*de1e4e89SAndroid Build Coastguard Worker "m_simple.c", 90*de1e4e89SAndroid Build Coastguard Worker "m_skbedit.c", 91*de1e4e89SAndroid Build Coastguard Worker "m_skbmod.c", 92*de1e4e89SAndroid Build Coastguard Worker "m_tunnel_key.c", 93*de1e4e89SAndroid Build Coastguard Worker "m_vlan.c", 94*de1e4e89SAndroid Build Coastguard Worker "f_basic.c", 95*de1e4e89SAndroid Build Coastguard Worker "f_bpf.c", 96*de1e4e89SAndroid Build Coastguard Worker "f_cgroup.c", 97*de1e4e89SAndroid Build Coastguard Worker "f_flow.c", 98*de1e4e89SAndroid Build Coastguard Worker "f_flower.c", 99*de1e4e89SAndroid Build Coastguard Worker "f_fw.c", 100*de1e4e89SAndroid Build Coastguard Worker "f_matchall.c", 101*de1e4e89SAndroid Build Coastguard Worker "f_route.c", 102*de1e4e89SAndroid Build Coastguard Worker "f_u32.c", 103*de1e4e89SAndroid Build Coastguard Worker "q_clsact.c", 104*de1e4e89SAndroid Build Coastguard Worker "q_codel.c", 105*de1e4e89SAndroid Build Coastguard Worker "q_drr.c", 106*de1e4e89SAndroid Build Coastguard Worker "q_fifo.c", 107*de1e4e89SAndroid Build Coastguard Worker "q_fq.c", 108*de1e4e89SAndroid Build Coastguard Worker "q_fq_codel.c", 109*de1e4e89SAndroid Build Coastguard Worker "q_hfsc.c", 110*de1e4e89SAndroid Build Coastguard Worker "q_hhf.c", 111*de1e4e89SAndroid Build Coastguard Worker "q_htb.c", 112*de1e4e89SAndroid Build Coastguard Worker "q_ingress.c", 113*de1e4e89SAndroid Build Coastguard Worker "q_mqprio.c", 114*de1e4e89SAndroid Build Coastguard Worker "q_multiq.c", 115*de1e4e89SAndroid Build Coastguard Worker "q_netem.c", 116*de1e4e89SAndroid Build Coastguard Worker "q_pie.c", 117*de1e4e89SAndroid Build Coastguard Worker "q_prio.c", 118*de1e4e89SAndroid Build Coastguard Worker "q_qfq.c", 119*de1e4e89SAndroid Build Coastguard Worker "q_rr.c", 120*de1e4e89SAndroid Build Coastguard Worker "q_sfb.c", 121*de1e4e89SAndroid Build Coastguard Worker "q_tbf.c", 122*de1e4e89SAndroid Build Coastguard Worker "static-syms.c", 123*de1e4e89SAndroid Build Coastguard Worker "tc.c", 124*de1e4e89SAndroid Build Coastguard Worker "tc_cbq.c", 125*de1e4e89SAndroid Build Coastguard Worker "tc_class.c", 126*de1e4e89SAndroid Build Coastguard Worker "tc_core.c", 127*de1e4e89SAndroid Build Coastguard Worker "tc_estimator.c", 128*de1e4e89SAndroid Build Coastguard Worker "tc_exec.c", 129*de1e4e89SAndroid Build Coastguard Worker "tc_filter.c", 130*de1e4e89SAndroid Build Coastguard Worker "tc_monitor.c", 131*de1e4e89SAndroid Build Coastguard Worker "tc_qdisc.c", 132*de1e4e89SAndroid Build Coastguard Worker "tc_red.c", 133*de1e4e89SAndroid Build Coastguard Worker "tc_stab.c", 134*de1e4e89SAndroid Build Coastguard Worker "tc_util.c", 135*de1e4e89SAndroid Build Coastguard Worker "q_choke.c", 136*de1e4e89SAndroid Build Coastguard Worker "q_gred.c", 137*de1e4e89SAndroid Build Coastguard Worker "q_red.c", 138*de1e4e89SAndroid Build Coastguard Worker "q_sfq.c", 139*de1e4e89SAndroid Build Coastguard Worker ], 140*de1e4e89SAndroid Build Coastguard Worker 141*de1e4e89SAndroid Build Coastguard Worker shared_libs: [ 142*de1e4e89SAndroid Build Coastguard Worker "libiprouteutil", 143*de1e4e89SAndroid Build Coastguard Worker "libnetlink", 144*de1e4e89SAndroid Build Coastguard Worker ], 145*de1e4e89SAndroid Build Coastguard Worker 146*de1e4e89SAndroid Build Coastguard Worker cflags: [ 147*de1e4e89SAndroid Build Coastguard Worker "-Wno-missing-field-initializers", 148*de1e4e89SAndroid Build Coastguard Worker "-Wno-unneeded-internal-declaration", 149*de1e4e89SAndroid Build Coastguard Worker "-Wno-gnu-variable-sized-type-not-at-end", 150*de1e4e89SAndroid Build Coastguard Worker ], 151*de1e4e89SAndroid Build Coastguard Worker 152*de1e4e89SAndroid Build Coastguard Worker // This is a work around for b/18403920 153*de1e4e89SAndroid Build Coastguard Worker ldflags: ["-Wl,--no-gc-sections"], 154*de1e4e89SAndroid Build Coastguard Worker} 155