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"},
    # TODO: Use constraint_values to detect android after Bazel 7.0 platforms migration is finished
    # constraint_values = [ "@platforms//os:android" ],
)

# 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"},
)

config_setting(
    name = "ios_sim_arm64",
    values = {"cpu": "ios_sim_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"}
)

config_setting(
    name = "openbsd",
    values = {"cpu": "openbsd"},
)

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",
        ":ios_sim_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",
        ":openbsd": "@com_github_grpc_grpc//third_party/cares:config_openbsd/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__read_line.c",
        "src/lib/ares__get_hostent.c",
        "src/lib/ares__close_sockets.c",
        "src/lib/ares__timeval.c",
        "src/lib/ares_gethostbyaddr.c",
        "src/lib/ares_getenv.c",
        "src/lib/ares_free_string.c",
        "src/lib/ares_free_hostent.c",
        "src/lib/ares_fds.c",
        "src/lib/ares_expand_string.c",
        "src/lib/ares_create_query.c",
        "src/lib/ares_cancel.c",
        "src/lib/ares_android.c",
        "src/lib/ares_parse_txt_reply.c",
        "src/lib/ares_parse_srv_reply.c",
        "src/lib/ares_parse_soa_reply.c",
        "src/lib/ares_parse_ptr_reply.c",
        "src/lib/ares_parse_ns_reply.c",
        "src/lib/ares_parse_naptr_reply.c",
        "src/lib/ares_parse_mx_reply.c",
        "src/lib/ares_parse_caa_reply.c",
        "src/lib/ares_options.c",
        "src/lib/ares_nowarn.c",
        "src/lib/ares_mkquery.c",
        "src/lib/ares_llist.c",
        "src/lib/ares_getsock.c",
        "src/lib/ares_getnameinfo.c",
        "src/lib/bitncmp.c",
        "src/lib/ares_writev.c",
        "src/lib/ares_version.c",
        "src/lib/ares_timeout.c",
        "src/lib/ares_strerror.c",
        "src/lib/ares_strcasecmp.c",
        "src/lib/ares_search.c",
        "src/lib/ares_platform.c",
        "src/lib/windows_port.c",
        "src/lib/inet_ntop.c",
        "src/lib/ares__sortaddrinfo.c",
        "src/lib/ares__readaddrinfo.c",
        "src/lib/ares_parse_uri_reply.c",
        "src/lib/ares__parse_into_addrinfo.c",
        "src/lib/ares_parse_a_reply.c",
        "src/lib/ares_parse_aaaa_reply.c",
        "src/lib/ares_library_init.c",
        "src/lib/ares_init.c",
        "src/lib/ares_gethostbyname.c",
        "src/lib/ares_getaddrinfo.c",
        "src/lib/ares_freeaddrinfo.c",
        "src/lib/ares_expand_name.c",
        "src/lib/ares_destroy.c",
        "src/lib/ares_data.c",
        "src/lib/ares__addrinfo_localhost.c",
        "src/lib/ares__addrinfo2hostent.c",
        "src/lib/inet_net_pton.c",
        "src/lib/ares_strsplit.c",
        "src/lib/ares_strdup.c",
        "src/lib/ares_send.c",
        "src/lib/ares_rand.c",
        "src/lib/ares_query.c",
        "src/lib/ares_process.c",
    ],
    hdrs = [
        "ares_build.h",
        "ares_config.h",
        "include/ares_version.h",
        "include/ares.h",
        "include/ares_rules.h",
        "include/ares_dns.h",
        "include/ares_nameser.h",
        "src/tools/ares_getopt.h",
        "src/lib/ares_strsplit.h",
        "src/lib/ares_android.h",
        "src/lib/ares_private.h",
        "src/lib/ares_llist.h",
        "src/lib/ares_platform.h",
        "src/lib/ares_ipv6.h",
        "src/lib/config-dos.h",
        "src/lib/bitncmp.h",
        "src/lib/ares_strcasecmp.h",
        "src/lib/setup_once.h",
        "src/lib/ares_inet_net_pton.h",
        "src/lib/ares_data.h",
        "src/lib/ares_getenv.h",
        "src/lib/config-win32.h",
        "src/lib/ares_strdup.h",
        "src/lib/ares_iphlpapi.h",
        "src/lib/ares_setup.h",
        "src/lib/ares_writev.h",
        "src/lib/ares_nowarn.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,
)
