load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
load("@pythons_hub//:versions.bzl", "DEFAULT_PYTHON_VERSION", "MINOR_MAPPING", "PYTHON_VERSIONS")
load(
    "//python/private:flags.bzl",
    "AddSrcsToRunfilesFlag",
    "BootstrapImplFlag",
    "ExecToolsToolchainFlag",
    "FreeThreadedFlag",
    "LibcFlag",
    "PrecompileFlag",
    "PrecompileSourceRetentionFlag",
)
load(
    "//python/private/pypi:flags.bzl",
    "UniversalWhlFlag",
    "UseWhlFlag",
    "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",
    default_version = DEFAULT_PYTHON_VERSION,
    minor_mapping = MINOR_MAPPING,
    versions = PYTHON_VERSIONS,
)

string_flag(
    name = "add_srcs_to_runfiles",
    build_setting_default = AddSrcsToRunfilesFlag.AUTO,
    values = AddSrcsToRunfilesFlag.flag_values(),
    # NOTE: Only public because it is dependency of public rules.
    visibility = ["//visibility:public"],
)

string_flag(
    name = "exec_tools_toolchain",
    build_setting_default = ExecToolsToolchainFlag.ENABLED,
    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 = "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 = LibcFlag.GLIBC,
    values = LibcFlag.flag_values(),
    # NOTE: Only public because it is used in pip hub and toolchain repos.
    visibility = ["//visibility:public"],
)

string_flag(
    name = "py_freethreaded",
    build_setting_default = FreeThreadedFlag.NO,
    values = sorted(FreeThreadedFlag.__members__.values()),
    visibility = ["//visibility:public"],
)

config_setting(
    name = "is_py_freethreaded",
    flag_values = {":py_freethreaded": FreeThreadedFlag.YES},
    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",
)
