# Package for C/C++ specific functionality of the Python rules.

load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("//python/private:bzlmod_enabled.bzl", "BZLMOD_ENABLED")
load("//python/private:current_py_cc_headers.bzl", "current_py_cc_headers")

package(
    default_visibility = ["//:__subpackages__"],
)

# This target provides the C headers for whatever the current toolchain is
# for the consuming rule. It basically acts like a cc_library by forwarding
# on the providers for the underlying cc_library that the toolchain is using.
current_py_cc_headers(
    name = "current_py_cc_headers",
    # Building this directly will fail unless a py cc toolchain is registered,
    # and it's only under bzlmod that one is registered by default.
    tags = [] if BZLMOD_ENABLED else ["manual"],
    visibility = ["//visibility:public"],
)

toolchain_type(
    name = "toolchain_type",
    visibility = ["//visibility:public"],
)

bzl_library(
    name = "py_cc_toolchain_bzl",
    srcs = ["py_cc_toolchain.bzl"],
    visibility = ["//visibility:public"],
    deps = ["//python/private:py_cc_toolchain_bzl"],
)

bzl_library(
    name = "py_cc_toolchain_info_bzl",
    srcs = ["py_cc_toolchain_info.bzl"],
    visibility = ["//visibility:public"],
    deps = ["//python/private:py_cc_toolchain_info_bzl"],
)

filegroup(
    name = "distribution",
    srcs = glob(["**"]),
)
