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",
    "PrecompileFlag",
    "PrecompileSourceRetentionFlag",
)
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",
    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 = 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",
)
