# Copyright 2019 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

# Note that project-wide, bazel repo aliases are used. Various scripts and helpers operate on the
# following prefixes textually, so avoid doing any systematic construction that would break the
# matching.
#
#  "@absl_py//absl/"
#  "@com_google_absl//absl/"
#  "@com_google_absl//absl/"
#  "@bazel_skylib//"
#  "@com_google_benchmark//"
#  "@cpuinfo//"
#  "@cuda//"
#  "@com_github_dvidelabs_flatcc//"
#  "@com_google_googletest//"
#  "@llvm-project//"
#  "@mlir-hlo//"
#  "@iree_pybind11//"
#  "@renderdoc_api//"
#  "@spirv_cross//"
#  "@com_google_tracing_framework_cpp//"
#  "@iree_vulkan_headers//"

package(
    default_visibility = ["//visibility:public"],
    features = ["layering_check"],
    licenses = ["notice"],  # Apache 2.0
)
