BUILD 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. load(":cc_toolchain_config.bzl", "cc_toolchain_config")
  2. package(default_visibility = ["//visibility:public"])
  3. filegroup(name = "empty")
  4. LINUX_TOOLCHAINS = {
  5. "linux-aarch_64": "cc-compiler-linux-aarch_64",
  6. "linux-ppcle_64": "cc-compiler-linux-ppcle_64",
  7. "linux-s390_64": "cc-compiler-linux-s390_64",
  8. "linux-x86_32": "cc-compiler-linux-x86_32",
  9. "linux-x86_64": "cc-compiler-linux-x86_64",
  10. }
  11. cc_toolchain_suite(
  12. name = "clang_suite",
  13. toolchains = LINUX_TOOLCHAINS
  14. )
  15. [
  16. cc_toolchain(
  17. name = toolchain,
  18. all_files = ":empty",
  19. compiler_files = ":empty",
  20. dwp_files = ":empty",
  21. dynamic_runtime_lib = ":empty",
  22. linker_files = ":empty",
  23. objcopy_files = ":empty",
  24. output_licenses = ["restricted"],
  25. static_runtime_lib = ":empty",
  26. strip_files = ":empty",
  27. toolchain_config = ":" + cpu + "-config",
  28. toolchain_identifier = toolchain,
  29. )
  30. for cpu, toolchain in LINUX_TOOLCHAINS.items()
  31. ]
  32. cc_toolchain_config(
  33. name = "linux-aarch_64-config",
  34. bit_flag = "-m64",
  35. include_flag = "-I/usr/aarch64-linux-gnu/include/c++/8/aarch64-linux-gnu/",
  36. target_cpu = "aarch64",
  37. target_full_name = "aarch64-linux-gnu",
  38. toolchain_dir = "/usr/aarch64-linux-gnu/include",
  39. toolchain_name = "linux_aarch_64",
  40. )
  41. cc_toolchain_config(
  42. name = "linux-ppcle_64-config",
  43. bit_flag = "-m64",
  44. include_flag = "-I/usr/powerpc64le-linux-gnu/include/c++/8/powerpc64le-linux-gnu/",
  45. target_cpu = "ppc64",
  46. target_full_name = "powerpc64le-linux-gnu",
  47. toolchain_dir = "/usr/powerpc64le-linux-gnu/include",
  48. toolchain_name = "linux_ppcle_64",
  49. )
  50. cc_toolchain_config(
  51. name = "linux-s390_64-config",
  52. bit_flag = "-m64",
  53. include_flag = "-I/usr/s390x-linux-gnu/include/c++/8/s390x-linux-gnu/",
  54. target_cpu = "systemz",
  55. target_full_name = "s390x-linux-gnu",
  56. toolchain_dir = "/usr/s390x-linux-gnu/include",
  57. toolchain_name = "linux_s390_64",
  58. )
  59. cc_toolchain_config(
  60. name = "linux-x86_32-config",
  61. bit_flag = "-m32",
  62. target_cpu = "x86_32",
  63. target_full_name = "i386-linux-gnu",
  64. toolchain_dir = "/usr/include/i386-linux-gnu",
  65. toolchain_name = "linux_x86_32",
  66. )
  67. cc_toolchain_config(
  68. name = "linux-x86_64-config",
  69. bit_flag = "-m64",
  70. target_cpu = "x86_64",
  71. target_full_name = "x86_64-linux-gnu",
  72. toolchain_dir = "/usr/include/x86_64-linux-gnu",
  73. toolchain_name = "linux_x86_64",
  74. )