blob: b171c227b9ec007d521f21722923a0df1d9e6ff9 [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 = [
deannagarciaa1622732021-11-16 11:38:16 -080094 "-I/usr/tools/apple_sdks/xcode_13_0/macosx/usr/include/c++/v1",
95 "-I/usr/tools/apple_sdks/xcode_13_0/macosx/usr/include"
Deanna Garcia97c901c2021-11-10 21:27:20 +000096 ],
deannagarciaa1622732021-11-16 11:38:16 -080097 linker_path = "/usr/tools",
Deanna Garcia8608ee92021-11-19 22:56:15 +000098 sysroot = "/usr/tools/apple_sdks/xcode_13_0/macosx",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +000099 target_cpu = "aarch64",
100 target_full_name = "aarch64-apple-macosx11.3",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +0000101)
102
103cc_toolchain_config(
deannagarciaa49dbd72021-11-22 10:14:26 -0800104 name = "osx-x86_64-config",
Deanna Garciaa8639722021-12-03 18:34:37 +0000105 extra_compiler_flags = [
deannagarciaa1622732021-11-16 11:38:16 -0800106 "-I/usr/tools/apple_sdks/xcode_13_0/macosx/usr/include/c++/v1",
107 "-I/usr/tools/apple_sdks/xcode_13_0/macosx/usr/include"
Deanna Garcia97c901c2021-11-10 21:27:20 +0000108 ],
deannagarciaa1622732021-11-16 11:38:16 -0800109 linker_path = "/usr/tools",
Deanna Garcia8608ee92021-11-19 22:56:15 +0000110 sysroot = "/usr/tools/apple_sdks/xcode_13_0/macosx",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +0000111 target_cpu = "x86_64",
112 target_full_name = "x86_64-apple-macosx11.3",
Deanna Garciaa5fa4fb2021-11-10 21:12:44 +0000113)
Deanna Garcia73c57032021-11-24 19:48:16 +0000114
115cc_toolchain_config(
116 name = "win32-config",
Deanna Garciaa8639722021-12-03 18:34:37 +0000117 extra_compiler_flags = [
deannagarciab360b9e2021-12-16 15:07:05 -0800118 "-isystem/usr/lib/gcc/i686-w64-mingw32/8.3-posix/include/c++",
119 "-isystem/usr/lib/gcc/i686-w64-mingw32/8.3-posix/include/c++/i686-w64-mingw32",
Deanna Garciaa8639722021-12-03 18:34:37 +0000120 "-fsjlj-exceptions",
121 ],
Deanna Garcia202ec9e2022-03-14 17:33:08 +0000122 extra_include = "/usr/lib/gcc/i686-w64-mingw32",
Deanna Garciaa8639722021-12-03 18:34:37 +0000123 extra_linker_flags = [
124 "-L/usr/lib/gcc/i686-w64-mingw32/8.3-posix",
125 "-pthread",
Deanna Garcia73c57032021-11-24 19:48:16 +0000126 ],
127 linker_path = "/usr/bin/ld",
Deanna Garcia202ec9e2022-03-14 17:33:08 +0000128 sysroot = "/usr/i686-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000129 target_cpu = "x86_32",
130 target_full_name = "i686-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000131)
132
133cc_toolchain_config(
134 name = "win64-config",
Deanna Garciaa8639722021-12-03 18:34:37 +0000135 extra_compiler_flags = [
deannagarciab360b9e2021-12-16 15:07:05 -0800136 "-isystem/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include/c++/",
137 "-isystem/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include/c++/x86_64-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000138 ],
Deanna Garciaa8639722021-12-03 18:34:37 +0000139 extra_include = "/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include",
140 extra_linker_flags = [
141 "-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix",
142 ],
Deanna Garcia73c57032021-11-24 19:48:16 +0000143 linker_path = "/usr/bin/ld",
Deanna Garcia202ec9e2022-03-14 17:33:08 +0000144 sysroot = "/usr/x86_64-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000145 target_cpu = "x86_64",
146 target_full_name = "x86_64-w64-mingw32",
Deanna Garcia73c57032021-11-24 19:48:16 +0000147)