Files
dcr/docs/reference-and-help/config-reference.md
Dexoron 617ba85442 Added:
- Toolchain overrides via `[toolchain]` and env (`DCR_*`)
- ASM `.S` preprocessing via GCC/Clang (`-x assembler-with-cpp`)
2026-03-03 22:25:00 +08:00

1.3 KiB

Config reference

Full schema

[package]
name = "string"      # required
version = "string"   # required

[build]
language = "c|c++|cpp|cxx|asm"     # required
standard = "string"            # required
compiler = "string"            # required
kind = "bin|staticlib|sharedlib"         # required
target = "string"              # optional
platform = "string"            # optional
cflags = ["string", "..."]     # optional
ldflags = ["string", "..."]    # optional

[toolchain]
cc = "string"   # optional
cxx = "string"  # optional
as = "string"   # optional
ar = "string"   # optional
ld = "string"   # optional

[dependencies]
name = {
  path = "string",              # required for each dependency
  include = ["string", "..."],  # optional
  lib = ["string", "..."],      # optional
  libs = ["string", "..."],     # optional
}

Validation rules

  • [package], [build], [dependencies] must exist.
  • Required string fields must be non-empty.
  • build.kind must be bin, staticlib, or sharedlib.
  • Dependency fields include/lib/libs must be string arrays when provided.

Generated defaults (dcr new / dcr init)

  • package.version = "0.1.0"
  • build.language = "c"
  • build.standard = "c11"
  • build.compiler = "clang"
  • build.kind = "bin"