# Copyright 2023 Google LLC
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0

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

filegroup(
    name = "cores",
    srcs = [
        # Add a file from each directory and let fusesoc to pick the directory.
        "@lowrisc_opentitan//hw/dv:BUILD",
        "@lowrisc_opentitan//hw/ip:BUILD",
        "@kelvin_hw//hdl/chisel:kelvin.core",
        "@lowrisc_opentitan//hw/lint:BUILD",
        "@lowrisc_opentitan//hw/vendor:BUILD",
        # Place the following file to make compilation works
        "//hw:check_tool_requirements.core",
        "@axi2sramcrs//:BUILD",
        "@isp_yocto//:BUILD",
    ],
)
