xref: /aosp_15_r20/external/dnsmasq/src/Android.bp (revision c2c26c8b25cb2c9c4fe49a734c2305a522f5635e)
1*c2c26c8bSAndroid Build Coastguard Workerpackage {
2*c2c26c8bSAndroid Build Coastguard Worker    default_applicable_licenses: ["external_dnsmasq_src_license"],
3*c2c26c8bSAndroid Build Coastguard Worker}
4*c2c26c8bSAndroid Build Coastguard Worker
5*c2c26c8bSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
6*c2c26c8bSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
7*c2c26c8bSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
8*c2c26c8bSAndroid Build Coastguard Worker//
9*c2c26c8bSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*c2c26c8bSAndroid Build Coastguard Worker//
11*c2c26c8bSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
12*c2c26c8bSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
13*c2c26c8bSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
14*c2c26c8bSAndroid Build Coastguard Worker//
15*c2c26c8bSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16*c2c26c8bSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
17*c2c26c8bSAndroid Build Coastguard Worker// used in the current project.
18*c2c26c8bSAndroid Build Coastguard Worker// See: http://go/android-license-faq
19*c2c26c8bSAndroid Build Coastguard Workerlicense {
20*c2c26c8bSAndroid Build Coastguard Worker    name: "external_dnsmasq_src_license",
21*c2c26c8bSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
22*c2c26c8bSAndroid Build Coastguard Worker    license_kinds: [
23*c2c26c8bSAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
24*c2c26c8bSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL",
25*c2c26c8bSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0",
26*c2c26c8bSAndroid Build Coastguard Worker        "SPDX-license-identifier-LGPL",
27*c2c26c8bSAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
28*c2c26c8bSAndroid Build Coastguard Worker        "legacy_unencumbered",
29*c2c26c8bSAndroid Build Coastguard Worker    ],
30*c2c26c8bSAndroid Build Coastguard Worker    license_text: [
31*c2c26c8bSAndroid Build Coastguard Worker        "NOTICE",
32*c2c26c8bSAndroid Build Coastguard Worker    ],
33*c2c26c8bSAndroid Build Coastguard Worker}
34*c2c26c8bSAndroid Build Coastguard Worker
35*c2c26c8bSAndroid Build Coastguard Workercc_binary {
36*c2c26c8bSAndroid Build Coastguard Worker    name: "dnsmasq",
37*c2c26c8bSAndroid Build Coastguard Worker    srcs: [
38*c2c26c8bSAndroid Build Coastguard Worker        "cache.c",
39*c2c26c8bSAndroid Build Coastguard Worker        "dhcp.c",
40*c2c26c8bSAndroid Build Coastguard Worker        "dnsmasq.c",
41*c2c26c8bSAndroid Build Coastguard Worker        "forward.c",
42*c2c26c8bSAndroid Build Coastguard Worker        "helper.c",
43*c2c26c8bSAndroid Build Coastguard Worker        "lease.c",
44*c2c26c8bSAndroid Build Coastguard Worker        "log.c",
45*c2c26c8bSAndroid Build Coastguard Worker        "netlink.c",
46*c2c26c8bSAndroid Build Coastguard Worker        "network.c",
47*c2c26c8bSAndroid Build Coastguard Worker        "option.c",
48*c2c26c8bSAndroid Build Coastguard Worker        "rfc1035.c",
49*c2c26c8bSAndroid Build Coastguard Worker        "rfc2131.c",
50*c2c26c8bSAndroid Build Coastguard Worker        "util.c",
51*c2c26c8bSAndroid Build Coastguard Worker    ],
52*c2c26c8bSAndroid Build Coastguard Worker
53*c2c26c8bSAndroid Build Coastguard Worker    // This project is massively out of date,
54*c2c26c8bSAndroid Build Coastguard Worker    // and even upstream 2.90 doesn't compile as C23,
55*c2c26c8bSAndroid Build Coastguard Worker    // so pin to C17.
56*c2c26c8bSAndroid Build Coastguard Worker    c_std: "gnu17",
57*c2c26c8bSAndroid Build Coastguard Worker    cflags: [
58*c2c26c8bSAndroid Build Coastguard Worker        "-O2",
59*c2c26c8bSAndroid Build Coastguard Worker        "-g",
60*c2c26c8bSAndroid Build Coastguard Worker        "-W",
61*c2c26c8bSAndroid Build Coastguard Worker        "-Wall",
62*c2c26c8bSAndroid Build Coastguard Worker        "-D__ANDROID__",
63*c2c26c8bSAndroid Build Coastguard Worker        "-DIPV6",
64*c2c26c8bSAndroid Build Coastguard Worker        "-DNO_SCRIPT",
65*c2c26c8bSAndroid Build Coastguard Worker        "-D_BSD_SOURCE",
66*c2c26c8bSAndroid Build Coastguard Worker        "-Wno-unused-variable",
67*c2c26c8bSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
68*c2c26c8bSAndroid Build Coastguard Worker        "-Werror",
69*c2c26c8bSAndroid Build Coastguard Worker    ],
70*c2c26c8bSAndroid Build Coastguard Worker    system_shared_libs: ["libc"],
71*c2c26c8bSAndroid Build Coastguard Worker    shared_libs: [
72*c2c26c8bSAndroid Build Coastguard Worker        "libcutils",
73*c2c26c8bSAndroid Build Coastguard Worker        "liblog",
74*c2c26c8bSAndroid Build Coastguard Worker    ],
75*c2c26c8bSAndroid Build Coastguard Worker}
76