load("@rules_perl//perl:toolchain.bzl", "perl_toolchain")
load(":toolchain.bzl", "SUPPORTED_TARGETS", "TOOLCHAINS", "toolchain_for")

package(default_visibility = ["//visibility:public"])

[
    toolchain_for(
        name = name,
        config = config,
    )
    for name, config in TOOLCHAINS.items()
]

# rules_perl wiring

[
    [
        perl_toolchain(
            name = "rules_perl_%s_toolchain_impl" % target.tuple,
            runtime = [
                "@toolchain-bundle-%s//:perl_runtime" % target.triple,
            ],
        ),
        toolchain(
            name = "rules_perl_%s_toolchain" % target.tuple,
            exec_compatible_with = target.constrain,
            toolchain = ":rules_perl_%s_toolchain_impl" % target.tuple,
            toolchain_type = "@rules_perl//perl:toolchain_type",
        ),
    ]
    for target in SUPPORTED_TARGETS
]
