xref: /aosp_15_r20/external/iproute2/tc/Android.bp (revision de1e4e894b0c224df933550f0afdecc354b238c4)
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