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