BUILD 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. # Exceptions. See /LICENSE for license information.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. package(default_visibility = ["//visibility:public"])
  5. cc_library(
  6. name = "bazel_working_dir",
  7. hdrs = ["bazel_working_dir.h"],
  8. deps = [
  9. "@llvm-project//llvm:Support",
  10. ],
  11. )
  12. cc_library(
  13. name = "check",
  14. srcs = [
  15. "check_internal.cpp",
  16. "check_internal.h",
  17. ],
  18. hdrs = ["check.h"],
  19. deps = [
  20. "@llvm-project//llvm:Support",
  21. ],
  22. )
  23. cc_test(
  24. name = "check_test",
  25. srcs = ["check_test.cpp"],
  26. deps = [
  27. ":check",
  28. "//common:gtest_main",
  29. "@com_google_googletest//:gtest",
  30. ],
  31. )
  32. cc_library(
  33. name = "enum_base",
  34. hdrs = ["enum_base.h"],
  35. deps = [
  36. "//common:ostream",
  37. "@llvm-project//llvm:Support",
  38. ],
  39. )
  40. cc_library(
  41. name = "enum_base_test_def",
  42. textual_hdrs = ["enum_base_test.def"],
  43. )
  44. cc_test(
  45. name = "enum_base_test",
  46. srcs = ["enum_base_test.cpp"],
  47. deps = [
  48. ":enum_base",
  49. ":enum_base_test_def",
  50. "//common:gtest_main",
  51. "@com_google_googletest//:gtest",
  52. ],
  53. )
  54. cc_library(
  55. name = "error",
  56. hdrs = ["error.h"],
  57. deps = [
  58. ":check",
  59. ":ostream",
  60. "@llvm-project//llvm:Support",
  61. ],
  62. )
  63. cc_test(
  64. name = "error_test",
  65. srcs = ["error_test.cpp"],
  66. deps = [
  67. ":error",
  68. "//common:gtest_main",
  69. "@com_google_googletest//:gtest",
  70. ],
  71. )
  72. # This does extra initialization on top of googletest's gtest_main in order to
  73. # provide stack traces on unexpected exits, because we normally rely on LLVM
  74. # code for that.
  75. #
  76. # This replaces "@com_google_googletest//:gtest_main";
  77. # "@com_google_googletest//:gtest" should still be used directly.
  78. cc_library(
  79. name = "gtest_main",
  80. testonly = 1,
  81. srcs = ["gtest_main.cpp"],
  82. deps = [
  83. "@com_google_googletest//:gtest",
  84. "@llvm-project//llvm:Support",
  85. ],
  86. )
  87. cc_library(
  88. name = "indirect_value",
  89. hdrs = ["indirect_value.h"],
  90. )
  91. cc_test(
  92. name = "indirect_value_test",
  93. srcs = ["indirect_value_test.cpp"],
  94. deps = [
  95. ":indirect_value",
  96. "//common:gtest_main",
  97. "@com_google_googletest//:gtest",
  98. ],
  99. )
  100. cc_library(
  101. name = "metaprogramming",
  102. hdrs = ["metaprogramming.h"],
  103. )
  104. cc_library(
  105. name = "ostream",
  106. hdrs = ["ostream.h"],
  107. deps = [
  108. ":metaprogramming",
  109. "@llvm-project//llvm:Support",
  110. ],
  111. )
  112. cc_library(
  113. name = "string_helpers",
  114. srcs = ["string_helpers.cpp"],
  115. hdrs = ["string_helpers.h"],
  116. deps = [
  117. ":check",
  118. ":error",
  119. "@llvm-project//llvm:Support",
  120. ],
  121. )
  122. cc_test(
  123. name = "string_helpers_test",
  124. srcs = ["string_helpers_test.cpp"],
  125. deps = [
  126. ":string_helpers",
  127. "//common:gtest_main",
  128. "@com_google_googletest//:gtest",
  129. "@llvm-project//llvm:Support",
  130. ],
  131. )
  132. cc_library(
  133. name = "test_raw_ostream",
  134. testonly = 1,
  135. hdrs = ["test_raw_ostream.h"],
  136. deps = [
  137. ":ostream",
  138. "@com_google_googletest//:gtest",
  139. ],
  140. )
  141. cc_test(
  142. name = "test_raw_ostream_test",
  143. srcs = ["test_raw_ostream_test.cpp"],
  144. deps = [
  145. ":test_raw_ostream",
  146. "//common:gtest_main",
  147. "@com_google_googletest//:gtest",
  148. ],
  149. )
  150. cc_library(
  151. name = "vlog",
  152. srcs = ["vlog_internal.h"],
  153. hdrs = ["vlog.h"],
  154. deps = [
  155. "@llvm-project//llvm:Support",
  156. ],
  157. )
  158. cc_test(
  159. name = "vlog_test",
  160. srcs = ["vlog_test.cpp"],
  161. deps = [
  162. ":vlog",
  163. "//common:gtest_main",
  164. "@com_google_googletest//:gtest",
  165. ],
  166. )