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

# This is defined here so it is visible in all child subdirectories.
mask_rom_tests = {
  # 'test_name': {
  #   'library': test_lib,
  #   'dv_frames': true/false, # (can be omitted, defaults to `false`)
  # },
}

subdir('lib')
subdir('mask_rom')
subdir('rom_ext')
subdir('testing')
