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