diff --git a/python/private/toolchains_repo.bzl b/python/private/toolchains_repo.bzl index 282859a685..43a2a56529 100644 --- a/python/private/toolchains_repo.bzl +++ b/python/private/toolchains_repo.bzl @@ -87,22 +87,22 @@ def _resolved_interpreter_os_alias_impl(rctx): build_contents = """\ # Generated by python/repositories.bzl package(default_visibility = ["//visibility:public"]) +load("@rules_python//python:versions.bzl", "PLATFORMS", "gen_python_config_settings") +gen_python_config_settings() exports_files(["defs.bzl"]) -alias(name = "files", actual = "@{py_repository}_{host_platform}//:files") -alias(name = "includes", actual = "@{py_repository}_{host_platform}//:includes") -alias(name = "libpython", actual = "@{py_repository}_{host_platform}//:libpython") -alias(name = "py3_runtime", actual = "@{py_repository}_{host_platform}//:py3_runtime") -alias(name = "python_headers", actual = "@{py_repository}_{host_platform}//:python_headers") -alias(name = "python_runtimes", actual = "@{py_repository}_{host_platform}//:python_runtimes") -alias(name = "python3", actual = "@{py_repository}_{host_platform}//:{python3_binary_path}") +alias(name = "files", actual = select({{":" + item: "@{py_repository}_" + item + "//:files" for item in PLATFORMS.keys()}})) +alias(name = "includes", actual = select({{":" + item: "@{py_repository}_" + item + "//:includes" for item in PLATFORMS.keys()}})) +alias(name = "libpython", actual = select({{":" + item: "@{py_repository}_" + item + "//:libpython" for item in PLATFORMS.keys()}})) +alias(name = "py3_runtime", actual = select({{":" + item: "@{py_repository}_" + item + "//:py3_runtime" for item in PLATFORMS.keys()}})) +alias(name = "python_headers", actual = select({{":" + item: "@{py_repository}_" + item + "//:python_headers" for item in PLATFORMS.keys()}})) +alias(name = "python_runtimes", actual = select({{":" + item: "@{py_repository}_" + item + "//:python_runtimes" for item in PLATFORMS.keys()}})) +alias(name = "python3", actual = select({{":" + item: "@{py_repository}_" + item + "//:" + ("python.exe" if "windows" in item else "bin/python3") for item in PLATFORMS.keys()}})) """.format( py_repository = rctx.attr.user_repository_name, - host_platform = host_platform, - python3_binary_path = python3_binary_path, ) if not is_windows: build_contents += """\ -alias(name = "pip", actual = "@{py_repository}_{host_platform}//:bin/pip") +alias(name = "pip", actual = select({{":" + item: "@{py_repository}_" + item + "//:python_runtimes" for item in PLATFORMS.keys() if "windows" not in item}})) """.format( py_repository = rctx.attr.user_repository_name, host_platform = host_platform,