| load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") | |
| load("@rules_cc//cc/toolchains:cc_toolchain.bzl", "cc_toolchain") | |
| load("@rules_cc//cc/toolchains:cc_toolchain_suite.bzl", "cc_toolchain_suite") | |
| load("//build_defs:platforms.bzl", "PLATFORMS") | |
| load(":cc_toolchain_config.bzl", "cc_toolchain_config") | |
| package(default_visibility = ["//visibility:public"]) | |
| filegroup(name = "empty") | |
| bool_flag( | |
| name = "release", | |
| build_setting_default = False, | |
| ) | |
| config_setting( | |
| name = "is_cross_compiling", | |
| flag_values = {":release": "True"}, | |
| ) | |
| [ | |
| cc_toolchain( | |
| name = name + "-cc_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 = ":" + name + "-config", | |
| toolchain_identifier = name + "-cc_toolchain", | |
| ) | |
| for name in PLATFORMS.keys() | |
| ] | |
| [ | |
| toolchain( | |
| name = name + "-toolchain", | |
| target_compatible_with = constraints, | |
| target_settings = [":is_cross_compiling"], | |
| toolchain = ":" + name + "-cc_toolchain", | |
| toolchain_type = "@rules_cc//cc:toolchain_type", | |
| ) | |
| for name, constraints in PLATFORMS.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-macosx12.0", | |
| ) | |
| 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-macosx12.0", | |
| ) | |
| 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", | |
| ], | |
| 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", | |
| ) |