blob: 5bc8c8a0309488d77243fec4044bd36c07888e20 [file] [log] [blame]
Deanna Garcia5532dae2021-09-22 18:30:53 +00001load(":cc_toolchain_config.bzl", "cc_toolchain_config")
Deanna Garciab1877bb2021-09-22 21:21:04 +00002
Deanna Garcia5532dae2021-09-22 18:30:53 +00003package(default_visibility = ["//visibility:public"])
4
5filegroup(name = "empty")
6
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +00007TOOLCHAINS = {
deannagarcia3ad04bd2021-11-22 10:40:37 -08008 "osx-x86_64": "cc-compiler-osx-x86_64",
9 "osx-aarch_64": "cc-compiler-osx-aarch_64",
Deanna Garciaa793c7f2021-10-05 17:49:50 +000010 "linux-aarch_64": "cc-compiler-linux-aarch_64",
11 "linux-ppcle_64": "cc-compiler-linux-ppcle_64",
12 "linux-s390_64": "cc-compiler-linux-s390_64",
Deanna Garcia33f3c0e2021-09-22 19:44:04 +000013 "linux-x86_32": "cc-compiler-linux-x86_32",
14 "linux-x86_64": "cc-compiler-linux-x86_64",
Deanna Garcia73c57032021-11-24 19:48:16 +000015 "win32": "cc-compiler-windows-x86_32",
16 "win64": "cc-compiler-windows-x86_64",
Deanna Garcia9a4c48a2022-04-06 17:42:12 +000017 "k8": "cc-compiler-k8",
Deanna Garcia33f3c0e2021-09-22 19:44:04 +000018}
Deanna Garcia5532dae2021-09-22 18:30:53 +000019
20cc_toolchain_suite(
21 name = "clang_suite",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +000022 toolchains = TOOLCHAINS
Deanna Garcia5532dae2021-09-22 18:30:53 +000023)
24
Deanna Garcia5532dae2021-09-22 18:30:53 +000025[
26 cc_toolchain(
Deanna Garcia33f3c0e2021-09-22 19:44:04 +000027 name = toolchain,
Deanna Garcia5532dae2021-09-22 18:30:53 +000028 all_files = ":empty",
29 compiler_files = ":empty",
30 dwp_files = ":empty",
31 dynamic_runtime_lib = ":empty",
32 linker_files = ":empty",
33 objcopy_files = ":empty",
34 output_licenses = ["restricted"],
35 static_runtime_lib = ":empty",
36 strip_files = ":empty",
37 toolchain_config = ":" + cpu + "-config",
Deanna Garcia33f3c0e2021-09-22 19:44:04 +000038 toolchain_identifier = toolchain,
Deanna Garcia5532dae2021-09-22 18:30:53 +000039 )
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +000040 for cpu, toolchain in TOOLCHAINS.items()
Deanna Garcia5532dae2021-09-22 18:30:53 +000041]
42
43cc_toolchain_config(
Deanna Garcia9a4c48a2022-04-06 17:42:12 +000044 name = "k8-config",
45 linker_path = "/usr/bin/ld",
46 sysroot = "/opt/manylinux/2014/x86_64",
47 target_cpu = "x86_64",
48 target_full_name = "x86_64-linux-gnu",
49)
50
51cc_toolchain_config(
Deanna Garciaa793c7f2021-10-05 17:49:50 +000052 name = "linux-aarch_64-config",
Joshua Haberman9d018992022-02-15 18:02:10 -080053 sysroot = "/opt/manylinux/2014/aarch64",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +000054 linker_path = "/usr/bin/ld",
Deanna Garcia5532dae2021-09-22 18:30:53 +000055 target_cpu = "aarch64",
56 target_full_name = "aarch64-linux-gnu",
Deanna Garcia5532dae2021-09-22 18:30:53 +000057)
58
59cc_toolchain_config(
Deanna Garciaa793c7f2021-10-05 17:49:50 +000060 name = "linux-ppcle_64-config",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +000061 linker_path = "/usr/bin/ld",
Deanna Garcia02be7a02022-03-09 23:34:31 +000062 sysroot = "/opt/manylinux/2014/ppc64le",
Deanna Garcia5532dae2021-09-22 18:30:53 +000063 target_cpu = "ppc64",
64 target_full_name = "powerpc64le-linux-gnu",
Deanna Garcia5532dae2021-09-22 18:30:53 +000065)
66
67cc_toolchain_config(
Deanna Garciaa793c7f2021-10-05 17:49:50 +000068 name = "linux-s390_64-config",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +000069 linker_path = "/usr/bin/ld",
Deanna Garcia02be7a02022-03-09 23:34:31 +000070 sysroot = "/opt/manylinux/2014/s390x",
Deanna Garcia5532dae2021-09-22 18:30:53 +000071 target_cpu = "systemz",
72 target_full_name = "s390x-linux-gnu",
Deanna Garcia5532dae2021-09-22 18:30:53 +000073)
74
75cc_toolchain_config(
Deanna Garcia33f3c0e2021-09-22 19:44:04 +000076 name = "linux-x86_32-config",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +000077 linker_path = "/usr/bin/ld",
Deanna Garcia02be7a02022-03-09 23:34:31 +000078 sysroot = "/opt/manylinux/2014/i686",
Deanna Garcia5532dae2021-09-22 18:30:53 +000079 target_cpu = "x86_32",
80 target_full_name = "i386-linux-gnu",
Deanna Garcia5532dae2021-09-22 18:30:53 +000081)
82
83cc_toolchain_config(
Deanna Garcia33f3c0e2021-09-22 19:44:04 +000084 name = "linux-x86_64-config",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +000085 linker_path = "/usr/bin/ld",
Deanna Garcia02be7a02022-03-09 23:34:31 +000086 sysroot = "/opt/manylinux/2014/x86_64",
Deanna Garcia5532dae2021-09-22 18:30:53 +000087 target_cpu = "x86_64",
88 target_full_name = "x86_64-linux-gnu",
Deanna Garcia5532dae2021-09-22 18:30:53 +000089)
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +000090
91cc_toolchain_config(
deannagarciaa49dbd72021-11-22 10:14:26 -080092 name = "osx-aarch_64-config",
Deanna Garciaa8639722021-12-03 18:34:37 +000093 extra_compiler_flags = [
Deanna Garciadda7ffd2022-10-11 21:13:55 +000094 "-I/usr/tools/xcode_14_0/macosx/usr/include/c++/v1",
95 "-I/usr/tools/xcode_14_0/macosx/usr/include",
96 "-F/usr/tools/xcode_14_0/macosx/System/Library/Frameworks",
97 "-Wno-error=nullability-completeness",
98 "-Wno-error=availability",
99 "-Wno-error=elaborated-enum-base",
Deanna Garcia97c901c2021-11-10 21:27:20 +0000100 ],
Deanna Garciadda7ffd2022-10-11 21:13:55 +0000101 extra_linker_flags = ["-framework CoreFoundation"],
deannagarciaa1622732021-11-16 11:38:16 -0800102 linker_path = "/usr/tools",
Deanna Garciadda7ffd2022-10-11 21:13:55 +0000103 sysroot = "/usr/tools/xcode_14_0/macosx",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +0000104 target_cpu = "aarch64",
Joshua Haberman0d8ac762022-10-24 10:33:34 -0700105 target_full_name = "aarch64-apple-macosx10.9",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +0000106)
107
108cc_toolchain_config(
deannagarciaa49dbd72021-11-22 10:14:26 -0800109 name = "osx-x86_64-config",
Deanna Garciaa8639722021-12-03 18:34:37 +0000110 extra_compiler_flags = [
Deanna Garciadda7ffd2022-10-11 21:13:55 +0000111 "-I/usr/tools/xcode_14_0/macosx/usr/include/c++/v1",
112 "-I/usr/tools/xcode_14_0/macosx/usr/include",
113 "-F/usr/tools/xcode_14_0/macosx/System/Library/Frameworks",
114 "-Wno-error=nullability-completeness",
115 "-Wno-error=availability",
116 "-Wno-error=elaborated-enum-base",
Deanna Garcia97c901c2021-11-10 21:27:20 +0000117 ],
Deanna Garciadda7ffd2022-10-11 21:13:55 +0000118 extra_linker_flags = ["-framework CoreFoundation"],
deannagarciaa1622732021-11-16 11:38:16 -0800119 linker_path = "/usr/tools",
Deanna Garciadda7ffd2022-10-11 21:13:55 +0000120 sysroot = "/usr/tools/xcode_14_0/macosx",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +0000121 target_cpu = "x86_64",
Joshua Haberman0d8ac762022-10-24 10:33:34 -0700122 target_full_name = "x86_64-apple-macosx10.9",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +0000123)
Deanna Garcia73c57032021-11-24 19:48:16 +0000124
125cc_toolchain_config(
126 name = "win32-config",
Deanna Garciaa8639722021-12-03 18:34:37 +0000127 extra_compiler_flags = [
deannagarciab360b9e2021-12-16 15:07:05 -0800128 "-isystem/usr/lib/gcc/i686-w64-mingw32/8.3-posix/include/c++",
129 "-isystem/usr/lib/gcc/i686-w64-mingw32/8.3-posix/include/c++/i686-w64-mingw32",
Deanna Garciaa8639722021-12-03 18:34:37 +0000130 "-fsjlj-exceptions",
131 ],
Deanna Garcia202ec9e2022-03-14 17:33:08 +0000132 extra_include = "/usr/lib/gcc/i686-w64-mingw32",
Deanna Garciaa8639722021-12-03 18:34:37 +0000133 extra_linker_flags = [
134 "-L/usr/lib/gcc/i686-w64-mingw32/8.3-posix",
Deanna Garciadda7ffd2022-10-11 21:13:55 +0000135 "-ldbghelp",
Deanna Garciaa8639722021-12-03 18:34:37 +0000136 "-pthread",
Deanna Garcia73c57032021-11-24 19:48:16 +0000137 ],
138 linker_path = "/usr/bin/ld",
Deanna Garcia202ec9e2022-03-14 17:33:08 +0000139 sysroot = "/usr/i686-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000140 target_cpu = "x86_32",
141 target_full_name = "i686-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000142)
143
144cc_toolchain_config(
145 name = "win64-config",
Deanna Garciaa8639722021-12-03 18:34:37 +0000146 extra_compiler_flags = [
deannagarciab360b9e2021-12-16 15:07:05 -0800147 "-isystem/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include/c++/",
148 "-isystem/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include/c++/x86_64-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000149 ],
Deanna Garciaa8639722021-12-03 18:34:37 +0000150 extra_include = "/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include",
151 extra_linker_flags = [
152 "-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix",
Deanna Garciadda7ffd2022-10-11 21:13:55 +0000153 "-ldbghelp",
Deanna Garciaa8639722021-12-03 18:34:37 +0000154 ],
Deanna Garcia73c57032021-11-24 19:48:16 +0000155 linker_path = "/usr/bin/ld",
Deanna Garcia202ec9e2022-03-14 17:33:08 +0000156 sysroot = "/usr/x86_64-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000157 target_cpu = "x86_64",
158 target_full_name = "x86_64-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000159)