mirror of
https://github.com/chipsalliance/f4pga.git
synced 2025-01-03 03:43:37 -05:00
cd2ad7144c
Signed-off-by: Krzysztof Boronski <kboronski@antmicro.com>
47 lines
No EOL
2.4 KiB
Markdown
47 lines
No EOL
2.4 KiB
Markdown
# sfbuild module "generic_script_wrapper"
|
|
|
|
##### _Category: Common_
|
|
|
|
-------------------------------
|
|
|
|
This module provides a way to integrate an external command into an sfbuild flow.
|
|
Its inputs and outputs are fully defined by the author of flow definition.
|
|
|
|
## Setup
|
|
|
|
### 1. Parameters
|
|
|
|
Parameters are everything when it comes to this module:
|
|
|
|
* `stage_name` (string, optional): Name describing the stage
|
|
* `script` (string, mandatory): Path to the script to be executed
|
|
* `interpreter` (string, optional): Interpreter for the script
|
|
* `cwd` (string, optional): Current Working Directory for the script
|
|
* `outputs` (dict[string -> dict[string -> string]],
|
|
mandatory):
|
|
A dict with output descriptions (dicts). Keys name output dependencies.
|
|
* `mode` (string, mandatory): "file" or "stdout". Describes how the output is
|
|
grabbed from the script.
|
|
* `file` (string, required if `mode` is "file"): Name of the file generated by the
|
|
script.
|
|
* `target` (string, required): Default name of the file of the generated
|
|
dependency. You can use all values available durng map_io stage. Each input
|
|
dependency alsogets two extra values associated with it:
|
|
`:dependency_name[noext]`, which contains the path to the dependency the
|
|
extension with anything after last "." removed and `:dependency_name[dir]` which
|
|
contains directory paths of the dependency. This is useful for deriving an output
|
|
name from the input.
|
|
* `meta` (string, optional): Description of the output dependency.
|
|
* `inputs` (dict[string -> string | bool], mandatory):
|
|
A dict with input descriptions. Key is can be a name of a named argument, a
|
|
position of unnamed argument, when prefaced with "#" (eg. "#1"), or a name of an
|
|
environmental variable, when prefaced with "$". Positions are indexed
|
|
from 1, as it's a convention that 0th argument is the path of the executed program.
|
|
Values are strings that can contain references to variables to be resolved
|
|
after the project flow configuration is loaded (that means they can reference
|
|
values and dependencies which are to be set by the user). All of modules inputs
|
|
will be determined by the references used. Thus dependency and value definitions
|
|
are implicit. If the value of the resolved string is empty and is associated with a
|
|
named argument, the argument in question will be skipped entirely. This allows
|
|
using optional dependencies. To use a named argument as a flag instead, set it to
|
|
`true`. |