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

TARGET_DEFAULTS = {
    "LLVMSupport": {
        "linkopts": [
            "-pthread",
            "-ldl",
        ],
        "deps": [
            "@//external:zlib",
        ],
    },
    "LLVMDebugInfoCodeView": {
        "deps": [
            ":LLVMBinaryFormat",
        ],
    },
    "LLVMCore": {
        "additional_header_dirs": [
            # Layering violation.
            "/include/llvm/Analysis",
        ],
        "hdrs": glob([
            "include/llvm/*.h",
        ]),
    },
    "LLVMTransformUtils": {
        "hdrs": glob(["include/llvm-c/Transforms/**/*.h"]),
    },
    "LLVMScalarOpts": {
        "deps": [":LLVMTarget"],
    },
    "LLVMX86CodeGen": {
        "deps": [":LLVMipo"],
    },
    "clangAST": {
        "textual_hdrs": [
            ":tools_clang_include_clang_AST_genhdrs",
        ],
    },
    "clangBasic": {
        "deps": [
            ":LLVMTarget",
        ],
        "textual_hdrs": [
            "tools/clang/include/clang/Basic/Version.inc",
            ":tools_clang_include_clang_Basic_genhdrs",
        ],
    },
    "clangCodeGen": {
        "deps": [":all_targets"],
    },
    "clangDriver": {
        "textual_hdrs": [
            ":tools_clang_include_clang_StaticAnalyzer_Checkers_genhdrs",
        ],
    },
    "clangFrontend": {
        "deps": [
            ":LLVMLinker",
        ],
        "hdrs": [
            "tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h",
        ],
        "textual_hdrs": [
            "tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def",
            "tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def",
        ],
    },
    "clangIndex": {
        "textual_hdrs": [
            "tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def",
        ],
    },
    "clangParse": {
        "textual_hdrs": [
            ":tools_clang_include_clang_Parse_genhdrs",
        ],
    },
    "clangSema": {
        "textual_hdrs": [
            ":tools_clang_include_clang_Sema_genhdrs",
        ],
        "deps": [":all_targets"],
    },
    "clangSerialization": {
        "textual_hdrs": [
            ":tools_clang_include_clang_Serialization_genhdrs",
        ],
    },
    "ClangDriverOptions": {
        "textual_hdrs": [
            "tools/clang/include/clang/Frontend/LangStandards.def",
        ],
    },
}

cc_library(
    name = "clang-c",
    hdrs = glob(["tools/clang/include/clang-c/*.h"]) + [
        "tools/clang/include/clang/Config/config.h",
    ],
    includes = [
        "tools/clang/include",
    ],
)

cc_library(
    name = "llvm-c",
    hdrs = glob([
        "include/llvm-c/*.h",
    ]) + [
        "include/llvm/Config/abi-breaking.h",
        "include/llvm/Config/config.h",
        "include/llvm/Config/llvm-config.h",
        "include/llvm/Config/AsmParsers.def",
        "include/llvm/Config/AsmPrinters.def",
        "include/llvm/Config/Disassemblers.def",
        "include/llvm/Config/Targets.def",
    ],
    includes = [
        "include",
    ],
)

genrule(
    name = "llvm_vcsrevision_h_gen",
    outs = ["include/llvm/Support/VCSRevision.h"],
    cmd = "touch $@",
)

cc_library(
    name = "llvm_vcsrevision_h",
    hdrs = ["include/llvm/Support/VCSRevision.h"],
)

load("@io_kythe//tools:build_rules/cc_resources.bzl", "cc_resources")

builtin_headers = glob(
    ["tools/clang/lib/Headers/**"],
    exclude = ["tools/clang/lib/Headers/**/CMakeLists.txt"],
)

genrule(
    name = "builtin_headers_gen",
    srcs = builtin_headers,
    outs = [hdr.replace("lib/Headers/", "staging/include/") for hdr in builtin_headers],
    cmd = """
      SRCS=($(SRCS))
      OUTS=($(OUTS))
      for i in "$${!SRCS[@]}"; do
        cp $${SRCS[$$i]} $${OUTS[$$i]}
      done""",
    output_to_bindir = True,
)

cc_resources(
    name = "clang_builtin_headers_resources",
    data = [":builtin_headers_gen"],
    strip = "staging/include/",
)

load("@io_kythe//tools/build_rules/llvm:cmake_defines.bzl", "cmake_defines", "LLVM_TARGETS")
load("@io_kythe//tools/build_rules/llvm:generated_llvm_build_deps.bzl", "LLVM_BUILD_DEPS")
load("@io_kythe//tools/build_rules/llvm:llvm.bzl", "make_context")
load("@io_kythe//tools/build_rules/llvm:generated_cmake_targets.bzl", "generated_cmake_targets")

cc_library(
    name = "all_targets",
    deps = [":LLVM%sCodeGen" % t for t in LLVM_TARGETS],
)

generated_cmake_targets(make_context(
    cmake_defines = cmake_defines(),
    llvm_build_deps = LLVM_BUILD_DEPS,
    target_defaults = TARGET_DEFAULTS,
))
