Build Profiles¶
Overview¶
Anya's build system uses a set of build profiles to control the compilation process. Build profiles are used to specify the optimization level, code generation, and other settings for the build. The build profiles are divided into three categories: dev
, release
, and benchmark
.
Profile Details¶
dev
Profile¶
The dev
profile is used for development builds. It is optimized for fast compilation and debugging. The profile settings are as follows:
opt-level = 0
: Disables optimizationsdebug = true
: Enables debug informationlto = false
: Disables link-time optimizationcodegen-units = 1
: Sets the number of code generation units to 1panic = 'unwind'
: Sets the panic strategy to unwind
release
Profile¶
The release
profile is used for release builds. It is optimized for performance and size. The profile settings are as follows:
opt-level = 3
: Enables aggressive optimizationsdebug = false
: Disables debug informationlto = true
: Enables link-time optimizationcodegen-units = 16
: Sets the number of code generation units to 16panic = 'abort'
: Sets the panic strategy to abort
benchmark
Profile¶
The benchmark
profile is used for benchmarking builds. It is optimized for performance and size. The profile settings are as follows:
opt-level = 3
: Enables aggressive optimizationsdebug = false
: Disables debug informationlto = true
: Enables link-time optimizationcodegen-units = 16
: Sets the number of code generation units to 16panic = 'abort'
: Sets the panic strategy to abort