xref: /aosp_15_r20/external/grpc-grpc/third_party/cares/cares.BUILD (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Workerload("@bazel_skylib//rules:copy_file.bzl", "copy_file")
2*cc02d7e2SAndroid Build Coastguard Worker
3*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
4*cc02d7e2SAndroid Build Coastguard Worker    name = "darwin",
5*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "darwin"},
6*cc02d7e2SAndroid Build Coastguard Worker)
7*cc02d7e2SAndroid Build Coastguard Worker
8*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
9*cc02d7e2SAndroid Build Coastguard Worker    name = "darwin_x86_64",
10*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "darwin_x86_64"},
11*cc02d7e2SAndroid Build Coastguard Worker)
12*cc02d7e2SAndroid Build Coastguard Worker
13*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
14*cc02d7e2SAndroid Build Coastguard Worker    name = "darwin_arm64",
15*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "darwin_arm64"},
16*cc02d7e2SAndroid Build Coastguard Worker)
17*cc02d7e2SAndroid Build Coastguard Worker
18*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
19*cc02d7e2SAndroid Build Coastguard Worker    name = "darwin_arm64e",
20*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "darwin_arm64e"},
21*cc02d7e2SAndroid Build Coastguard Worker)
22*cc02d7e2SAndroid Build Coastguard Worker
23*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
24*cc02d7e2SAndroid Build Coastguard Worker    name = "windows",
25*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "x64_windows"},
26*cc02d7e2SAndroid Build Coastguard Worker)
27*cc02d7e2SAndroid Build Coastguard Worker
28*cc02d7e2SAndroid Build Coastguard Worker# Android is not officially supported through C++.
29*cc02d7e2SAndroid Build Coastguard Worker# This just helps with the build for now.
30*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
31*cc02d7e2SAndroid Build Coastguard Worker    name = "android",
32*cc02d7e2SAndroid Build Coastguard Worker    values = {"crosstool_top": "//external:android/crosstool"},
33*cc02d7e2SAndroid Build Coastguard Worker    # TODO: Use constraint_values to detect android after Bazel 7.0 platforms migration is finished
34*cc02d7e2SAndroid Build Coastguard Worker    # constraint_values = [ "@platforms//os:android" ],
35*cc02d7e2SAndroid Build Coastguard Worker)
36*cc02d7e2SAndroid Build Coastguard Worker
37*cc02d7e2SAndroid Build Coastguard Worker# iOS is not officially supported through C++.
38*cc02d7e2SAndroid Build Coastguard Worker# This just helps with the build for now.
39*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
40*cc02d7e2SAndroid Build Coastguard Worker    name = "ios_x86_64",
41*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "ios_x86_64"},
42*cc02d7e2SAndroid Build Coastguard Worker)
43*cc02d7e2SAndroid Build Coastguard Worker
44*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
45*cc02d7e2SAndroid Build Coastguard Worker    name = "ios_armv7",
46*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "ios_armv7"},
47*cc02d7e2SAndroid Build Coastguard Worker)
48*cc02d7e2SAndroid Build Coastguard Worker
49*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
50*cc02d7e2SAndroid Build Coastguard Worker    name = "ios_armv7s",
51*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "ios_armv7s"},
52*cc02d7e2SAndroid Build Coastguard Worker)
53*cc02d7e2SAndroid Build Coastguard Worker
54*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
55*cc02d7e2SAndroid Build Coastguard Worker    name = "ios_arm64",
56*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "ios_arm64"},
57*cc02d7e2SAndroid Build Coastguard Worker)
58*cc02d7e2SAndroid Build Coastguard Worker
59*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
60*cc02d7e2SAndroid Build Coastguard Worker    name = "ios_sim_arm64",
61*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "ios_sim_arm64"},
62*cc02d7e2SAndroid Build Coastguard Worker)
63*cc02d7e2SAndroid Build Coastguard Worker
64*cc02d7e2SAndroid Build Coastguard Worker# The following architectures are found in
65*cc02d7e2SAndroid Build Coastguard Worker# https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/rules/apple/ApplePlatform.java
66*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
67*cc02d7e2SAndroid Build Coastguard Worker    name = "tvos_x86_64",
68*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "tvos_x86_64"},
69*cc02d7e2SAndroid Build Coastguard Worker)
70*cc02d7e2SAndroid Build Coastguard Worker
71*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
72*cc02d7e2SAndroid Build Coastguard Worker    name = "tvos_arm64",
73*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "tvos_arm64"}
74*cc02d7e2SAndroid Build Coastguard Worker)
75*cc02d7e2SAndroid Build Coastguard Worker
76*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
77*cc02d7e2SAndroid Build Coastguard Worker    name = "watchos_i386",
78*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "watchos_i386"},
79*cc02d7e2SAndroid Build Coastguard Worker)
80*cc02d7e2SAndroid Build Coastguard Worker
81*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
82*cc02d7e2SAndroid Build Coastguard Worker    name = "watchos_x86_64",
83*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "watchos_x86_64"}
84*cc02d7e2SAndroid Build Coastguard Worker)
85*cc02d7e2SAndroid Build Coastguard Worker
86*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
87*cc02d7e2SAndroid Build Coastguard Worker    name = "watchos_armv7k",
88*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "watchos_armv7k"},
89*cc02d7e2SAndroid Build Coastguard Worker)
90*cc02d7e2SAndroid Build Coastguard Worker
91*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
92*cc02d7e2SAndroid Build Coastguard Worker    name = "watchos_arm64_32",
93*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "watchos_arm64_32"}
94*cc02d7e2SAndroid Build Coastguard Worker)
95*cc02d7e2SAndroid Build Coastguard Worker
96*cc02d7e2SAndroid Build Coastguard Workerconfig_setting(
97*cc02d7e2SAndroid Build Coastguard Worker    name = "openbsd",
98*cc02d7e2SAndroid Build Coastguard Worker    values = {"cpu": "openbsd"},
99*cc02d7e2SAndroid Build Coastguard Worker)
100*cc02d7e2SAndroid Build Coastguard Worker
101*cc02d7e2SAndroid Build Coastguard Workercopy_file(
102*cc02d7e2SAndroid Build Coastguard Worker    name = "ares_build_h",
103*cc02d7e2SAndroid Build Coastguard Worker    src = "@com_github_grpc_grpc//third_party/cares:ares_build.h",
104*cc02d7e2SAndroid Build Coastguard Worker    out = "ares_build.h",
105*cc02d7e2SAndroid Build Coastguard Worker)
106*cc02d7e2SAndroid Build Coastguard Worker
107*cc02d7e2SAndroid Build Coastguard Workercopy_file(
108*cc02d7e2SAndroid Build Coastguard Worker    name = "ares_config_h",
109*cc02d7e2SAndroid Build Coastguard Worker    src = select({
110*cc02d7e2SAndroid Build Coastguard Worker        ":ios_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
111*cc02d7e2SAndroid Build Coastguard Worker        ":ios_armv7": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
112*cc02d7e2SAndroid Build Coastguard Worker        ":ios_armv7s": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
113*cc02d7e2SAndroid Build Coastguard Worker        ":ios_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
114*cc02d7e2SAndroid Build Coastguard Worker        ":ios_sim_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
115*cc02d7e2SAndroid Build Coastguard Worker        ":tvos_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
116*cc02d7e2SAndroid Build Coastguard Worker        ":tvos_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
117*cc02d7e2SAndroid Build Coastguard Worker        ":watchos_i386": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
118*cc02d7e2SAndroid Build Coastguard Worker        ":watchos_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
119*cc02d7e2SAndroid Build Coastguard Worker        ":watchos_armv7k": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
120*cc02d7e2SAndroid Build Coastguard Worker        ":watchos_arm64_32": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
121*cc02d7e2SAndroid Build Coastguard Worker        ":darwin": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
122*cc02d7e2SAndroid Build Coastguard Worker        ":darwin_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
123*cc02d7e2SAndroid Build Coastguard Worker        ":darwin_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
124*cc02d7e2SAndroid Build Coastguard Worker        ":darwin_arm64e": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
125*cc02d7e2SAndroid Build Coastguard Worker        ":windows": "@com_github_grpc_grpc//third_party/cares:config_windows/ares_config.h",
126*cc02d7e2SAndroid Build Coastguard Worker        ":android": "@com_github_grpc_grpc//third_party/cares:config_android/ares_config.h",
127*cc02d7e2SAndroid Build Coastguard Worker        ":openbsd": "@com_github_grpc_grpc//third_party/cares:config_openbsd/ares_config.h",
128*cc02d7e2SAndroid Build Coastguard Worker        "//conditions:default": "@com_github_grpc_grpc//third_party/cares:config_linux/ares_config.h",
129*cc02d7e2SAndroid Build Coastguard Worker    }),
130*cc02d7e2SAndroid Build Coastguard Worker    out = "ares_config.h",
131*cc02d7e2SAndroid Build Coastguard Worker)
132*cc02d7e2SAndroid Build Coastguard Worker
133*cc02d7e2SAndroid Build Coastguard Workercc_library(
134*cc02d7e2SAndroid Build Coastguard Worker    name = "ares",
135*cc02d7e2SAndroid Build Coastguard Worker    srcs = [
136*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares__read_line.c",
137*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares__get_hostent.c",
138*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares__close_sockets.c",
139*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares__timeval.c",
140*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_gethostbyaddr.c",
141*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_getenv.c",
142*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_free_string.c",
143*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_free_hostent.c",
144*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_fds.c",
145*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_expand_string.c",
146*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_create_query.c",
147*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_cancel.c",
148*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_android.c",
149*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_txt_reply.c",
150*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_srv_reply.c",
151*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_soa_reply.c",
152*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_ptr_reply.c",
153*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_ns_reply.c",
154*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_naptr_reply.c",
155*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_mx_reply.c",
156*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_caa_reply.c",
157*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_options.c",
158*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_nowarn.c",
159*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_mkquery.c",
160*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_llist.c",
161*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_getsock.c",
162*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_getnameinfo.c",
163*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/bitncmp.c",
164*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_writev.c",
165*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_version.c",
166*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_timeout.c",
167*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_strerror.c",
168*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_strcasecmp.c",
169*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_search.c",
170*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_platform.c",
171*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/windows_port.c",
172*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/inet_ntop.c",
173*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares__sortaddrinfo.c",
174*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares__readaddrinfo.c",
175*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_uri_reply.c",
176*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares__parse_into_addrinfo.c",
177*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_a_reply.c",
178*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_parse_aaaa_reply.c",
179*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_library_init.c",
180*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_init.c",
181*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_gethostbyname.c",
182*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_getaddrinfo.c",
183*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_freeaddrinfo.c",
184*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_expand_name.c",
185*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_destroy.c",
186*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_data.c",
187*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares__addrinfo_localhost.c",
188*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares__addrinfo2hostent.c",
189*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/inet_net_pton.c",
190*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_strsplit.c",
191*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_strdup.c",
192*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_send.c",
193*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_rand.c",
194*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_query.c",
195*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_process.c",
196*cc02d7e2SAndroid Build Coastguard Worker    ],
197*cc02d7e2SAndroid Build Coastguard Worker    hdrs = [
198*cc02d7e2SAndroid Build Coastguard Worker        "ares_build.h",
199*cc02d7e2SAndroid Build Coastguard Worker        "ares_config.h",
200*cc02d7e2SAndroid Build Coastguard Worker        "include/ares_version.h",
201*cc02d7e2SAndroid Build Coastguard Worker        "include/ares.h",
202*cc02d7e2SAndroid Build Coastguard Worker        "include/ares_rules.h",
203*cc02d7e2SAndroid Build Coastguard Worker        "include/ares_dns.h",
204*cc02d7e2SAndroid Build Coastguard Worker        "include/ares_nameser.h",
205*cc02d7e2SAndroid Build Coastguard Worker        "src/tools/ares_getopt.h",
206*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_strsplit.h",
207*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_android.h",
208*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_private.h",
209*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_llist.h",
210*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_platform.h",
211*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_ipv6.h",
212*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/config-dos.h",
213*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/bitncmp.h",
214*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_strcasecmp.h",
215*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/setup_once.h",
216*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_inet_net_pton.h",
217*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_data.h",
218*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_getenv.h",
219*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/config-win32.h",
220*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_strdup.h",
221*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_iphlpapi.h",
222*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_setup.h",
223*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_writev.h",
224*cc02d7e2SAndroid Build Coastguard Worker        "src/lib/ares_nowarn.h",
225*cc02d7e2SAndroid Build Coastguard Worker    ],
226*cc02d7e2SAndroid Build Coastguard Worker    copts = [
227*cc02d7e2SAndroid Build Coastguard Worker        "-D_GNU_SOURCE",
228*cc02d7e2SAndroid Build Coastguard Worker        "-D_HAS_EXCEPTIONS=0",
229*cc02d7e2SAndroid Build Coastguard Worker        "-DHAVE_CONFIG_H",
230*cc02d7e2SAndroid Build Coastguard Worker    ] + select({
231*cc02d7e2SAndroid Build Coastguard Worker        ":windows": [
232*cc02d7e2SAndroid Build Coastguard Worker            "-DNOMINMAX",
233*cc02d7e2SAndroid Build Coastguard Worker            "-D_CRT_SECURE_NO_DEPRECATE",
234*cc02d7e2SAndroid Build Coastguard Worker            "-D_CRT_NONSTDC_NO_DEPRECATE",
235*cc02d7e2SAndroid Build Coastguard Worker            "-D_WIN32_WINNT=0x0600",
236*cc02d7e2SAndroid Build Coastguard Worker        ],
237*cc02d7e2SAndroid Build Coastguard Worker        "//conditions:default": [],
238*cc02d7e2SAndroid Build Coastguard Worker    }),
239*cc02d7e2SAndroid Build Coastguard Worker    defines = ["CARES_STATICLIB"],
240*cc02d7e2SAndroid Build Coastguard Worker    includes = ["include", "."],
241*cc02d7e2SAndroid Build Coastguard Worker    linkopts = select({
242*cc02d7e2SAndroid Build Coastguard Worker        ":windows": ["-defaultlib:ws2_32.lib"],
243*cc02d7e2SAndroid Build Coastguard Worker        "//conditions:default": [],
244*cc02d7e2SAndroid Build Coastguard Worker    }),
245*cc02d7e2SAndroid Build Coastguard Worker    linkstatic = 1,
246*cc02d7e2SAndroid Build Coastguard Worker    visibility = [
247*cc02d7e2SAndroid Build Coastguard Worker        "//visibility:public",
248*cc02d7e2SAndroid Build Coastguard Worker    ],
249*cc02d7e2SAndroid Build Coastguard Worker    alwayslink = 1,
250*cc02d7e2SAndroid Build Coastguard Worker)
251