# 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",
        "@lowrisc_opentitan//hw/lint:BUILD",
        "@lowrisc_opentitan//hw/vendor:BUILD",
        "@axi2sramcrs//:BUILD",
        "@isp_yocto//:BUILD",
    ] + select({
        "//rules:airgapped_env": [
            "@fastvdma_core//:fastvdma.core",
            "@kelvin_core//:kelvin.core",
        ],
        "//conditions:default": [
            "//hw/ip/dma/chisel:fastvdma.core",
            "@kelvin_hw//hdl/chisel:kelvin.core",
        ],
    }),
)
