xref: /aosp_15_r20/external/mdnsresponder/Android.bp (revision 48a54d368dc4fa860885eef7b70b6c53499e7c25)
1*48a54d36SAndroid Build Coastguard Workerpackage {
2*48a54d36SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_mdnsresponder_license"],
3*48a54d36SAndroid Build Coastguard Worker}
4*48a54d36SAndroid Build Coastguard Worker
5*48a54d36SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
6*48a54d36SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
7*48a54d36SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
8*48a54d36SAndroid Build Coastguard Worker//
9*48a54d36SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*48a54d36SAndroid Build Coastguard Worker//
11*48a54d36SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
12*48a54d36SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
13*48a54d36SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
14*48a54d36SAndroid Build Coastguard Worker//
15*48a54d36SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16*48a54d36SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
17*48a54d36SAndroid Build Coastguard Worker// used in the current project.
18*48a54d36SAndroid Build Coastguard Worker// See: http://go/android-license-faq
19*48a54d36SAndroid Build Coastguard Workerlicense {
20*48a54d36SAndroid Build Coastguard Worker    name: "external_mdnsresponder_license",
21*48a54d36SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
22*48a54d36SAndroid Build Coastguard Worker    license_kinds: [
23*48a54d36SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
24*48a54d36SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
25*48a54d36SAndroid Build Coastguard Worker        "SPDX-license-identifier-NCSA",
26*48a54d36SAndroid Build Coastguard Worker        "SPDX-license-identifier-OpenSSL",
27*48a54d36SAndroid Build Coastguard Worker        "legacy_notice",
28*48a54d36SAndroid Build Coastguard Worker    ],
29*48a54d36SAndroid Build Coastguard Worker    license_text: [
30*48a54d36SAndroid Build Coastguard Worker        "LICENSE",
31*48a54d36SAndroid Build Coastguard Worker    ],
32*48a54d36SAndroid Build Coastguard Worker}
33*48a54d36SAndroid Build Coastguard Worker
34*48a54d36SAndroid Build Coastguard Workercc_defaults {
35*48a54d36SAndroid Build Coastguard Worker    name: "mdnsresponder_default_cflags",
36*48a54d36SAndroid Build Coastguard Worker
37*48a54d36SAndroid Build Coastguard Worker    // This code has a variety of C23 issues,
38*48a54d36SAndroid Build Coastguard Worker    // and is likely to be removed soon anyway.
39*48a54d36SAndroid Build Coastguard Worker    c_std: "gnu17",
40*48a54d36SAndroid Build Coastguard Worker    cflags: [
41*48a54d36SAndroid Build Coastguard Worker        "-O2",
42*48a54d36SAndroid Build Coastguard Worker        "-g",
43*48a54d36SAndroid Build Coastguard Worker        "-fno-strict-aliasing",
44*48a54d36SAndroid Build Coastguard Worker        "-fwrapv",
45*48a54d36SAndroid Build Coastguard Worker        "-D_GNU_SOURCE",
46*48a54d36SAndroid Build Coastguard Worker        "-DHAVE_IPV6",
47*48a54d36SAndroid Build Coastguard Worker        "-DNOT_HAVE_SA_LEN",
48*48a54d36SAndroid Build Coastguard Worker        "-DPLATFORM_NO_RLIMIT",
49*48a54d36SAndroid Build Coastguard Worker        "-DMDNS_DEBUGMSGS=0",
50*48a54d36SAndroid Build Coastguard Worker        "-DMDNS_UDS_SERVERPATH=\"/dev/socket/mdnsd\"",
51*48a54d36SAndroid Build Coastguard Worker        "-DMDNS_USERNAME=\"mdnsr\"",
52*48a54d36SAndroid Build Coastguard Worker        "-W",
53*48a54d36SAndroid Build Coastguard Worker        "-Wall",
54*48a54d36SAndroid Build Coastguard Worker        "-Wextra",
55*48a54d36SAndroid Build Coastguard Worker        "-Wno-address-of-packed-member",
56*48a54d36SAndroid Build Coastguard Worker        "-Wno-array-bounds",
57*48a54d36SAndroid Build Coastguard Worker        "-Wno-pointer-sign",
58*48a54d36SAndroid Build Coastguard Worker        "-Wno-unused",
59*48a54d36SAndroid Build Coastguard Worker        "-Wno-unused-but-set-variable",
60*48a54d36SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
61*48a54d36SAndroid Build Coastguard Worker        "-Werror=implicit-function-declaration",
62*48a54d36SAndroid Build Coastguard Worker    ],
63*48a54d36SAndroid Build Coastguard Worker    target: {
64*48a54d36SAndroid Build Coastguard Worker        linux: {
65*48a54d36SAndroid Build Coastguard Worker            cflags: [
66*48a54d36SAndroid Build Coastguard Worker                "-DTARGET_OS_LINUX",
67*48a54d36SAndroid Build Coastguard Worker                "-DHAVE_LINUX",
68*48a54d36SAndroid Build Coastguard Worker                "-DUSES_NETLINK",
69*48a54d36SAndroid Build Coastguard Worker                "-Werror",
70*48a54d36SAndroid Build Coastguard Worker            ],
71*48a54d36SAndroid Build Coastguard Worker        },
72*48a54d36SAndroid Build Coastguard Worker        darwin: {
73*48a54d36SAndroid Build Coastguard Worker            cflags: [
74*48a54d36SAndroid Build Coastguard Worker                "-DTARGET_OS_MAC",
75*48a54d36SAndroid Build Coastguard Worker                "-DMDNS_UDS_SERVERPATH=\"/var/run/mDNSResponder\"",
76*48a54d36SAndroid Build Coastguard Worker                "-Wno-error",
77*48a54d36SAndroid Build Coastguard Worker            ],
78*48a54d36SAndroid Build Coastguard Worker        },
79*48a54d36SAndroid Build Coastguard Worker        windows: {
80*48a54d36SAndroid Build Coastguard Worker            enabled: true,
81*48a54d36SAndroid Build Coastguard Worker            cflags: [
82*48a54d36SAndroid Build Coastguard Worker                "-DTARGET_OS_WINDOWS",
83*48a54d36SAndroid Build Coastguard Worker                "-DWIN32",
84*48a54d36SAndroid Build Coastguard Worker                "-DNDEBUG",
85*48a54d36SAndroid Build Coastguard Worker                "-D_WIN32_LEAN_AND_MEAN",
86*48a54d36SAndroid Build Coastguard Worker                "-DUSE_TCP_LOOPBACK",
87*48a54d36SAndroid Build Coastguard Worker                "-D_CRT_SECURE_NO_DEPRECATE",
88*48a54d36SAndroid Build Coastguard Worker                "-D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1",
89*48a54d36SAndroid Build Coastguard Worker                "-Wno-error",
90*48a54d36SAndroid Build Coastguard Worker                "-Wno-sign-compare",
91*48a54d36SAndroid Build Coastguard Worker                "-include stdint.h",
92*48a54d36SAndroid Build Coastguard Worker                "-include winsock2.h",
93*48a54d36SAndroid Build Coastguard Worker                "-include ws2ipdef.h",
94*48a54d36SAndroid Build Coastguard Worker                "-include wincrypt.h",
95*48a54d36SAndroid Build Coastguard Worker                "-include netioapi.h",
96*48a54d36SAndroid Build Coastguard Worker            ],
97*48a54d36SAndroid Build Coastguard Worker            local_include_dirs: [
98*48a54d36SAndroid Build Coastguard Worker                "mDNSWindows",
99*48a54d36SAndroid Build Coastguard Worker                "android/caseMapping",
100*48a54d36SAndroid Build Coastguard Worker            ],
101*48a54d36SAndroid Build Coastguard Worker        },
102*48a54d36SAndroid Build Coastguard Worker    },
103*48a54d36SAndroid Build Coastguard Worker}
104*48a54d36SAndroid Build Coastguard Worker
105*48a54d36SAndroid Build Coastguard Workercc_binary {
106*48a54d36SAndroid Build Coastguard Worker    name: "mdnsd",
107*48a54d36SAndroid Build Coastguard Worker    defaults: ["mdnsresponder_default_cflags"],
108*48a54d36SAndroid Build Coastguard Worker    srcs: [
109*48a54d36SAndroid Build Coastguard Worker        "mDNSCore/DNSCommon.c",
110*48a54d36SAndroid Build Coastguard Worker        "mDNSCore/DNSDigest.c",
111*48a54d36SAndroid Build Coastguard Worker        "mDNSCore/mDNS.c",
112*48a54d36SAndroid Build Coastguard Worker        "mDNSCore/uDNS.c",
113*48a54d36SAndroid Build Coastguard Worker        "mDNSPosix/mDNSPosix.c",
114*48a54d36SAndroid Build Coastguard Worker        "mDNSPosix/mDNSUNP.c",
115*48a54d36SAndroid Build Coastguard Worker        "mDNSPosix/PosixDaemon.c",
116*48a54d36SAndroid Build Coastguard Worker        "mDNSShared/dnssd_ipc.c",
117*48a54d36SAndroid Build Coastguard Worker        "mDNSShared/GenLinkedList.c",
118*48a54d36SAndroid Build Coastguard Worker        "mDNSShared/mDNSDebug.c",
119*48a54d36SAndroid Build Coastguard Worker        "mDNSShared/PlatformCommon.c",
120*48a54d36SAndroid Build Coastguard Worker        "mDNSShared/uds_daemon.c",
121*48a54d36SAndroid Build Coastguard Worker    ],
122*48a54d36SAndroid Build Coastguard Worker
123*48a54d36SAndroid Build Coastguard Worker    local_include_dirs: [
124*48a54d36SAndroid Build Coastguard Worker        "mDNSCore",
125*48a54d36SAndroid Build Coastguard Worker        "mDNSPosix",
126*48a54d36SAndroid Build Coastguard Worker        "mDNSShared",
127*48a54d36SAndroid Build Coastguard Worker    ],
128*48a54d36SAndroid Build Coastguard Worker    init_rc: ["mdnsd.rc"],
129*48a54d36SAndroid Build Coastguard Worker
130*48a54d36SAndroid Build Coastguard Worker    cflags: ["-DMDNS_VERSIONSTR_NODTS=1"],
131*48a54d36SAndroid Build Coastguard Worker
132*48a54d36SAndroid Build Coastguard Worker    shared_libs: [
133*48a54d36SAndroid Build Coastguard Worker        "libcutils",
134*48a54d36SAndroid Build Coastguard Worker        "liblog",
135*48a54d36SAndroid Build Coastguard Worker    ],
136*48a54d36SAndroid Build Coastguard Worker}
137*48a54d36SAndroid Build Coastguard Worker
138*48a54d36SAndroid Build Coastguard Worker//#########################
139*48a54d36SAndroid Build Coastguard Worker
140*48a54d36SAndroid Build Coastguard Workercc_library {
141*48a54d36SAndroid Build Coastguard Worker    name: "libmdnssd",
142*48a54d36SAndroid Build Coastguard Worker    defaults: ["mdnsresponder_default_cflags"],
143*48a54d36SAndroid Build Coastguard Worker    host_supported: true,
144*48a54d36SAndroid Build Coastguard Worker    recovery_available: true,
145*48a54d36SAndroid Build Coastguard Worker    srcs: [
146*48a54d36SAndroid Build Coastguard Worker        "mDNSShared/dnssd_clientlib.c",
147*48a54d36SAndroid Build Coastguard Worker        "mDNSShared/dnssd_clientstub.c",
148*48a54d36SAndroid Build Coastguard Worker        "mDNSShared/dnssd_ipc.c",
149*48a54d36SAndroid Build Coastguard Worker    ],
150*48a54d36SAndroid Build Coastguard Worker
151*48a54d36SAndroid Build Coastguard Worker    target: {
152*48a54d36SAndroid Build Coastguard Worker        host: {
153*48a54d36SAndroid Build Coastguard Worker            shared: {
154*48a54d36SAndroid Build Coastguard Worker                enabled: false,
155*48a54d36SAndroid Build Coastguard Worker            },
156*48a54d36SAndroid Build Coastguard Worker        },
157*48a54d36SAndroid Build Coastguard Worker        windows: {
158*48a54d36SAndroid Build Coastguard Worker            srcs: ["mDNSWindows/DLL/dllmain.c"],
159*48a54d36SAndroid Build Coastguard Worker
160*48a54d36SAndroid Build Coastguard Worker            cflags: [
161*48a54d36SAndroid Build Coastguard Worker                "-D_WINDOWS",
162*48a54d36SAndroid Build Coastguard Worker                "-D_USERDLL",
163*48a54d36SAndroid Build Coastguard Worker                "-D_MDNS_DEBUGMSGS=0",
164*48a54d36SAndroid Build Coastguard Worker                "-D_SSIZE_T",
165*48a54d36SAndroid Build Coastguard Worker                "-DNOT_HAVE_SA_LENGTH",
166*48a54d36SAndroid Build Coastguard Worker                "-Wno-unknown-pragmas",
167*48a54d36SAndroid Build Coastguard Worker                "-Wno-overflow",
168*48a54d36SAndroid Build Coastguard Worker                "-Wno-pragma-pack",
169*48a54d36SAndroid Build Coastguard Worker                "-include iphlpapi.h",
170*48a54d36SAndroid Build Coastguard Worker                "-include stdlib.h",
171*48a54d36SAndroid Build Coastguard Worker                "-include stdio.h",
172*48a54d36SAndroid Build Coastguard Worker            ],
173*48a54d36SAndroid Build Coastguard Worker        },
174*48a54d36SAndroid Build Coastguard Worker    },
175*48a54d36SAndroid Build Coastguard Worker
176*48a54d36SAndroid Build Coastguard Worker    export_include_dirs: ["mDNSShared"],
177*48a54d36SAndroid Build Coastguard Worker
178*48a54d36SAndroid Build Coastguard Worker    static_libs: ["libcutils"],
179*48a54d36SAndroid Build Coastguard Worker    shared_libs: ["liblog"],
180*48a54d36SAndroid Build Coastguard Worker
181*48a54d36SAndroid Build Coastguard Worker    min_sdk_version: "apex_inherit",
182*48a54d36SAndroid Build Coastguard Worker    apex_available: [
183*48a54d36SAndroid Build Coastguard Worker        "//apex_available:platform",
184*48a54d36SAndroid Build Coastguard Worker        "com.android.adbd",
185*48a54d36SAndroid Build Coastguard Worker    ],
186*48a54d36SAndroid Build Coastguard Worker    visibility: [
187*48a54d36SAndroid Build Coastguard Worker        "//bootable/recovery/minadbd:__subpackages__",
188*48a54d36SAndroid Build Coastguard Worker        "//packages/modules/adb:__subpackages__",
189*48a54d36SAndroid Build Coastguard Worker    ],
190*48a54d36SAndroid Build Coastguard Worker}
191