load(
    ":build_defs.bzl",
    "COMMON_COPTS",
    "DEBUGINFO_GRAMMAR_JSON_FILE",
    "CLDEBUGINFO100_GRAMMAR_JSON_FILE",
    "SHDEBUGINFO100_GRAMMAR_JSON_FILE",
    "TEST_COPTS",
    "base_test",
    "generate_core_tables",
    "generate_enum_string_mapping",
    "generate_extinst_lang_headers",
    "generate_glsl_tables",
    "generate_opencl_tables",
    "generate_vendor_tables",
    "link_test",
    "lint_test",
    "opt_test",
    "reduce_test",
    "util_test",
    "val_test",
)

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

licenses(["notice"])

exports_files([
    "CHANGES",
    "LICENSE",
])

py_binary(
    name = "generate_grammar_tables",
    srcs = ["utils/generate_grammar_tables.py"],
)

py_binary(
    name = "generate_language_headers",
    srcs = ["utils/generate_language_headers.py"],
)

generate_core_tables("unified1")

generate_enum_string_mapping("unified1")

generate_opencl_tables("unified1")

generate_glsl_tables("unified1")

generate_vendor_tables("spv-amd-shader-explicit-vertex-parameter")

generate_vendor_tables("spv-amd-shader-trinary-minmax")

generate_vendor_tables("spv-amd-gcn-shader")

generate_vendor_tables("spv-amd-shader-ballot")

generate_vendor_tables("debuginfo")

generate_vendor_tables("opencl.debuginfo.100", "CLDEBUG100_")

generate_vendor_tables("nonsemantic.shader.debuginfo.100", "SHDEBUG100_")

generate_vendor_tables("nonsemantic.clspvreflection")

generate_extinst_lang_headers("DebugInfo", DEBUGINFO_GRAMMAR_JSON_FILE)

generate_extinst_lang_headers("OpenCLDebugInfo100", CLDEBUGINFO100_GRAMMAR_JSON_FILE)

generate_extinst_lang_headers("NonSemanticShaderDebugInfo100", SHDEBUGINFO100_GRAMMAR_JSON_FILE)

py_binary(
    name = "generate_registry_tables",
    srcs = ["utils/generate_registry_tables.py"],
)

genrule(
    name = "gen_registry_tables",
    srcs = ["@spirv_headers//:spirv_xml_registry"],
    outs = ["generators.inc"],
    cmd = "$(location generate_registry_tables) --xml=$(location @spirv_headers//:spirv_xml_registry) --generator-output=$(location generators.inc)",
    tools = [":generate_registry_tables"],
)

py_binary(
    name = "update_build_version",
    srcs = ["utils/update_build_version.py"],
)

genrule(
    name = "gen_build_version",
    srcs = ["CHANGES"],
    outs = ["build-version.inc"],
    cmd = "SOURCE_DATE_EPOCH=0 $(location update_build_version) $$(dirname $(location CHANGES)) $(location build-version.inc)",
    tools = [":update_build_version"],
)

# Libraries

cc_library(
    name = "generated_headers",
    hdrs = [
        ":gen_build_version",
        ":gen_core_tables_unified1",
        ":gen_enum_string_mapping",
        ":gen_extinst_lang_headers_DebugInfo",
        ":gen_extinst_lang_headers_OpenCLDebugInfo100",
        ":gen_extinst_lang_headers_NonSemanticShaderDebugInfo100",
        ":gen_glsl_tables_unified1",
        ":gen_opencl_tables_unified1",
        ":gen_registry_tables",
        ":gen_vendor_tables_debuginfo",
        ":gen_vendor_tables_nonsemantic_clspvreflection",
        ":gen_vendor_tables_opencl_debuginfo_100",
        ":gen_vendor_tables_nonsemantic_shader_debuginfo_100",
        ":gen_vendor_tables_spv_amd_gcn_shader",
        ":gen_vendor_tables_spv_amd_shader_ballot",
        ":gen_vendor_tables_spv_amd_shader_explicit_vertex_parameter",
        ":gen_vendor_tables_spv_amd_shader_trinary_minmax",
    ],
    copts = COMMON_COPTS,
)

cc_library(
    name = "spirv_tools_headers",
    hdrs = glob([
        "include/spirv-tools/libspirv.h",
        "include/spirv-tools/libspirv.hpp",
        "source/*.h",
        "source/util/*.h",
        "source/val/*.h",
    ]),
    copts = COMMON_COPTS,
    includes = ["source"],
    deps = [
        "@spirv_headers//:spirv_c_headers",
    ],
)

cc_library(
    name = "spirv_tools",
    srcs = glob([
        "source/*.cpp",
        "source/util/*.cpp",
        "source/val/*.cpp",
    ]),
    hdrs = [
        "include/spirv-tools/libspirv.h",
        "include/spirv-tools/libspirv.hpp",
    ],
    copts = COMMON_COPTS + select({
        "@bazel_tools//src/conditions:windows": [""],
        "//conditions:default": ["-Wno-implicit-fallthrough"],
    }),
    includes = ["include"],
    linkstatic = 1,
    visibility = ["//visibility:public"],
    deps = [
        ":generated_headers",
        ":spirv_tools_headers",
        "@spirv_headers//:spirv_c_headers",
        "@spirv_headers//:spirv_common_headers",
    ],
)

cc_library(
    name = "spirv_tools_comp",
    srcs = glob([
        "source/comp/*.cpp",
        "source/comp/*.h",
    ]),
    copts = COMMON_COPTS,
    linkstatic = 1,
    visibility = ["//visibility:public"],
    deps = [
        ":generated_headers",
        ":spirv_tools",
        ":spirv_tools_headers",
        "@spirv_headers//:spirv_common_headers",
    ],
)

cc_library(
    name = "spirv_tools_opt_headers",
    hdrs = glob(["source/opt/*.h"]),
    copts = COMMON_COPTS,
)

cc_library(
    name = "spirv_tools_opt",
    srcs = glob(["source/opt/*.cpp"]),
    hdrs = [
        "include/spirv-tools/instrument.hpp",
        "include/spirv-tools/optimizer.hpp",
    ],
    copts = COMMON_COPTS,
    includes = ["include"],
    linkstatic = 1,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
        ":spirv_tools_headers",
        ":spirv_tools_opt_headers",
        "@spirv_headers//:spirv_common_headers",
    ],
)

cc_library(
    name = "spirv_tools_reduce",
    srcs = glob(["source/reduce/*.cpp"]),
    hdrs = glob(["source/reduce/*.h"]),
    copts = COMMON_COPTS,
    linkstatic = 1,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
        ":spirv_tools_opt",
    ],
)

cc_library(
    name = "spirv_tools_link",
    srcs = glob(["source/link/*.cpp"]),
    hdrs = ["include/spirv-tools/linker.hpp"],
    copts = COMMON_COPTS,
    linkstatic = 1,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
        ":spirv_tools_opt",
    ],
)

cc_library(
    name = "spirv_tools_lint",
    srcs = glob(["source/lint/*.cpp", "source/lint/*.h"]),
    hdrs = ["include/spirv-tools/linter.hpp"],
    copts = COMMON_COPTS,
    linkstatic = 1,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
        ":spirv_tools_opt",
    ],
)

cc_library(
    name = "tools_util",
    srcs = glob(["tools/util/*.cpp"]),
    hdrs = glob(["tools/util/*.h"]),
    copts = COMMON_COPTS,
    linkstatic = 1,
    visibility = ["//visibility:public"],
    deps = [":spirv_tools"],
)

# Tools

cc_binary(
    name = "spirv-as",
    srcs = [
        "tools/as/as.cpp",
        "tools/io.h",
    ],
    copts = COMMON_COPTS,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
    ],
)

cc_binary(
    name = "spirv-dis",
    srcs = [
        "tools/dis/dis.cpp",
        "tools/io.h",
    ],
    copts = COMMON_COPTS,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
    ],
)

cc_binary(
    name = "spirv-val",
    srcs = [
        "tools/io.h",
        "tools/val/val.cpp",
    ],
    copts = COMMON_COPTS,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
        ":tools_util",
    ],
)

cc_binary(
    name = "spirv-opt",
    srcs = [
        "tools/io.h",
        "tools/opt/opt.cpp",
    ],
    copts = COMMON_COPTS,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
        ":spirv_tools_opt",
        ":tools_util",
    ],
)

cc_binary(
    name = "spirv-reduce",
    srcs = [
        "tools/io.h",
        "tools/reduce/reduce.cpp",
    ],
    copts = COMMON_COPTS,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
        ":spirv_tools_opt",
        ":spirv_tools_reduce",
        ":tools_util",
    ],
)

cc_binary(
    name = "spirv-link",
    srcs = [
        "tools/io.h",
        "tools/link/linker.cpp",
    ],
    copts = COMMON_COPTS,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
        ":spirv_tools_link",
    ],
)

cc_binary(
    name = "spirv-lint",
    srcs = [
        "tools/io.h",
        "tools/lint/lint.cpp",
    ],
    copts = COMMON_COPTS,
    visibility = ["//visibility:public"],
    deps = [
        ":spirv_tools",
        ":spirv_tools_lint",
        ":tools_util",
    ],
)

cc_binary(
    name = "spirv-cfg",
    srcs = [
        "tools/cfg/bin_to_dot.cpp",
        "tools/cfg/bin_to_dot.h",
        "tools/cfg/cfg.cpp",
        "tools/io.h",
    ],
    copts = COMMON_COPTS,
    visibility = ["//visibility:public"],
    deps = [":spirv_tools"],
)

# Unit tests

cc_library(
    name = "test_common",
    testonly = 1,
    srcs = [
        "test/test_fixture.h",
        "test/unit_spirv.cpp",
        "test/unit_spirv.h",
    ],
    compatible_with = [],
    copts = TEST_COPTS,
    includes = ["test"],
    linkstatic = 1,
    deps = [
        ":spirv_tools",
        "@com_google_googletest//:gtest",
    ],
)

cc_library(
    name = "link_test_common",
    testonly = 1,
    srcs = ["test/link/linker_fixture.h"],
    compatible_with = [],
    copts = TEST_COPTS,
    linkstatic = 1,
    deps = [
        ":spirv_tools_link",
        ":test_common",
    ],
)

cc_library(
    name = "opt_test_common",
    testonly = 1,
    srcs = ["test/opt/pass_utils.cpp"],
    hdrs = [
        "test/opt/assembly_builder.h",
        "test/opt/function_utils.h",
        "test/opt/module_utils.h",
        "test/opt/pass_fixture.h",
        "test/opt/pass_utils.h",
    ],
    compatible_with = [],
    copts = TEST_COPTS,
    linkstatic = 1,
    deps = [
        ":spirv_tools_opt",
        ":test_common",
    ],
)

cc_library(
    name = "reduce_test_common",
    testonly = 1,
    srcs = [
        "test/reduce/reduce_test_util.cpp",
        "tools/io.h",
    ],
    hdrs = ["test/reduce/reduce_test_util.h"],
    compatible_with = [],
    copts = TEST_COPTS,
    linkstatic = 1,
    deps = [
        ":spirv_tools_reduce",
        ":test_common",
    ],
)

cc_library(
    name = "val_test_common",
    testonly = 1,
    srcs = [
        "test/val/val_code_generator.cpp",
        "test/val/val_fixtures.h",
    ],
    hdrs = [
        "test/val/val_code_generator.h",
    ],
    compatible_with = [],
    copts = TEST_COPTS,
    linkstatic = 1,
    deps = [":test_common"],
)

# PCH (precompiled header) tests only work when using CMake and MSVC on Windows,
# so they will be skipped in the Bazel builds.

[base_test(
    name = f[5:-4],  # strip test/, .cpp
    srcs = [f],
) for f in glob(
    ["test/*.cpp"],
    exclude = [
        "test/cpp_interface_test.cpp", # has its own base_test below.
        "test/log_test.cpp", # has its own base_test below.
        "test/pch_test.cpp", # pch tests are skipped.
        "test/timer_test.cpp", # has its own base_test below.
    ],
)]

# This test uses unistd.h and does not run on Windows.
base_test(
    name = "timer_test",
    srcs = select({
        "@bazel_tools//src/conditions:windows": [],
        "//conditions:default": ["test/timer_test.cpp"],
    }),
)

base_test(
    name = "cpp_interface_test",
    srcs = ["test/cpp_interface_test.cpp"],
    deps = [":spirv_tools_opt"],
)

base_test(
    name = "log_test",
    srcs = ["test/log_test.cpp"],
    deps = [":spirv_tools_opt"],
)

[link_test(
    name = f[10:-4],  # strip test/link/, .cpp
    srcs = [f],
) for f in glob(
    ["test/link/*.cpp"],
)]

[lint_test(
    name = f[10:-4],  # strip test/lint/, .cpp
    srcs = [f],
) for f in glob(
    ["test/lint/*.cpp"],
)]

[opt_test(
    name = f[9:-4],  # strip test/opt/, .cpp
    srcs = [f],
) for f in glob(
    ["test/opt/*.cpp"],
    # pch tests are skipped.
    exclude = ["test/opt/pch_test_opt.cpp"],
)]

[opt_test(
    name = "dom_tree_" + f[24:-4],  # strip test/opt/dominator_tree/, .cpp
    srcs = [f],
) for f in glob(
    ["test/opt/dominator_tree/*.cpp"],
    # pch tests are skipped.
    exclude = ["test/opt/dominator_tree/pch_test_opt_dom.cpp"],
)]

[opt_test(
    name = "loop_" + f[28:-4],  # strip test/opt/loop_optimizations/, .cpp
    srcs = [f],
) for f in glob(
    ["test/opt/loop_optimizations/*.cpp"],
    # pch tests are skipped.
    exclude = ["test/opt/loop_optimizations/pch_test_opt_loop.cpp"],
)]

[reduce_test(
    name = f[12:-4],  # strip test/reduce/, .cpp
    srcs = [f],
) for f in glob(["test/reduce/*.cpp"])]

[util_test(
    name = f[10:-4],  # strip test/util/, .cpp
    srcs = [f],
) for f in glob(["test/util/*.cpp"])]

[val_test(
    name = f[9:-4],  # strip test/val/, .cpp
    srcs = [f],
) for f in glob(
    ["test/val/*.cpp"],
    exclude = [
        "test/val/pch_test_val.cpp", # pch tests are skipped.
    ],
)]

