# NOTE: THIS FILE IS EXPERIMENTAL FOR THE BAZEL MIGRATION AND NOT USED FOR
# YOUR BUILDS CURRENTLY.
#
# It is not yet the source of truth for your build. If you're looking to modify
# the build file, modify the Android.bp file instead. Do *not* modify this file
# unless you have coordinated with the team managing the Soong to Bazel
# migration.

package(default_visibility = ["//visibility:public"])

# Toolchain config
filegroup(name = "empty")

load(":cc_toolchain_config.bzl", "android_cc_toolchain", "clang_version", "expand_feature_flags")
load(":cc_toolchain_constants.bzl", "generated_constants")

# Different clang versions are configured here.
clang_version(
    name = "clang",
    directory = generated_constants.CLANG_DEFAULT_VERSION,
    includes = [
        "lib64/clang/%s/include" % generated_constants.CLANG_DEFAULT_SHORT_VERSION,
    ],
)

_LIBCLANG_RT_PREFIX = "%s/lib64/clang/%s/lib/linux" % (
    generated_constants.CLANG_DEFAULT_VERSION,
    generated_constants.CLANG_DEFAULT_SHORT_VERSION,
)

_LIBCLANG_RT_PREBUILT_MAP = {
    "//build/bazel/platforms/os_arch:android_arm": _LIBCLANG_RT_PREFIX + "/libclang_rt.builtins-arm-android.a",
    "//build/bazel/platforms/os_arch:android_arm64": _LIBCLANG_RT_PREFIX + "/libclang_rt.builtins-aarch64-android.a",
    "//build/bazel/platforms/os_arch:android_x86": _LIBCLANG_RT_PREFIX + "/libclang_rt.builtins-i686-android.a",
    "//build/bazel/platforms/os_arch:android_x86_64": _LIBCLANG_RT_PREFIX + "/libclang_rt.builtins-x86_64-android.a",
    "//build/bazel/platforms/os_arch:linux_bionic_x86_64": _LIBCLANG_RT_PREFIX + "/libclang_rt.builtins-x86_64-android.a",
    "//build/bazel/platforms/os_arch:linux_glibc_x86": _LIBCLANG_RT_PREFIX + "/libclang_rt.builtins-i386.a",
    "//build/bazel/platforms/os_arch:linux_glibc_x86_64": _LIBCLANG_RT_PREFIX + "/libclang_rt.builtins-x86_64.a",
    "//conditions:default": None,
}

# x86_64 toolchain definition.
android_cc_toolchain(
    name = "cc_toolchain_x86_64",
    target_os = "android",
    target_arch = "x86_64",
    clang_version = ":clang",
    clang_version_directory = generated_constants.CLANG_DEFAULT_VERSION,
    libclang_rt_builtin = _LIBCLANG_RT_PREBUILT_MAP["//build/bazel/platforms/os_arch:android_x86_64"],
    linker_flags = generated_constants.X86_64ToolchainLdflags + generated_constants.X86_64Lldflags,
    target_flags = [
                       "--target=x86_64-linux-android10000",
                   ] + generated_constants.X86_64ToolchainCflags +
                   generated_constants.X86_64ArchVariantCflags[""] +
                   expand_feature_flags(
                       generated_constants.X86_64DefaultArchVariantFeatures,
                       generated_constants.X86_64ArchFeatureCflags,
                   ) + generated_constants.X86_64Cflags,
    toolchain_identifier = "x86_64-toolchain",
)

# x86 toolchain definition.
android_cc_toolchain(
    name = "cc_toolchain_x86",
    target_os = "android",
    target_arch = "x86",
    clang_version = ":clang",
    clang_version_directory = generated_constants.CLANG_DEFAULT_VERSION,
    libclang_rt_builtin = _LIBCLANG_RT_PREBUILT_MAP["//build/bazel/platforms/os_arch:android_x86"],
    linker_flags = generated_constants.X86ToolchainLdflags + generated_constants.X86Lldflags,
    target_flags = [
                       "--target=i686-linux-android10000",
                   ] + generated_constants.X86ToolchainCflags +
                   generated_constants.X86ArchVariantCflags[""] +
                   expand_feature_flags(
                       generated_constants.X86_64DefaultArchVariantFeatures,
                       generated_constants.X86ArchFeatureCflags,
                   ) + generated_constants.X86Cflags,
    toolchain_identifier = "x86-toolchain",
)

# arm64 toolchain definition.
android_cc_toolchain(
    name = "cc_toolchain_arm64",
    target_os = "android",
    target_arch = "arm64",
    clang_version = ":clang",
    clang_version_directory = generated_constants.CLANG_DEFAULT_VERSION,
    libclang_rt_builtin = _LIBCLANG_RT_PREBUILT_MAP["//build/bazel/platforms/os_arch:android_arm64"],
    linker_flags = generated_constants.Arm64Lldflags,
    target_flags = [
                       "--target=aarch64-linux-android10000",
                   ] + generated_constants.Arm64ArchVariantCflags["armv8-a"] +
                   generated_constants.Arm64CpuVariantCflags.get(
                       "",
                       default = [],
                   ) + generated_constants.Arm64Cflags,
    toolchain_identifier = "arm64-toolchain",
)

# arm32 toolchain definition.
android_cc_toolchain(
    name = "cc_toolchain_arm",
    target_os = "android",
    target_arch = "arm",
    clang_version = ":clang",
    clang_version_directory = generated_constants.CLANG_DEFAULT_VERSION,
    libclang_rt_builtin = _LIBCLANG_RT_PREBUILT_MAP["//build/bazel/platforms/os_arch:android_arm"],
    linker_flags = generated_constants.ArmLldflags,
    target_flags = ["--target=" + generated_constants.ArmClangTriple + "10000"] +
                   generated_constants.ArmToolchainCflags +
                   generated_constants.ArmArchVariantCflags["armv7-a-neon"] +
                   generated_constants.ArmCpuVariantCflags.get("", []) +
                   generated_constants.ArmCflags,
    toolchain_identifier = "arm-toolchain",
)

# Toolchain to compile for the linux host.
# TODO(b/186628704): automatically generate from Soong.
android_cc_toolchain(
    name = "cc_toolchain_x86_64_linux_host",
    target_os = "linux_glibc",
    target_arch = "x86_64",
    clang_version = ":clang",
    clang_version_directory = generated_constants.CLANG_DEFAULT_VERSION,
    libclang_rt_builtin = _LIBCLANG_RT_PREBUILT_MAP["//build/bazel/platforms/os_arch:linux_glibc_x86_64"],
    linker_flags = [
        "-m64",
        "-Wl,-z,noexecstack",
        "-Wl,-z,relro",
        "-Wl,-z,now",
        "-Wl,--no-undefined-version",
    ],
    target_flags = [
        "-m64",
        "-fdiagnostics-color",
        "-Wa,--noexecstack",
        "-fPIC",
        "-U_FORTIFY_SOURCE",
        "-D_FORTIFY_SOURCE=2",
        "-fstack-protector",
        # Workaround differences in inttypes.h between host and target.
        # See bug 12708004.
        "-D__STDC_FORMAT_MACROS",
        "-D__STDC_CONSTANT_MACROS",
    ],
    toolchain_identifier = "x86_64-toolchain",
)

toolchain_type(name = "nocrt_toolchain")

ARCHITECTURES = ["x86_64", "x86", "arm", "arm64"]

# Device toolchains with crt libraries
[
    toolchain(
        name = "cc_toolchain_%s_def" % arch,
        exec_compatible_with = [
            "//build/bazel/platforms/arch:x86_64",
            "//build/bazel/platforms/os:linux",
        ],
        target_compatible_with = [
            "//build/bazel/platforms/arch:%s" % arch,
            "//build/bazel/platforms/os:android",
        ],
        toolchain = ":cc_toolchain_%s" % arch,
        toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
    ) for arch in ARCHITECTURES
]

# Device toolchains without crt libraries
[
    toolchain(
        name = "cc_toolchain_%s_nocrt_def" % arch,
        exec_compatible_with = [
            "//build/bazel/platforms/arch:x86_64",
            "//build/bazel/platforms/os:linux",
        ],
        target_compatible_with = [
            "//build/bazel/platforms/arch:%s" % arch,
            "//build/bazel/platforms/os:android",
        ],
        toolchain = ":cc_toolchain_%s_nocrt" % arch,
        toolchain_type = ":nocrt_toolchain",
    ) for arch in ARCHITECTURES
]

# Host toolchains for linux x86_64
[
    toolchain(
        name = "%s_def" % toolchain_name,
        exec_compatible_with = [
            "//build/bazel/platforms/arch:x86_64",
            "//build/bazel/platforms/os:linux",
        ],
        target_compatible_with = [
            "//build/bazel/platforms/arch:x86_64",
            "//build/bazel/platforms/os:linux",
        ],
        # TODO(b/181803350): Fix linux toolchain flag set, as the current flags are for android.
        toolchain = toolchain_name,
        toolchain_type = toolchain_type,
    ) for (toolchain_name, toolchain_type) in
    [
        ("cc_toolchain_x86_64_linux_host", "@bazel_tools//tools/cpp:toolchain_type"),
        ("cc_toolchain_x86_64_linux_host_nocrt", "nocrt_toolchain"),
    ]
]

cc_import(
    name = "libclang_rt",
    static_library = select(_LIBCLANG_RT_PREBUILT_MAP),
)

[alias(
    name = "llvm-%s" % tool,
    actual = generated_constants.CLANG_DEFAULT_VERSION + "/bin/llvm-%s" % tool,
    visibility = ["//visibility:public"],
) for tool in [
    "ar",
    "readelf",
    "objcopy",
    "strip",
]]

# Test tools used by Bazel tests.
filegroup(
    name = "test_tools",
    srcs = [
        generated_constants.CLANG_DEFAULT_VERSION + "/bin/llvm-readelf",
        generated_constants.CLANG_DEFAULT_VERSION + "/bin/llvm-nm",
    ],
    visibility = ["//build/bazel/tests:__subpackages__"],
)
