1*60517a1eSAndroid Build Coastguard Workerload("@bazel_skylib//rules:common_settings.bzl", "string_flag") 2*60517a1eSAndroid Build Coastguard Workerload("//python:versions.bzl", "MINOR_MAPPING", "TOOL_VERSIONS") 3*60517a1eSAndroid Build Coastguard Workerload( 4*60517a1eSAndroid Build Coastguard Worker "//python/private:flags.bzl", 5*60517a1eSAndroid Build Coastguard Worker "BootstrapImplFlag", 6*60517a1eSAndroid Build Coastguard Worker "ExecToolsToolchainFlag", 7*60517a1eSAndroid Build Coastguard Worker "PrecompileAddToRunfilesFlag", 8*60517a1eSAndroid Build Coastguard Worker "PrecompileFlag", 9*60517a1eSAndroid Build Coastguard Worker "PrecompileSourceRetentionFlag", 10*60517a1eSAndroid Build Coastguard Worker "PycCollectionFlag", 11*60517a1eSAndroid Build Coastguard Worker) 12*60517a1eSAndroid Build Coastguard Workerload( 13*60517a1eSAndroid Build Coastguard Worker "//python/private/pypi:flags.bzl", 14*60517a1eSAndroid Build Coastguard Worker "UniversalWhlFlag", 15*60517a1eSAndroid Build Coastguard Worker "UseWhlFlag", 16*60517a1eSAndroid Build Coastguard Worker "WhlLibcFlag", 17*60517a1eSAndroid Build Coastguard Worker "define_pypi_internal_flags", 18*60517a1eSAndroid Build Coastguard Worker) 19*60517a1eSAndroid Build Coastguard Workerload(":config_settings.bzl", "construct_config_settings") 20*60517a1eSAndroid Build Coastguard Worker 21*60517a1eSAndroid Build Coastguard Workerfilegroup( 22*60517a1eSAndroid Build Coastguard Worker name = "distribution", 23*60517a1eSAndroid Build Coastguard Worker srcs = glob(["**"]) + [ 24*60517a1eSAndroid Build Coastguard Worker "//python/config_settings/private:distribution", 25*60517a1eSAndroid Build Coastguard Worker ], 26*60517a1eSAndroid Build Coastguard Worker visibility = ["//python:__pkg__"], 27*60517a1eSAndroid Build Coastguard Worker) 28*60517a1eSAndroid Build Coastguard Worker 29*60517a1eSAndroid Build Coastguard Workerconstruct_config_settings( 30*60517a1eSAndroid Build Coastguard Worker name = "construct_config_settings", 31*60517a1eSAndroid Build Coastguard Worker minor_mapping = MINOR_MAPPING, 32*60517a1eSAndroid Build Coastguard Worker versions = TOOL_VERSIONS.keys(), 33*60517a1eSAndroid Build Coastguard Worker) 34*60517a1eSAndroid Build Coastguard Worker 35*60517a1eSAndroid Build Coastguard Workerstring_flag( 36*60517a1eSAndroid Build Coastguard Worker name = "exec_tools_toolchain", 37*60517a1eSAndroid Build Coastguard Worker build_setting_default = ExecToolsToolchainFlag.DISABLED, 38*60517a1eSAndroid Build Coastguard Worker values = sorted(ExecToolsToolchainFlag.__members__.values()), 39*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in py_toolchain_suite from toolchain 40*60517a1eSAndroid Build Coastguard Worker # repositories 41*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:private"], 42*60517a1eSAndroid Build Coastguard Worker) 43*60517a1eSAndroid Build Coastguard Worker 44*60517a1eSAndroid Build Coastguard Workerconfig_setting( 45*60517a1eSAndroid Build Coastguard Worker name = "is_exec_tools_toolchain_enabled", 46*60517a1eSAndroid Build Coastguard Worker flag_values = { 47*60517a1eSAndroid Build Coastguard Worker "exec_tools_toolchain": ExecToolsToolchainFlag.ENABLED, 48*60517a1eSAndroid Build Coastguard Worker }, 49*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in py_toolchain_suite from toolchain 50*60517a1eSAndroid Build Coastguard Worker # repositories 51*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 52*60517a1eSAndroid Build Coastguard Worker) 53*60517a1eSAndroid Build Coastguard Worker 54*60517a1eSAndroid Build Coastguard Workerstring_flag( 55*60517a1eSAndroid Build Coastguard Worker name = "precompile", 56*60517a1eSAndroid Build Coastguard Worker build_setting_default = PrecompileFlag.AUTO, 57*60517a1eSAndroid Build Coastguard Worker values = sorted(PrecompileFlag.__members__.values()), 58*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it's an implicit dependency 59*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 60*60517a1eSAndroid Build Coastguard Worker) 61*60517a1eSAndroid Build Coastguard Worker 62*60517a1eSAndroid Build Coastguard Workerstring_flag( 63*60517a1eSAndroid Build Coastguard Worker name = "precompile_source_retention", 64*60517a1eSAndroid Build Coastguard Worker build_setting_default = PrecompileSourceRetentionFlag.AUTO, 65*60517a1eSAndroid Build Coastguard Worker values = sorted(PrecompileSourceRetentionFlag.__members__.values()), 66*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it's an implicit dependency 67*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 68*60517a1eSAndroid Build Coastguard Worker) 69*60517a1eSAndroid Build Coastguard Worker 70*60517a1eSAndroid Build Coastguard Workerstring_flag( 71*60517a1eSAndroid Build Coastguard Worker name = "precompile_add_to_runfiles", 72*60517a1eSAndroid Build Coastguard Worker build_setting_default = PrecompileAddToRunfilesFlag.ALWAYS, 73*60517a1eSAndroid Build Coastguard Worker values = sorted(PrecompileAddToRunfilesFlag.__members__.values()), 74*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it's an implicit dependency 75*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 76*60517a1eSAndroid Build Coastguard Worker) 77*60517a1eSAndroid Build Coastguard Worker 78*60517a1eSAndroid Build Coastguard Workerstring_flag( 79*60517a1eSAndroid Build Coastguard Worker name = "pyc_collection", 80*60517a1eSAndroid Build Coastguard Worker build_setting_default = PycCollectionFlag.DISABLED, 81*60517a1eSAndroid Build Coastguard Worker values = sorted(PycCollectionFlag.__members__.values()), 82*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it's an implicit dependency 83*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 84*60517a1eSAndroid Build Coastguard Worker) 85*60517a1eSAndroid Build Coastguard Worker 86*60517a1eSAndroid Build Coastguard Workerstring_flag( 87*60517a1eSAndroid Build Coastguard Worker name = "bootstrap_impl", 88*60517a1eSAndroid Build Coastguard Worker build_setting_default = BootstrapImplFlag.SYSTEM_PYTHON, 89*60517a1eSAndroid Build Coastguard Worker values = sorted(BootstrapImplFlag.__members__.values()), 90*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it's an implicit dependency 91*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 92*60517a1eSAndroid Build Coastguard Worker) 93*60517a1eSAndroid Build Coastguard Worker 94*60517a1eSAndroid Build Coastguard Worker# This is used for pip and hermetic toolchain resolution. 95*60517a1eSAndroid Build Coastguard Workerstring_flag( 96*60517a1eSAndroid Build Coastguard Worker name = "py_linux_libc", 97*60517a1eSAndroid Build Coastguard Worker build_setting_default = WhlLibcFlag.GLIBC, 98*60517a1eSAndroid Build Coastguard Worker values = sorted(WhlLibcFlag.__members__.values()), 99*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in pip hub and toolchain repos. 100*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 101*60517a1eSAndroid Build Coastguard Worker) 102*60517a1eSAndroid Build Coastguard Worker 103*60517a1eSAndroid Build Coastguard Worker# pip.parse related flags 104*60517a1eSAndroid Build Coastguard Worker 105*60517a1eSAndroid Build Coastguard Workerstring_flag( 106*60517a1eSAndroid Build Coastguard Worker name = "pip_whl", 107*60517a1eSAndroid Build Coastguard Worker build_setting_default = UseWhlFlag.AUTO, 108*60517a1eSAndroid Build Coastguard Worker values = sorted(UseWhlFlag.__members__.values()), 109*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in pip hub repos. 110*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 111*60517a1eSAndroid Build Coastguard Worker) 112*60517a1eSAndroid Build Coastguard Worker 113*60517a1eSAndroid Build Coastguard Workerconfig_setting( 114*60517a1eSAndroid Build Coastguard Worker name = "is_pip_whl_auto", 115*60517a1eSAndroid Build Coastguard Worker flag_values = { 116*60517a1eSAndroid Build Coastguard Worker ":pip_whl": UseWhlFlag.AUTO, 117*60517a1eSAndroid Build Coastguard Worker }, 118*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in pip hub repos. 119*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 120*60517a1eSAndroid Build Coastguard Worker) 121*60517a1eSAndroid Build Coastguard Worker 122*60517a1eSAndroid Build Coastguard Workerconfig_setting( 123*60517a1eSAndroid Build Coastguard Worker name = "is_pip_whl_no", 124*60517a1eSAndroid Build Coastguard Worker flag_values = { 125*60517a1eSAndroid Build Coastguard Worker ":pip_whl": UseWhlFlag.NO, 126*60517a1eSAndroid Build Coastguard Worker }, 127*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in pip hub repos. 128*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 129*60517a1eSAndroid Build Coastguard Worker) 130*60517a1eSAndroid Build Coastguard Worker 131*60517a1eSAndroid Build Coastguard Workerconfig_setting( 132*60517a1eSAndroid Build Coastguard Worker name = "is_pip_whl_only", 133*60517a1eSAndroid Build Coastguard Worker flag_values = { 134*60517a1eSAndroid Build Coastguard Worker ":pip_whl": UseWhlFlag.ONLY, 135*60517a1eSAndroid Build Coastguard Worker }, 136*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in pip hub repos. 137*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 138*60517a1eSAndroid Build Coastguard Worker) 139*60517a1eSAndroid Build Coastguard Worker 140*60517a1eSAndroid Build Coastguard Workerstring_flag( 141*60517a1eSAndroid Build Coastguard Worker name = "pip_whl_osx_arch", 142*60517a1eSAndroid Build Coastguard Worker build_setting_default = UniversalWhlFlag.ARCH, 143*60517a1eSAndroid Build Coastguard Worker values = sorted(UniversalWhlFlag.__members__.values()), 144*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in pip hub repos. 145*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 146*60517a1eSAndroid Build Coastguard Worker) 147*60517a1eSAndroid Build Coastguard Worker 148*60517a1eSAndroid Build Coastguard Workerstring_flag( 149*60517a1eSAndroid Build Coastguard Worker name = "pip_whl_glibc_version", 150*60517a1eSAndroid Build Coastguard Worker build_setting_default = "", 151*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in pip hub repos. 152*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 153*60517a1eSAndroid Build Coastguard Worker) 154*60517a1eSAndroid Build Coastguard Worker 155*60517a1eSAndroid Build Coastguard Workerstring_flag( 156*60517a1eSAndroid Build Coastguard Worker name = "pip_whl_muslc_version", 157*60517a1eSAndroid Build Coastguard Worker build_setting_default = "", 158*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in pip hub repos. 159*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 160*60517a1eSAndroid Build Coastguard Worker) 161*60517a1eSAndroid Build Coastguard Worker 162*60517a1eSAndroid Build Coastguard Workerstring_flag( 163*60517a1eSAndroid Build Coastguard Worker name = "pip_whl_osx_version", 164*60517a1eSAndroid Build Coastguard Worker build_setting_default = "", 165*60517a1eSAndroid Build Coastguard Worker # NOTE: Only public because it is used in pip hub repos. 166*60517a1eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 167*60517a1eSAndroid Build Coastguard Worker) 168*60517a1eSAndroid Build Coastguard Worker 169*60517a1eSAndroid Build Coastguard Workerdefine_pypi_internal_flags( 170*60517a1eSAndroid Build Coastguard Worker name = "define_pypi_internal_flags", 171*60517a1eSAndroid Build Coastguard Worker) 172