xref: /aosp_15_r20/external/iproute2/Android.bp (revision de1e4e894b0c224df933550f0afdecc354b238c4)
1*de1e4e89SAndroid Build Coastguard Workerpackage {
2*de1e4e89SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_iproute2_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//
19*de1e4e89SAndroid Build Coastguard Worker// large-scale-change included anything that looked like it might be a license
20*de1e4e89SAndroid Build Coastguard Worker// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
21*de1e4e89SAndroid Build Coastguard Worker//
22*de1e4e89SAndroid Build Coastguard Worker// Please consider removing redundant or irrelevant files from 'license_text:'.
23*de1e4e89SAndroid Build Coastguard Worker// See: http://go/android-license-faq
24*de1e4e89SAndroid Build Coastguard Workerlicense {
25*de1e4e89SAndroid Build Coastguard Worker    name: "external_iproute2_license",
26*de1e4e89SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
27*de1e4e89SAndroid Build Coastguard Worker    license_kinds: [
28*de1e4e89SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
29*de1e4e89SAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL",
30*de1e4e89SAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0",
31*de1e4e89SAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-3.0",
32*de1e4e89SAndroid Build Coastguard Worker        "SPDX-license-identifier-LGPL",
33*de1e4e89SAndroid Build Coastguard Worker        "legacy_unencumbered",
34*de1e4e89SAndroid Build Coastguard Worker    ],
35*de1e4e89SAndroid Build Coastguard Worker    license_text: [
36*de1e4e89SAndroid Build Coastguard Worker        "COPYING",
37*de1e4e89SAndroid Build Coastguard Worker        "NOTICE",
38*de1e4e89SAndroid Build Coastguard Worker    ],
39*de1e4e89SAndroid Build Coastguard Worker}
40*de1e4e89SAndroid Build Coastguard Worker
41*de1e4e89SAndroid Build Coastguard WorkerNETNS_RUN_DIR = "/mnt/run"
42*de1e4e89SAndroid Build Coastguard Worker
43*de1e4e89SAndroid Build Coastguard Workercc_library_headers {
44*de1e4e89SAndroid Build Coastguard Worker    name: "iproute2_headers",
45*de1e4e89SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
46*de1e4e89SAndroid Build Coastguard Worker}
47*de1e4e89SAndroid Build Coastguard Worker
48*de1e4e89SAndroid Build Coastguard Workercc_defaults {
49*de1e4e89SAndroid Build Coastguard Worker    name: "iproute2_defaults",
50*de1e4e89SAndroid Build Coastguard Worker
51*de1e4e89SAndroid Build Coastguard Worker    header_libs: ["iproute2_headers"],
52*de1e4e89SAndroid Build Coastguard Worker
53*de1e4e89SAndroid Build Coastguard Worker    cflags: [
54*de1e4e89SAndroid Build Coastguard Worker        "-O2",
55*de1e4e89SAndroid Build Coastguard Worker        "-g",
56*de1e4e89SAndroid Build Coastguard Worker        "-W",
57*de1e4e89SAndroid Build Coastguard Worker        "-Wall",
58*de1e4e89SAndroid Build Coastguard Worker        "-Wno-pointer-arith",
59*de1e4e89SAndroid Build Coastguard Worker        "-Wno-sign-compare",
60*de1e4e89SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
61*de1e4e89SAndroid Build Coastguard Worker        "-Werror",
62*de1e4e89SAndroid Build Coastguard Worker
63*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_ERRNO_H",
64*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_EXT2_IOCTLS",
65*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_GETPAGESIZE",
66*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_LINUX_FD_H",
67*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_LSEEK64",
68*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_LSEEK64_PROTOTYPE",
69*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_MMAP",
70*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_NETINET_IN_H",
71*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SELINUX",
72*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SETNS",
73*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_STDLIB_H",
74*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_STRDUP",
75*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SYS_IOCTL_H",
76*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SYS_MMAN_H",
77*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SYS_MOUNT_H",
78*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SYS_PRCTL_H",
79*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SYS_RESOURCE_H",
80*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SYS_SELECT_H",
81*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SYS_STAT_H",
82*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_SYS_TYPES_H",
83*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_TYPE_SSIZE_T",
84*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_UNISTD_H",
85*de1e4e89SAndroid Build Coastguard Worker        "-DHAVE_UTIME_H",
86*de1e4e89SAndroid Build Coastguard Worker
87*de1e4e89SAndroid Build Coastguard Worker        "-DNO_SHARED_LIBS",
88*de1e4e89SAndroid Build Coastguard Worker
89*de1e4e89SAndroid Build Coastguard Worker        "-Dstrdupa(__S)=strcpy(alloca(strlen(__S) + 1), __S)",
90*de1e4e89SAndroid Build Coastguard Worker        "-fcommon", //ld.lld: error: duplicate symbol filter: external/iproute2/ip/ipmroute.c:53 and external/iproute2/ip/ipxfrm.c:44
91*de1e4e89SAndroid Build Coastguard Worker        //ld.lld: error: duplicate symbol listen_all_nsid: external/iproute2/ip/ipmonitor.c:29 and external/iproute2/ip/xfrm_monitor.c:37
92*de1e4e89SAndroid Build Coastguard Worker        //Fixed upstream so we enable -fcommon locally
93*de1e4e89SAndroid Build Coastguard Worker    ],
94*de1e4e89SAndroid Build Coastguard Worker}
95