123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
- config_setting(
- name = "darwin",
- values = {"cpu": "darwin"},
- )
- config_setting(
- name = "darwin_x86_64",
- values = {"cpu": "darwin_x86_64"},
- )
- config_setting(
- name = "darwin_arm64",
- values = {"cpu": "darwin_arm64"},
- )
- config_setting(
- name = "darwin_arm64e",
- values = {"cpu": "darwin_arm64e"},
- )
- config_setting(
- name = "windows",
- values = {"cpu": "x64_windows"},
- )
- # Android is not officially supported through C++.
- # This just helps with the build for now.
- config_setting(
- name = "android",
- values = {
- "crosstool_top": "//external:android/crosstool",
- },
- )
- # iOS is not officially supported through C++.
- # This just helps with the build for now.
- config_setting(
- name = "ios_x86_64",
- values = {"cpu": "ios_x86_64"},
- )
- config_setting(
- name = "ios_armv7",
- values = {"cpu": "ios_armv7"},
- )
- config_setting(
- name = "ios_armv7s",
- values = {"cpu": "ios_armv7s"},
- )
- config_setting(
- name = "ios_arm64",
- values = {"cpu": "ios_arm64"},
- )
- # The following architectures are found in
- # https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/rules/apple/ApplePlatform.java
- config_setting(
- name = "tvos_x86_64",
- values = {"cpu": "tvos_x86_64"},
- )
- config_setting(
- name = "tvos_arm64",
- values = {"cpu": "tvos_arm64"}
- )
- config_setting(
- name = "watchos_i386",
- values = {"cpu": "watchos_i386"},
- )
- config_setting(
- name = "watchos_x86_64",
- values = {"cpu": "watchos_x86_64"}
- )
- config_setting(
- name = "watchos_armv7k",
- values = {"cpu": "watchos_armv7k"},
- )
- config_setting(
- name = "watchos_arm64_32",
- values = {"cpu": "watchos_arm64_32"}
- )
- copy_file(
- name = "ares_build_h",
- src = "@com_github_grpc_grpc//third_party/cares:ares_build.h",
- out = "ares_build.h",
- )
- copy_file(
- name = "ares_config_h",
- src = select({
- ":ios_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":ios_armv7": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":ios_armv7s": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":ios_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":tvos_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":tvos_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":watchos_i386": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":watchos_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":watchos_armv7k": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":watchos_arm64_32": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":darwin": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":darwin_x86_64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":darwin_arm64": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":darwin_arm64e": "@com_github_grpc_grpc//third_party/cares:config_darwin/ares_config.h",
- ":windows": "@com_github_grpc_grpc//third_party/cares:config_windows/ares_config.h",
- ":android": "@com_github_grpc_grpc//third_party/cares:config_android/ares_config.h",
- "//conditions:default": "@com_github_grpc_grpc//third_party/cares:config_linux/ares_config.h",
- }),
- out = "ares_config.h",
- )
- cc_library(
- name = "ares",
- srcs = [
- "src/lib/ares_init.c",
- "src/lib/ares_expand_string.c",
- "src/lib/ares_strcasecmp.c",
- "src/lib/ares_destroy.c",
- "src/lib/ares_free_string.c",
- "src/lib/ares__timeval.c",
- "src/lib/ares_library_init.c",
- "src/lib/ares_getsock.c",
- "src/lib/ares_process.c",
- "src/lib/ares_create_query.c",
- "src/lib/ares_fds.c",
- "src/lib/ares_gethostbyname.c",
- "src/lib/ares_mkquery.c",
- "src/lib/ares_freeaddrinfo.c",
- "src/lib/ares_strdup.c",
- "src/lib/ares_timeout.c",
- "src/lib/ares_getnameinfo.c",
- "src/lib/ares_parse_soa_reply.c",
- "src/lib/ares_parse_naptr_reply.c",
- "src/lib/ares_parse_a_reply.c",
- "src/lib/ares_send.c",
- "src/lib/ares_nowarn.c",
- "src/lib/ares__sortaddrinfo.c",
- "src/lib/ares_android.c",
- "src/lib/ares_strerror.c",
- "src/lib/ares_parse_caa_reply.c",
- "src/lib/ares__close_sockets.c",
- "src/lib/ares_llist.c",
- "src/lib/ares_parse_aaaa_reply.c",
- "src/lib/ares_getaddrinfo.c",
- "src/lib/ares_parse_ns_reply.c",
- "src/lib/windows_port.c",
- "src/lib/bitncmp.c",
- "src/lib/ares_strsplit.c",
- "src/lib/ares_data.c",
- "src/lib/ares_free_hostent.c",
- "src/lib/ares_platform.c",
- "src/lib/ares_parse_txt_reply.c",
- "src/lib/ares__parse_into_addrinfo.c",
- "src/lib/ares_gethostbyaddr.c",
- "src/lib/ares_parse_srv_reply.c",
- "src/lib/ares_version.c",
- "src/lib/ares_getenv.c",
- "src/lib/ares_search.c",
- "src/lib/ares_parse_mx_reply.c",
- "src/lib/ares__get_hostent.c",
- "src/lib/ares__readaddrinfo.c",
- "src/lib/ares_parse_ptr_reply.c",
- "src/lib/ares__read_line.c",
- "src/lib/ares_query.c",
- "src/lib/ares_options.c",
- "src/lib/inet_net_pton.c",
- "src/lib/ares_expand_name.c",
- "src/lib/inet_ntop.c",
- "src/lib/ares_cancel.c",
- "src/lib/ares_writev.c",
- ],
- hdrs = [
- "ares_build.h",
- "ares_config.h",
- "include/ares_version.h",
- "include/ares.h",
- "include/ares_rules.h",
- "include/ares_dns.h",
- "src/lib/ares_data.h",
- "src/lib/ares_strsplit.h",
- "src/lib/bitncmp.h",
- "src/lib/ares_iphlpapi.h",
- "src/lib/ares_inet_net_pton.h",
- "src/lib/ares_getenv.h",
- "src/lib/ares_platform.h",
- "src/lib/ares_writev.h",
- "src/lib/ares_private.h",
- "src/lib/ares_setup.h",
- "src/lib/config-win32.h",
- "src/lib/ares_strcasecmp.h",
- "src/lib/setup_once.h",
- "src/lib/ares_ipv6.h",
- "src/lib/ares_library_init.h",
- "src/lib/ares_nameser.h",
- "src/lib/ares_strdup.h",
- "src/lib/config-dos.h",
- "src/lib/ares_llist.h",
- "src/lib/ares_nowarn.h",
- "src/lib/ares_android.h",
- ],
- copts = [
- "-D_GNU_SOURCE",
- "-D_HAS_EXCEPTIONS=0",
- "-DHAVE_CONFIG_H",
- ] + select({
- ":windows": [
- "-DNOMINMAX",
- "-D_CRT_SECURE_NO_DEPRECATE",
- "-D_CRT_NONSTDC_NO_DEPRECATE",
- "-D_WIN32_WINNT=0x0600",
- ],
- "//conditions:default": [],
- }),
- defines = ["CARES_STATICLIB"],
- includes = ["include", "."],
- linkopts = select({
- ":windows": ["-defaultlib:ws2_32.lib"],
- "//conditions:default": [],
- }),
- linkstatic = 1,
- visibility = [
- "//visibility:public",
- ],
- alwayslink = 1,
- )
|