xref: /aosp_15_r20/external/bazelbuild-rules_python/python/config_settings/BUILD.bazel (revision 60517a1edbc8ecf509223e9af94a7adec7d736b8)
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