xref: /aosp_15_r20/external/protobuf/toolchain/BUILD.bazel (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Workerload(":cc_toolchain_config.bzl", "cc_toolchain_config")
2*1b3f573fSAndroid Build Coastguard Worker
3*1b3f573fSAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"])
4*1b3f573fSAndroid Build Coastguard Worker
5*1b3f573fSAndroid Build Coastguard Workerfilegroup(name = "empty")
6*1b3f573fSAndroid Build Coastguard Worker
7*1b3f573fSAndroid Build Coastguard WorkerTOOLCHAINS = {
8*1b3f573fSAndroid Build Coastguard Worker    "osx-x86_64": "cc-compiler-osx-x86_64",
9*1b3f573fSAndroid Build Coastguard Worker    "osx-aarch_64": "cc-compiler-osx-aarch_64",
10*1b3f573fSAndroid Build Coastguard Worker    "linux-aarch_64": "cc-compiler-linux-aarch_64",
11*1b3f573fSAndroid Build Coastguard Worker    "linux-ppcle_64": "cc-compiler-linux-ppcle_64",
12*1b3f573fSAndroid Build Coastguard Worker    "linux-s390_64": "cc-compiler-linux-s390_64",
13*1b3f573fSAndroid Build Coastguard Worker    "linux-x86_32": "cc-compiler-linux-x86_32",
14*1b3f573fSAndroid Build Coastguard Worker    "linux-x86_64": "cc-compiler-linux-x86_64",
15*1b3f573fSAndroid Build Coastguard Worker    "win32": "cc-compiler-windows-x86_32",
16*1b3f573fSAndroid Build Coastguard Worker    "win64": "cc-compiler-windows-x86_64",
17*1b3f573fSAndroid Build Coastguard Worker    "k8": "cc-compiler-k8",
18*1b3f573fSAndroid Build Coastguard Worker}
19*1b3f573fSAndroid Build Coastguard Worker
20*1b3f573fSAndroid Build Coastguard Workercc_toolchain_suite(
21*1b3f573fSAndroid Build Coastguard Worker    name = "clang_suite",
22*1b3f573fSAndroid Build Coastguard Worker    toolchains = TOOLCHAINS
23*1b3f573fSAndroid Build Coastguard Worker)
24*1b3f573fSAndroid Build Coastguard Worker
25*1b3f573fSAndroid Build Coastguard Worker[
26*1b3f573fSAndroid Build Coastguard Worker    cc_toolchain(
27*1b3f573fSAndroid Build Coastguard Worker        name = toolchain,
28*1b3f573fSAndroid Build Coastguard Worker        all_files = ":empty",
29*1b3f573fSAndroid Build Coastguard Worker        compiler_files = ":empty",
30*1b3f573fSAndroid Build Coastguard Worker        dwp_files = ":empty",
31*1b3f573fSAndroid Build Coastguard Worker        dynamic_runtime_lib = ":empty",
32*1b3f573fSAndroid Build Coastguard Worker        linker_files = ":empty",
33*1b3f573fSAndroid Build Coastguard Worker        objcopy_files = ":empty",
34*1b3f573fSAndroid Build Coastguard Worker        output_licenses = ["restricted"],
35*1b3f573fSAndroid Build Coastguard Worker        static_runtime_lib = ":empty",
36*1b3f573fSAndroid Build Coastguard Worker        strip_files = ":empty",
37*1b3f573fSAndroid Build Coastguard Worker        toolchain_config = ":" + cpu + "-config",
38*1b3f573fSAndroid Build Coastguard Worker        toolchain_identifier = toolchain,
39*1b3f573fSAndroid Build Coastguard Worker    )
40*1b3f573fSAndroid Build Coastguard Worker    for cpu, toolchain in TOOLCHAINS.items()
41*1b3f573fSAndroid Build Coastguard Worker]
42*1b3f573fSAndroid Build Coastguard Worker
43*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
44*1b3f573fSAndroid Build Coastguard Worker    name = "k8-config",
45*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/bin/ld",
46*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/opt/manylinux/2014/x86_64",
47*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "x86_64",
48*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "x86_64-linux-gnu",
49*1b3f573fSAndroid Build Coastguard Worker)
50*1b3f573fSAndroid Build Coastguard Worker
51*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
52*1b3f573fSAndroid Build Coastguard Worker    name = "linux-aarch_64-config",
53*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/opt/manylinux/2014/aarch64",
54*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/bin/ld",
55*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "aarch64",
56*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "aarch64-linux-gnu",
57*1b3f573fSAndroid Build Coastguard Worker)
58*1b3f573fSAndroid Build Coastguard Worker
59*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
60*1b3f573fSAndroid Build Coastguard Worker    name = "linux-ppcle_64-config",
61*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/bin/ld",
62*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/opt/manylinux/2014/ppc64le",
63*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "ppc64",
64*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "powerpc64le-linux-gnu",
65*1b3f573fSAndroid Build Coastguard Worker)
66*1b3f573fSAndroid Build Coastguard Worker
67*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
68*1b3f573fSAndroid Build Coastguard Worker    name = "linux-s390_64-config",
69*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/bin/ld",
70*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/opt/manylinux/2014/s390x",
71*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "systemz",
72*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "s390x-linux-gnu",
73*1b3f573fSAndroid Build Coastguard Worker)
74*1b3f573fSAndroid Build Coastguard Worker
75*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
76*1b3f573fSAndroid Build Coastguard Worker    name = "linux-x86_32-config",
77*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/bin/ld",
78*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/opt/manylinux/2014/i686",
79*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "x86_32",
80*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "i386-linux-gnu",
81*1b3f573fSAndroid Build Coastguard Worker)
82*1b3f573fSAndroid Build Coastguard Worker
83*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
84*1b3f573fSAndroid Build Coastguard Worker    name = "linux-x86_64-config",
85*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/bin/ld",
86*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/opt/manylinux/2014/x86_64",
87*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "x86_64",
88*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "x86_64-linux-gnu",
89*1b3f573fSAndroid Build Coastguard Worker)
90*1b3f573fSAndroid Build Coastguard Worker
91*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
92*1b3f573fSAndroid Build Coastguard Worker    name = "osx-aarch_64-config",
93*1b3f573fSAndroid Build Coastguard Worker    extra_compiler_flags = [
94*1b3f573fSAndroid Build Coastguard Worker        "-I/usr/tools/xcode_14_0/macosx/usr/include/c++/v1",
95*1b3f573fSAndroid Build Coastguard Worker        "-I/usr/tools/xcode_14_0/macosx/usr/include",
96*1b3f573fSAndroid Build Coastguard Worker        "-F/usr/tools/xcode_14_0/macosx/System/Library/Frameworks",
97*1b3f573fSAndroid Build Coastguard Worker        "-Wno-error=nullability-completeness",
98*1b3f573fSAndroid Build Coastguard Worker        "-Wno-error=availability",
99*1b3f573fSAndroid Build Coastguard Worker        "-Wno-error=elaborated-enum-base",
100*1b3f573fSAndroid Build Coastguard Worker    ],
101*1b3f573fSAndroid Build Coastguard Worker    extra_linker_flags = ["-framework CoreFoundation"],
102*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/tools",
103*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/usr/tools/xcode_14_0/macosx",
104*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "aarch64",
105*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "aarch64-apple-macosx10.9",
106*1b3f573fSAndroid Build Coastguard Worker)
107*1b3f573fSAndroid Build Coastguard Worker
108*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
109*1b3f573fSAndroid Build Coastguard Worker    name = "osx-x86_64-config",
110*1b3f573fSAndroid Build Coastguard Worker    extra_compiler_flags = [
111*1b3f573fSAndroid Build Coastguard Worker        "-I/usr/tools/xcode_14_0/macosx/usr/include/c++/v1",
112*1b3f573fSAndroid Build Coastguard Worker        "-I/usr/tools/xcode_14_0/macosx/usr/include",
113*1b3f573fSAndroid Build Coastguard Worker        "-F/usr/tools/xcode_14_0/macosx/System/Library/Frameworks",
114*1b3f573fSAndroid Build Coastguard Worker        "-Wno-error=nullability-completeness",
115*1b3f573fSAndroid Build Coastguard Worker        "-Wno-error=availability",
116*1b3f573fSAndroid Build Coastguard Worker        "-Wno-error=elaborated-enum-base",
117*1b3f573fSAndroid Build Coastguard Worker    ],
118*1b3f573fSAndroid Build Coastguard Worker    extra_linker_flags = ["-framework CoreFoundation"],
119*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/tools",
120*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/usr/tools/xcode_14_0/macosx",
121*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "x86_64",
122*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "x86_64-apple-macosx10.9",
123*1b3f573fSAndroid Build Coastguard Worker)
124*1b3f573fSAndroid Build Coastguard Worker
125*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
126*1b3f573fSAndroid Build Coastguard Worker    name = "win32-config",
127*1b3f573fSAndroid Build Coastguard Worker    extra_compiler_flags = [
128*1b3f573fSAndroid Build Coastguard Worker        "-isystem/usr/lib/gcc/i686-w64-mingw32/8.3-posix/include/c++",
129*1b3f573fSAndroid Build Coastguard Worker        "-isystem/usr/lib/gcc/i686-w64-mingw32/8.3-posix/include/c++/i686-w64-mingw32",
130*1b3f573fSAndroid Build Coastguard Worker        "-fsjlj-exceptions",
131*1b3f573fSAndroid Build Coastguard Worker    ],
132*1b3f573fSAndroid Build Coastguard Worker    extra_include = "/usr/lib/gcc/i686-w64-mingw32",
133*1b3f573fSAndroid Build Coastguard Worker    extra_linker_flags = [
134*1b3f573fSAndroid Build Coastguard Worker        "-L/usr/lib/gcc/i686-w64-mingw32/8.3-posix",
135*1b3f573fSAndroid Build Coastguard Worker        "-ldbghelp",
136*1b3f573fSAndroid Build Coastguard Worker        "-pthread",
137*1b3f573fSAndroid Build Coastguard Worker    ],
138*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/bin/ld",
139*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/usr/i686-w64-mingw32",
140*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "x86_32",
141*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "i686-w64-mingw32",
142*1b3f573fSAndroid Build Coastguard Worker)
143*1b3f573fSAndroid Build Coastguard Worker
144*1b3f573fSAndroid Build Coastguard Workercc_toolchain_config(
145*1b3f573fSAndroid Build Coastguard Worker    name = "win64-config",
146*1b3f573fSAndroid Build Coastguard Worker    extra_compiler_flags = [
147*1b3f573fSAndroid Build Coastguard Worker        "-isystem/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include/c++/",
148*1b3f573fSAndroid Build Coastguard Worker        "-isystem/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include/c++/x86_64-w64-mingw32",
149*1b3f573fSAndroid Build Coastguard Worker    ],
150*1b3f573fSAndroid Build Coastguard Worker    extra_include = "/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include",
151*1b3f573fSAndroid Build Coastguard Worker    extra_linker_flags = [
152*1b3f573fSAndroid Build Coastguard Worker        "-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-posix",
153*1b3f573fSAndroid Build Coastguard Worker        "-ldbghelp",
154*1b3f573fSAndroid Build Coastguard Worker    ],
155*1b3f573fSAndroid Build Coastguard Worker    linker_path = "/usr/bin/ld",
156*1b3f573fSAndroid Build Coastguard Worker    sysroot = "/usr/x86_64-w64-mingw32",
157*1b3f573fSAndroid Build Coastguard Worker    target_cpu = "x86_64",
158*1b3f573fSAndroid Build Coastguard Worker    target_full_name = "x86_64-w64-mingw32",
159*1b3f573fSAndroid Build Coastguard Worker)
160