| load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") |
| load(":cc_toolchain_config.bzl", "cc_toolchain_config") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| filegroup(name = "empty") |
| |
| bool_flag( |
| name = "release", |
| build_setting_default = False, |
| ) |
| |
| TOOLCHAINS = { |
| "osx-x86_64": "cc-compiler-osx-x86_64", |
| "osx-aarch_64": "cc-compiler-osx-aarch_64", |
| "linux-aarch_64": "cc-compiler-linux-aarch_64", |
| "linux-ppcle_64": "cc-compiler-linux-ppcle_64", |
| "linux-s390_64": "cc-compiler-linux-s390_64", |
| "linux-x86_32": "cc-compiler-linux-x86_32", |
| "linux-x86_64": "cc-compiler-linux-x86_64", |
| "win32": "cc-compiler-windows-x86_32", |
| "win64": "cc-compiler-windows-x86_64", |
| "k8": "cc-compiler-k8", |
| } |
| |
| cc_toolchain_suite( |
| name = "clang_suite", |
| toolchains = TOOLCHAINS, |
| ) |
| |
| [ |
| cc_toolchain( |
| name = toolchain, |
| all_files = ":empty", |
| compiler_files = ":empty", |
| dwp_files = ":empty", |
| dynamic_runtime_lib = ":empty", |
| linker_files = ":empty", |
| objcopy_files = ":empty", |
| output_licenses = ["restricted"], |
| static_runtime_lib = ":empty", |
| strip_files = ":empty", |
| toolchain_config = ":" + cpu + "-config", |
| toolchain_identifier = toolchain, |
| ) |
| for cpu, toolchain in TOOLCHAINS.items() |
| ] |
| |
| cc_toolchain_config( |
| name = "k8-config", |
| linker_path = "/usr/bin/ld", |
| sysroot = "/opt/manylinux/2014/x86_64", |
| target_cpu = "x86_64", |
| target_full_name = "x86_64-linux-gnu", |
| ) |
| |
| cc_toolchain_config( |
| name = "linux-aarch_64-config", |
| linker_path = "/usr/bin/ld", |
| sysroot = "/opt/manylinux/2014/aarch64", |
| target_cpu = "aarch64", |
| target_full_name = "aarch64-linux-gnu", |
| ) |
| |
| cc_toolchain_config( |
| name = "linux-ppcle_64-config", |
| linker_path = "/usr/bin/ld", |
| sysroot = "/opt/manylinux/2014/ppc64le", |
| target_cpu = "ppc64", |
| target_full_name = "powerpc64le-linux-gnu", |
| ) |
| |
| cc_toolchain_config( |
| name = "linux-s390_64-config", |
| linker_path = "/usr/bin/ld", |
| sysroot = "/opt/manylinux/2014/s390x", |
| target_cpu = "systemz", |
| target_full_name = "s390x-linux-gnu", |
| ) |
| |
| cc_toolchain_config( |
| name = "linux-x86_32-config", |
| linker_path = "/usr/bin/ld", |
| sysroot = "/opt/manylinux/2014/i686", |
| target_cpu = "x86_32", |
| target_full_name = "i386-linux-gnu", |
| ) |
| |
| cc_toolchain_config( |
| name = "linux-x86_64-config", |
| linker_path = "/usr/bin/ld", |
| sysroot = "/opt/manylinux/2014/x86_64", |
| target_cpu = "x86_64", |
| target_full_name = "x86_64-linux-gnu", |
| ) |
| |
| cc_toolchain_config( |
| name = "osx-aarch_64-config", |
| extra_compiler_flags = [ |
| "-I/usr/tools/xcode_14_0/macosx/usr/include/c++/v1", |
| "-I/usr/tools/xcode_14_0/macosx/usr/include", |
| "-F/usr/tools/xcode_14_0/macosx/System/Library/Frameworks", |
| "-Wno-error=nullability-completeness", |
| "-Wno-error=availability", |
| "-Wno-error=elaborated-enum-base", |
| ], |
| extra_linker_flags = ["-framework CoreFoundation"], |
| linker_path = "/usr/tools", |
| sysroot = "/usr/tools/xcode_14_0/macosx", |
| target_cpu = "aarch64", |
| target_full_name = "aarch64-apple-macosx10.15", |
| ) |
| |
| cc_toolchain_config( |
| name = "osx-x86_64-config", |
| extra_compiler_flags = [ |
| "-I/usr/tools/xcode_14_0/macosx/usr/include/c++/v1", |
| "-I/usr/tools/xcode_14_0/macosx/usr/include", |
| "-F/usr/tools/xcode_14_0/macosx/System/Library/Frameworks", |
| "-Wno-error=nullability-completeness", |
| "-Wno-error=availability", |
| "-Wno-error=elaborated-enum-base", |
| ], |
| extra_linker_flags = ["-framework CoreFoundation"], |
| linker_path = "/usr/tools", |
| sysroot = "/usr/tools/xcode_14_0/macosx", |
| target_cpu = "x86_64", |
| target_full_name = "x86_64-apple-macosx10.15", |
| ) |
| |
| cc_toolchain_config( |
| name = "win32-config", |
| extra_compiler_flags = [ |
| "-isystem/usr/lib/gcc/i686-w64-mingw32/10-posix/include/c++", |
| "-isystem/usr/lib/gcc/i686-w64-mingw32/10-posix/include/c++/i686-w64-mingw32", |
| "-fsjlj-exceptions", |
| ], |
| extra_include = "/usr/lib/gcc/i686-w64-mingw32", |
| extra_linker_flags = [ |
| "-L/usr/lib/gcc/i686-w64-mingw32/10-posix", |
| "-ldbghelp", |
| "-pthread", |
| ], |
| linker_path = "/usr/bin/ld", |
| sysroot = "/usr/i686-w64-mingw32", |
| target_cpu = "x86_32", |
| target_full_name = "i686-w64-mingw32", |
| ) |
| |
| cc_toolchain_config( |
| name = "win64-config", |
| extra_compiler_flags = [ |
| "-isystem/usr/lib/gcc/x86_64-w64-mingw32/10-posix/include/c++/", |
| "-isystem/usr/lib/gcc/x86_64-w64-mingw32/10-posix/include/c++/x86_64-w64-mingw32", |
| ], |
| extra_include = "/usr/lib/gcc/x86_64-w64-mingw32/10-posix/include", |
| extra_linker_flags = [ |
| "-L/usr/lib/gcc/x86_64-w64-mingw32/10-posix", |
| "-ldbghelp", |
| ], |
| linker_path = "/usr/bin/ld", |
| sysroot = "/usr/x86_64-w64-mingw32", |
| target_cpu = "x86_64", |
| target_full_name = "x86_64-w64-mingw32", |
| ) |