# Copyright 2026 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

load("@rules_python//python:defs.bzl", "py_binary", "py_test")

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

exports_files([
    "amdgpu_device_binaries.py",
    "amdgpu_target_map.py",
    "gen_plugin_abi_hash.py",
    "generate_vm_isa.py",
])

py_binary(
    name = "generate_vm_isa",
    srcs = ["generate_vm_isa.py"],
)

py_test(
    name = "gen_plugin_abi_hash_test",
    srcs = [
        "gen_plugin_abi_hash.py",
        "gen_plugin_abi_hash_test.py",
    ],
    main = "gen_plugin_abi_hash_test.py",
)
