mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-24 22:07:43 -04:00
Define supported tool versions in tool_requirements.py, and check them in a fusesoc run. If an unsupported tool version is found, fusesoc outputs an error like this: ``` $ fusesoc --cores-root . run --target=lint lowrisc:ibex:ibex_core INFO: Preparing lowrisc:ibex:check_tool_requirements:0.1 INFO: Preparing lowrisc:prim:assert:0.1 INFO: Preparing lowrisc:ibex:sim_shared:0 INFO: Preparing lowrisc:ibex:ibex_core:0.1 INFO: Setting up project INFO: Running pre_build script check_tool_requirements ERROR: verilator is too old: found version 4.010, need at least 4.028 ERROR: Tool requirements not fulfilled. Please update the tools and retry. ERROR: Failed to build lowrisc:ibex:ibex_core:0.1 : pre_build script 'check_tool_requirements' exited with error code 1 ``` The only version checked at this point is Verilator, which is set somewhat arbitrarily to the version used by me (and I know it works). CI uses a slightly newer version. As we are about to merge changes soon which require a newer Verilator version, there's not much point in finding the oldest supported version right now.
31 lines
934 B
Text
31 lines
934 B
Text
CAPI=2:
|
|
# Copyright lowRISC contributors.
|
|
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
name: "lowrisc:ibex:check_tool_requirements:0.1"
|
|
description: "Check tool requirements"
|
|
|
|
filesets:
|
|
files_check_tool_requirements:
|
|
files:
|
|
- ./util/check_tool_requirements.py : { copyto: util/check_tool_requirements.py }
|
|
- ./tool_requirements.py : { copyto: tool_requirements.py }
|
|
|
|
scripts:
|
|
check_tool_requirements:
|
|
cmd:
|
|
- python3
|
|
- util/check_tool_requirements.py
|
|
# TODO: Use this syntax once https://github.com/olofk/fusesoc/issues/353 is
|
|
# fixed. Remove the filesets from the default target, and also remove the
|
|
# copyto.
|
|
#filesets:
|
|
# - files_check_tool_requirements
|
|
|
|
targets:
|
|
default:
|
|
filesets:
|
|
- files_check_tool_requirements
|
|
hooks:
|
|
pre_build:
|
|
- tool_verilator ? (check_tool_requirements)
|