BUILD 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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_proto_library")
  5. load("@rules_proto//proto:defs.bzl", "proto_library")
  6. package(default_visibility = ["//visibility:public"])
  7. proto_library(
  8. name = "carbon_proto",
  9. srcs = ["carbon.proto"],
  10. )
  11. cc_proto_library(
  12. name = "carbon_cc_proto",
  13. testonly = 1,
  14. deps = [":carbon_proto"],
  15. )
  16. cc_library(
  17. name = "proto_to_carbon_lib",
  18. testonly = 1,
  19. srcs = ["proto_to_carbon.cpp"],
  20. hdrs = ["proto_to_carbon.h"],
  21. deps = [
  22. ":carbon_cc_proto",
  23. "//common:error",
  24. "@com_google_protobuf//:protobuf_headers",
  25. "@llvm-project//llvm:Support",
  26. ],
  27. )
  28. cc_binary(
  29. name = "proto_to_carbon",
  30. testonly = 1,
  31. srcs = ["proto_to_carbon_main.cpp"],
  32. deps = [
  33. ":carbon_cc_proto",
  34. ":proto_to_carbon_lib",
  35. "//common:bazel_working_dir",
  36. "//common:error",
  37. "@com_google_protobuf//:protobuf_headers",
  38. "@llvm-project//llvm:Support",
  39. ],
  40. )
  41. cc_test(
  42. name = "proto_to_carbon_test",
  43. srcs = ["proto_to_carbon_test.cpp"],
  44. deps = [
  45. ":carbon_cc_proto",
  46. ":proto_to_carbon_lib",
  47. "//common:error",
  48. "//common:gtest_main",
  49. "@com_google_googletest//:gtest",
  50. ],
  51. )