BUILD 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
  5. package(default_visibility = ["//visibility:public"])
  6. filegroup(
  7. name = "testdata",
  8. data = glob(["testdata/**/*.carbon"]),
  9. )
  10. cc_library(
  11. name = "diagnostic_emitter",
  12. srcs = ["diagnostic_consumer.cpp"],
  13. hdrs = [
  14. "diagnostic.h",
  15. "diagnostic_consumer.h",
  16. "diagnostic_converter.h",
  17. "diagnostic_emitter.h",
  18. ],
  19. deps = [
  20. ":diagnostic_kind",
  21. "//common:check",
  22. "//common:ostream",
  23. "@llvm-project//llvm:Support",
  24. ],
  25. )
  26. cc_test(
  27. name = "diagnostic_emitter_test",
  28. size = "small",
  29. srcs = ["diagnostic_emitter_test.cpp"],
  30. deps = [
  31. ":diagnostic_emitter",
  32. ":mocks",
  33. "//testing/base:gtest_main",
  34. "@googletest//:gtest",
  35. "@llvm-project//llvm:Support",
  36. ],
  37. )
  38. cc_library(
  39. name = "diagnostic_kind",
  40. srcs = ["diagnostic_kind.cpp"],
  41. hdrs = ["diagnostic_kind.h"],
  42. textual_hdrs = [
  43. "diagnostic_kind.def",
  44. ],
  45. deps = [
  46. "//common:enum_base",
  47. ],
  48. )
  49. cc_library(
  50. name = "null_diagnostics",
  51. hdrs = ["null_diagnostics.h"],
  52. deps = [
  53. ":diagnostic_emitter",
  54. "@llvm-project//llvm:Support",
  55. ],
  56. )
  57. cc_library(
  58. name = "sorting_diagnostic_consumer",
  59. hdrs = ["sorting_diagnostic_consumer.h"],
  60. deps = [
  61. ":diagnostic_emitter",
  62. "//common:check",
  63. "@llvm-project//llvm:Support",
  64. ],
  65. )
  66. cc_test(
  67. name = "sorting_diagnostic_consumer_test",
  68. size = "small",
  69. srcs = ["sorting_diagnostic_consumer_test.cpp"],
  70. deps = [
  71. ":diagnostic_emitter",
  72. ":mocks",
  73. ":sorting_diagnostic_consumer",
  74. "//testing/base:gtest_main",
  75. "@googletest//:gtest",
  76. "@llvm-project//llvm:Support",
  77. ],
  78. )
  79. cc_library(
  80. name = "mocks",
  81. testonly = 1,
  82. srcs = ["mocks.cpp"],
  83. hdrs = ["mocks.h"],
  84. deps = [
  85. ":diagnostic_emitter",
  86. "@googletest//:gtest",
  87. "@llvm-project//llvm:Support",
  88. ],
  89. )