Top level
package
target
| Field | Type |
|---|
name | string |
compiler | string |
linker | string |
archiver | string |
driver | gcc | clang | msvc | zig |
cxx | string |
host | map of artifact |
mirrors | string |
target | array of triple |
index
| Field | Type | Required |
|---|
name | string | yes |
url | string | |
path | string | |
protocol | git | http | dir | |
rev | string | |
publish_url | string | |
profile
| Field | Type |
|---|
linkage | shared | static | source | object |
standard | c89 | c99 | c11 |
toolchain | string |
mode | release | debug |
opt | 0 | 1 | 2 | 3 | s | z |
sanitize | array of address | thread | undefined | memory | leak |
os | windows | linux | macos | wasi |
arch | x86_64 | aarch64 | wasm32 |
abi | gnu | musl | msvc | apple |
options | when |
option
| Field | Type | Required |
|---|
type | bool | enum | yes |
values | array of string | |
default | option_defaults | |
additive | bool | |
define | string | |
public | bool | |
deps
| Field | Type |
|---|
package | map of dep | string |
test | map of dep | string |
build | map of dep | string |
config_entry
| Field | Type |
|---|
kind | shared | static | source | object |
options | when |
defaults | bool |
patch_entry
| Field | Type | Required |
|---|
files | array of string | yes |
publish
upstream
| Field | Type | Required |
|---|
url | string | yes |
commit | string | yes |
source_entry
| Field | Type | Required |
|---|
path | string | yes |
tree | manifest | source | |
when | when | |
system_dep_entry
| Field | Type | Required |
|---|
lib | string | yes |
when | when | |
| Field | Type |
|---|
frameworks | array of string |
min_os | os_version |
build_script
| Field | Type |
|---|
source | array of source_entry | string |
include | array of source_entry | string |
define | array of string |
flags | array of string |
value_entry
| Field | Type | Required |
|---|
value | string | yes |
when | when | |
target_dep_entry
| Field | Type | Required |
|---|
pkg | string | yes |
when | when | |
cxx_options
| Field | Type |
|---|
standard | c++11 | c++14 | c++17 | c++20 | c++23 |
exceptions | bool |
rtti | bool |
| Field | Type |
|---|
subsystem | console | windows |
artifact
| Field | Type |
|---|
url | string |
sha256 | string |
triple
| Field | Type |
|---|
arch | x86_64 | aarch64 | wasm32 |
os | windows | linux | macos | wasi |
abi | gnu | musl | msvc | apple |
dep
| Field | Type |
|---|
version | string |
path | string |
private | bool |
when | when |
options | when |
publish_copy
| Field | Type | Required |
|---|
from | string | yes |
to | string | yes |
Extern types
These values are validated by spn itself, outside the manifest schema:
when
option_defaults
os_version