BUILD 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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_binary", "cc_library", "cc_proto_library", "cc_test")
  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. "@llvm-project//llvm:Support",
  25. "@protobuf//:protobuf_headers",
  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. "@llvm-project//llvm:Support",
  38. "@protobuf//:protobuf_headers",
  39. ],
  40. )
  41. cc_test(
  42. name = "proto_to_carbon_test",
  43. size = "small",
  44. srcs = ["proto_to_carbon_test.cpp"],
  45. deps = [
  46. ":carbon_cc_proto",
  47. ":proto_to_carbon_lib",
  48. "//common:error",
  49. "//testing/base:gtest_main",
  50. "@googletest//:gtest",
  51. ],
  52. )