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)",
    cmd_bat = "$(location //:generate_registry_tables) --xml=$(location @spirv_headers//:spirv_xml_registry) --generator-output=$(location generators.inc)",
    exec_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) $(location CHANGES) $(location build-version.inc)",
    cmd_bat = "set SOURCE_DATE_EPOCH=0  && $(location //:update_build_version) $(location CHANGES) $(location build-version.inc)",
    exec_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.
    ],
)]

