BUILD 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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_test")
  5. load("//bazel/fuzzing:rules.bzl", "cc_fuzz_test")
  6. package(default_visibility = ["//visibility:public"])
  7. cc_library(
  8. name = "driver",
  9. srcs = ["driver.cpp"],
  10. hdrs = ["driver.h"],
  11. textual_hdrs = ["flags.def"],
  12. deps = [
  13. "//toolchain/diagnostics:diagnostic_emitter",
  14. "//toolchain/lexer:tokenized_buffer",
  15. "//toolchain/parser:parse_tree",
  16. "//toolchain/source:source_buffer",
  17. "@llvm-project//llvm:Support",
  18. ],
  19. )
  20. cc_test(
  21. name = "driver_test",
  22. srcs = ["driver_test.cpp"],
  23. deps = [
  24. ":driver",
  25. "//toolchain/common:yaml_test_helpers",
  26. "//toolchain/lexer:tokenized_buffer_test_helpers",
  27. "@llvm-project//llvm:Support",
  28. "@llvm-project//llvm:gmock",
  29. "@llvm-project//llvm:gtest",
  30. "@llvm-project//llvm:gtest_main",
  31. ],
  32. )
  33. cc_fuzz_test(
  34. name = "driver_fuzzer",
  35. srcs = ["driver_fuzzer.cpp"],
  36. corpus = glob(["fuzzer_corpus/*"]),
  37. deps = [
  38. ":driver",
  39. "@llvm-project//llvm:Support",
  40. ],
  41. )
  42. cc_binary(
  43. name = "carbon",
  44. srcs = ["driver_main.cpp"],
  45. deps = [
  46. ":driver",
  47. "@llvm-project//llvm:Support",
  48. ],
  49. )
  50. # FIXME: No support for LLVM's lit-style command line & FileCheck tests.
  51. #
  52. #lit_test(
  53. # name = "carbon_test.carbon",
  54. # data = [
  55. # ":carbon",
  56. # "@llvm-project//llvm:FileCheck",
  57. # ],
  58. #)