package { default_applicable_licenses: ["external_iproute2_tc_license"], } // Added automatically by a large-scale-change that took the approach of // 'apply every license found to every target'. While this makes sure we respect // every license restriction, it may not be entirely correct. // // e.g. GPL in an MIT project might only apply to the contrib/ directory. // // Please consider splitting the single license below into multiple licenses, // taking care not to lose any license_kind information, and overriding the // default license using the 'licenses: [...]' property on targets as needed. // // For unused files, consider creating a 'fileGroup' with "//visibility:private" // to attach the license to, and including a comment whether the files may be // used in the current project. // See: http://go/android-license-faq license { name: "external_iproute2_tc_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-BSD", "SPDX-license-identifier-GPL", "SPDX-license-identifier-GPL-2.0", "SPDX-license-identifier-GPL-3.0", "SPDX-license-identifier-LGPL", ], license_text: [ "NOTICE", ], } genrule { name: "static-syms.h", out: ["static-syms.h"], srcs: ["*.c"], tool_files: ["make-static-syms.sh"], cmd: "$(location make-static-syms.sh) $(in) > $(out)", } genrule { name: "emp_ematch.yacc.c", cmd: "$(location bison) -y --output=$(genDir)/emp_ematch.yacc.c $(in)", out: ["emp_ematch.yacc.c"], srcs: ["emp_ematch.y"], tools: ["bison"], } genrule { name: "emp_ematch.yacc.h", cmd: "$(location bison) -y --defines=$(genDir)/emp_ematch.yacc.h --output=$(genDir)/emp_ematch.yacc.c $(in)", out: ["emp_ematch.yacc.h"], srcs: ["emp_ematch.y"], tools: ["bison"], } cc_binary { name: "tc", defaults: ["iproute2_defaults"], generated_headers: [ "emp_ematch.yacc.h", "static-syms.h", ], // ordering affects link order, so cannot be quite fully sorted srcs: [ "emp_ematch.l", ":emp_ematch.yacc.c", "m_action.c", "m_bpf.c", "m_connmark.c", "m_csum.c", "m_ematch.c", "m_estimator.c", "m_gact.c", "m_ife.c", "m_mirred.c", "m_pedit.c", "m_police.c", "m_sample.c", "m_simple.c", "m_skbedit.c", "m_skbmod.c", "m_tunnel_key.c", "m_vlan.c", "f_basic.c", "f_bpf.c", "f_cgroup.c", "f_flow.c", "f_flower.c", "f_fw.c", "f_matchall.c", "f_route.c", "f_rsvp.c", "f_tcindex.c", "f_u32.c", "q_cbq.c", "q_clsact.c", "q_codel.c", "q_drr.c", "q_dsmark.c", "q_fifo.c", "q_fq.c", "q_fq_codel.c", "q_hfsc.c", "q_hhf.c", "q_htb.c", "q_ingress.c", "q_mqprio.c", "q_multiq.c", "q_netem.c", "q_pie.c", "q_prio.c", "q_qfq.c", "q_rr.c", "q_sfb.c", "q_tbf.c", "static-syms.c", "tc.c", "tc_cbq.c", "tc_class.c", "tc_core.c", "tc_estimator.c", "tc_exec.c", "tc_filter.c", "tc_monitor.c", "tc_qdisc.c", "tc_red.c", "tc_stab.c", "tc_util.c", "q_choke.c", "q_gred.c", "q_red.c", "q_sfq.c", ], shared_libs: [ "libiprouteutil", "libnetlink", ], cflags: [ "-Wno-missing-field-initializers", "-Wno-unneeded-internal-declaration", "-Wno-gnu-variable-sized-type-not-at-end", ], // This is a work around for b/18403920 ldflags: ["-Wl,--no-gc-sections"], }