8. criticalup.toml¶
CriticalUp’s per-project configuration resides in a criticalup.toml
manifest that is similar to a rust-toolchain.toml
file
(documentation).
A typical criticalup.toml
manifest looks like this:
manifest-version = 1
[products.ferrocene]
release = "stable-24.05.0"
packages = [
"cargo-${rustc-host}",
"rustc-${rustc-host}",
"rust-std-${rustc-host}",
"llvm-tools-${rustc-host}",
"rust-src"
]
This manifest will install everything the average developer might want for a Ferrocene based project.
8.1. Manifest Settings¶
8.1.1. manifest-version
¶
The manifest-version
specifies which version of the manifest format should be used.
Currently, only 1
is supported.
manifest-version = 1
8.1.2. products
¶
A map of product
entries, as defined in ‘Product Settings’ below.
Note
Currently CriticalUp only supports one product
entry, this is typically
named ferrocene
.
This will change in the future.
[products.ferrocene]
release = "stable-24.05.0"
packages = [
"rustc-${rustc-host}",
"rust-std-aarch64-unknown-none"
]
8.2. Product Settings¶
8.2.1. release
¶
The desired release of the product, releases are listed on the release channels page.
[products.ferrocene]
release = "stable-24.05.0"
# ...
8.2.2. packages
¶
A set of package names as listed in the release page, for example the stable-24.05.0 release.
Each supported Ferrocene target lists required packages in the on its page under “Compilation Targets” in the Ferrocene User Manual of the release. For example, the X86-64 Linux (glibc) target of the rolling release.
[products.ferrocene]
# ...
packages = [
"rustc-${rustc-host}",
"rust-std-aarch64-unknown-none"
]
If ${rustc-host}
is present within a package name it is replaced with the
full host triple of the build host.