load("@bazel_skylib//rules:common_settings.bzl", "string_flag") load("//python:versions.bzl", "MINOR_MAPPING", "TOOL_VERSIONS") load( "//python/private:flags.bzl", "BootstrapImplFlag", "ExecToolsToolchainFlag", "PrecompileAddToRunfilesFlag", "PrecompileFlag", "PrecompileSourceRetentionFlag", "PycCollectionFlag", ) load( "//python/private/pypi:flags.bzl", "UniversalWhlFlag", "UseWhlFlag", "WhlLibcFlag", "define_pypi_internal_flags", ) load(":config_settings.bzl", "construct_config_settings") filegroup( name = "distribution", srcs = glob(["**"]) + [ "//python/config_settings/private:distribution", ], visibility = ["//python:__pkg__"], ) construct_config_settings( name = "construct_config_settings", minor_mapping = MINOR_MAPPING, versions = TOOL_VERSIONS.keys(), ) string_flag( name = "exec_tools_toolchain", build_setting_default = ExecToolsToolchainFlag.DISABLED, values = sorted(ExecToolsToolchainFlag.__members__.values()), # NOTE: Only public because it is used in py_toolchain_suite from toolchain # repositories visibility = ["//visibility:private"], ) config_setting( name = "is_exec_tools_toolchain_enabled", flag_values = { "exec_tools_toolchain": ExecToolsToolchainFlag.ENABLED, }, # NOTE: Only public because it is used in py_toolchain_suite from toolchain # repositories visibility = ["//visibility:public"], ) string_flag( name = "precompile", build_setting_default = PrecompileFlag.AUTO, values = sorted(PrecompileFlag.__members__.values()), # NOTE: Only public because it's an implicit dependency visibility = ["//visibility:public"], ) string_flag( name = "precompile_source_retention", build_setting_default = PrecompileSourceRetentionFlag.AUTO, values = sorted(PrecompileSourceRetentionFlag.__members__.values()), # NOTE: Only public because it's an implicit dependency visibility = ["//visibility:public"], ) string_flag( name = "precompile_add_to_runfiles", build_setting_default = PrecompileAddToRunfilesFlag.ALWAYS, values = sorted(PrecompileAddToRunfilesFlag.__members__.values()), # NOTE: Only public because it's an implicit dependency visibility = ["//visibility:public"], ) string_flag( name = "pyc_collection", build_setting_default = PycCollectionFlag.DISABLED, values = sorted(PycCollectionFlag.__members__.values()), # NOTE: Only public because it's an implicit dependency visibility = ["//visibility:public"], ) string_flag( name = "bootstrap_impl", build_setting_default = BootstrapImplFlag.SYSTEM_PYTHON, values = sorted(BootstrapImplFlag.__members__.values()), # NOTE: Only public because it's an implicit dependency visibility = ["//visibility:public"], ) # This is used for pip and hermetic toolchain resolution. string_flag( name = "py_linux_libc", build_setting_default = WhlLibcFlag.GLIBC, values = sorted(WhlLibcFlag.__members__.values()), # NOTE: Only public because it is used in pip hub and toolchain repos. visibility = ["//visibility:public"], ) # pip.parse related flags string_flag( name = "pip_whl", build_setting_default = UseWhlFlag.AUTO, values = sorted(UseWhlFlag.__members__.values()), # NOTE: Only public because it is used in pip hub repos. visibility = ["//visibility:public"], ) config_setting( name = "is_pip_whl_auto", flag_values = { ":pip_whl": UseWhlFlag.AUTO, }, # NOTE: Only public because it is used in pip hub repos. visibility = ["//visibility:public"], ) config_setting( name = "is_pip_whl_no", flag_values = { ":pip_whl": UseWhlFlag.NO, }, # NOTE: Only public because it is used in pip hub repos. visibility = ["//visibility:public"], ) config_setting( name = "is_pip_whl_only", flag_values = { ":pip_whl": UseWhlFlag.ONLY, }, # NOTE: Only public because it is used in pip hub repos. visibility = ["//visibility:public"], ) string_flag( name = "pip_whl_osx_arch", build_setting_default = UniversalWhlFlag.ARCH, values = sorted(UniversalWhlFlag.__members__.values()), # NOTE: Only public because it is used in pip hub repos. visibility = ["//visibility:public"], ) string_flag( name = "pip_whl_glibc_version", build_setting_default = "", # NOTE: Only public because it is used in pip hub repos. visibility = ["//visibility:public"], ) string_flag( name = "pip_whl_muslc_version", build_setting_default = "", # NOTE: Only public because it is used in pip hub repos. visibility = ["//visibility:public"], ) string_flag( name = "pip_whl_osx_version", build_setting_default = "", # NOTE: Only public because it is used in pip hub repos. visibility = ["//visibility:public"], ) define_pypi_internal_flags( name = "define_pypi_internal_flags", )