| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479 |
- # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
- # Exceptions. See /LICENSE for license information.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
- package(default_visibility = ["//visibility:public"])
- cc_library(
- name = "bazel_working_dir",
- hdrs = ["bazel_working_dir.h"],
- deps = [
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "benchmark_main",
- srcs = ["benchmark_main.cpp"],
- deps = [
- ":init_llvm",
- "@abseil-cpp//absl/flags:parse",
- "@google_benchmark//:benchmark",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "command_line",
- srcs = ["command_line.cpp"],
- hdrs = ["command_line.h"],
- deps = [
- ":check",
- ":ostream",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_test(
- name = "command_line_test",
- size = "small",
- srcs = ["command_line_test.cpp"],
- deps = [
- ":command_line",
- "//testing/base:gtest_main",
- "//testing/base:test_raw_ostream",
- "@googletest//:gtest",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "check",
- srcs = [
- "check_internal.cpp",
- "check_internal.h",
- ],
- hdrs = ["check.h"],
- deps = [
- ":ostream",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_test(
- name = "check_test",
- size = "small",
- srcs = ["check_test.cpp"],
- deps = [
- ":check",
- "//testing/base:gtest_main",
- "@googletest//:gtest",
- ],
- )
- cc_library(
- name = "enum_base",
- hdrs = ["enum_base.h"],
- deps = [
- "//common:ostream",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "enum_base_test_def",
- testonly = 1,
- textual_hdrs = ["enum_base_test.def"],
- )
- cc_test(
- name = "enum_base_test",
- size = "small",
- srcs = ["enum_base_test.cpp"],
- deps = [
- ":enum_base",
- ":enum_base_test_def",
- "//testing/base:gtest_main",
- "//testing/base:test_raw_ostream",
- "@googletest//:gtest",
- ],
- )
- cc_library(
- name = "error",
- hdrs = ["error.h"],
- deps = [
- ":check",
- ":ostream",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_test(
- name = "error_test",
- size = "small",
- srcs = ["error_test.cpp"],
- deps = [
- ":error",
- "//testing/base:gtest_main",
- "//testing/base:test_raw_ostream",
- "@googletest//:gtest",
- ],
- )
- cc_library(
- name = "exe_path",
- srcs = ["exe_path.cpp"],
- hdrs = ["exe_path.h"],
- deps = [
- "@llvm-project//llvm:Support",
- ],
- )
- cc_test(
- name = "exe_path_test",
- size = "small",
- srcs = ["exe_path_test.cpp"],
- deps = [
- ":exe_path",
- "//testing/base:gtest_main",
- "@googletest//:gtest",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "hashing",
- srcs = ["hashing.cpp"],
- hdrs = ["hashing.h"],
- deps = [
- ":check",
- ":ostream",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_test(
- name = "hashing_test",
- srcs = ["hashing_test.cpp"],
- deps = [
- ":hashing",
- "//testing/base:gtest_main",
- "//testing/base:test_raw_ostream",
- "@googletest//:gtest",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_binary(
- name = "hashing_benchmark",
- testonly = 1,
- srcs = ["hashing_benchmark.cpp"],
- deps = [
- ":benchmark_main",
- ":check",
- ":hashing",
- "@abseil-cpp//absl/hash",
- "@abseil-cpp//absl/random",
- "@google_benchmark//:benchmark",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "hashtable_key_context",
- hdrs = ["hashtable_key_context.h"],
- deps = [
- ":hashing",
- ],
- )
- cc_library(
- name = "indirect_value",
- hdrs = ["indirect_value.h"],
- )
- cc_test(
- name = "indirect_value_test",
- size = "small",
- srcs = ["indirect_value_test.cpp"],
- deps = [
- ":indirect_value",
- "//testing/base:gtest_main",
- "@googletest//:gtest",
- ],
- )
- cc_library(
- name = "init_llvm",
- srcs = ["init_llvm.cpp"],
- hdrs = ["init_llvm.h"],
- deps = [
- "@llvm-project//llvm:Support",
- ],
- )
- # Link against this to cause `:init_llvm` to pull in all LLVM targets.
- #
- # Be careful when depending on this: it pulls in several hundred megabytes of
- # LLVM binary size in -c fastbuild. This should only be depended on by a
- # `cc_binary` or `cc_test` target, never a `cc_library`.
- cc_library(
- name = "all_llvm_targets",
- srcs = ["all_llvm_targets.cpp"],
- deps = [
- ":init_llvm",
- "@llvm-project//llvm:AllTargetsAsmParsers",
- "@llvm-project//llvm:AllTargetsCodeGens",
- "@llvm-project//llvm:Support",
- ],
- alwayslink = 1,
- )
- cc_library(
- name = "map",
- hdrs = ["map.h"],
- deps = [
- ":check",
- ":hashtable_key_context",
- ":raw_hashtable",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_test(
- name = "map_test",
- srcs = ["map_test.cpp"],
- deps = [
- ":map",
- ":raw_hashtable_test_helpers",
- "//testing/base:gtest_main",
- "//testing/base:test_raw_ostream",
- "@googletest//:gtest",
- ],
- )
- cc_binary(
- name = "map_benchmark",
- testonly = 1,
- srcs = ["map_benchmark.cpp"],
- deps = [
- ":map",
- ":raw_hashtable_benchmark_helpers",
- "@abseil-cpp//absl/container:flat_hash_map",
- "@abseil-cpp//absl/random",
- "@boost_unordered",
- "@google_benchmark//:benchmark_main",
- "@llvm-project//llvm:Support",
- ],
- )
- sh_test(
- name = "map_benchmark_test",
- # The benchmark allocates a large amount of memory.
- size = "enormous",
- # We configure the test to run quickly.
- timeout = "short",
- srcs = ["map_benchmark_test.sh"],
- data = [":map_benchmark"],
- )
- cc_library(
- name = "ostream",
- hdrs = ["ostream.h"],
- deps = [
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "raw_hashtable",
- srcs = ["raw_hashtable.cpp"],
- hdrs = ["raw_hashtable.h"],
- deps = [
- ":check",
- ":hashing",
- ":hashtable_key_context",
- ":raw_hashtable_metadata_group",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "raw_hashtable_metadata_group",
- srcs = ["raw_hashtable_metadata_group.cpp"],
- hdrs = ["raw_hashtable_metadata_group.h"],
- deps = [
- ":check",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_binary(
- name = "raw_hashtable_metadata_group_benchmark",
- testonly = 1,
- srcs = ["raw_hashtable_metadata_group_benchmark.cpp"],
- deps = [
- ":raw_hashtable_metadata_group",
- "@abseil-cpp//absl/random",
- "@google_benchmark//:benchmark_main",
- "@llvm-project//llvm:Support",
- ],
- )
- sh_test(
- name = "raw_hashtable_metadata_group_benchmark_test",
- srcs = ["raw_hashtable_metadata_group_benchmark_test.sh"],
- data = [":raw_hashtable_metadata_group_benchmark"],
- )
- cc_library(
- name = "raw_hashtable_benchmark_helpers",
- testonly = 1,
- srcs = ["raw_hashtable_benchmark_helpers.cpp"],
- hdrs = ["raw_hashtable_benchmark_helpers.h"],
- copts = [
- "-O2", # Always optimize to make testing benchmarks faster.
- ],
- deps = [
- ":check",
- ":hashing",
- ":raw_hashtable",
- ":set",
- "@abseil-cpp//absl/base:no_destructor",
- "@abseil-cpp//absl/hash",
- "@abseil-cpp//absl/random",
- "@google_benchmark//:benchmark",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "raw_hashtable_test_helpers",
- testonly = 1,
- hdrs = ["raw_hashtable_test_helpers.h"],
- deps = [
- ":check",
- ":hashing",
- ":hashtable_key_context",
- ":ostream",
- ],
- )
- cc_library(
- name = "set",
- hdrs = ["set.h"],
- deps = [
- ":check",
- ":hashtable_key_context",
- ":raw_hashtable",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_test(
- name = "set_test",
- srcs = ["set_test.cpp"],
- deps = [
- ":raw_hashtable_test_helpers",
- ":set",
- "//testing/base:gtest_main",
- "//testing/base:test_raw_ostream",
- "@googletest//:gtest",
- ],
- )
- cc_binary(
- name = "set_benchmark",
- testonly = 1,
- srcs = ["set_benchmark.cpp"],
- deps = [
- ":raw_hashtable_benchmark_helpers",
- ":set",
- "@abseil-cpp//absl/container:flat_hash_set",
- "@google_benchmark//:benchmark_main",
- "@llvm-project//llvm:Support",
- ],
- )
- sh_test(
- name = "set_benchmark_test",
- # The benchmark allocates a large amount of memory.
- size = "enormous",
- # We configure the test to run quickly.
- timeout = "short",
- srcs = ["set_benchmark_test.sh"],
- data = [":set_benchmark"],
- )
- cc_library(
- name = "string_helpers",
- srcs = ["string_helpers.cpp"],
- hdrs = ["string_helpers.h"],
- deps = [
- ":check",
- ":error",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_test(
- name = "string_helpers_test",
- size = "small",
- srcs = ["string_helpers_test.cpp"],
- deps = [
- ":string_helpers",
- "//testing/base:gtest_main",
- "@googletest//:gtest",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "struct_reflection",
- hdrs = ["struct_reflection.h"],
- )
- cc_test(
- name = "struct_reflection_test",
- size = "small",
- srcs = ["struct_reflection_test.cpp"],
- deps = [
- ":struct_reflection",
- "//testing/base:gtest_main",
- "@googletest//:gtest",
- ],
- )
- cc_library(
- name = "variant_helpers",
- hdrs = ["variant_helpers.h"],
- deps = [
- ":error",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_library(
- name = "vlog",
- srcs = ["vlog_internal.h"],
- hdrs = ["vlog.h"],
- deps = [
- ":ostream",
- "@llvm-project//llvm:Support",
- ],
- )
- cc_test(
- name = "vlog_test",
- size = "small",
- srcs = ["vlog_test.cpp"],
- deps = [
- ":vlog",
- "//testing/base:gtest_main",
- "//testing/base:test_raw_ostream",
- "@googletest//:gtest",
- ],
- )
|