-
Notifications
You must be signed in to change notification settings - Fork 1
CONFIG
rubenvb edited this page Sep 28, 2012
·
2 revisions
CONFIG
contains all the information needed to describe the build configuration. Toolchain independent options for debugging symbols, warning options, etc. are defined here.
- You can only add
CONFIG
options that are used outside of a target scope (for example to make a target conditional for some configuration) in the[[global]]
section. - Targets can overwrite
CONFIG
values added in[[global]]
.
- user-defined
CONFIG
variables: TODO -
warn_on
,warn_all
,warn_extra
: compiler warnings options. -
optimize_release
,optimize_none
,optimize_size
,optimize_extreme
: compiler optimization options - TODO
-
windows
,linux
,mac
: target OS. Only one will be present. -
amd64
,x86
: target architecture. Only one will be present. -
gcc
,clang
,icc
,msvc
: build toolchain. Only one will be present. - Combinations of the above:
windows-x86
,linux-amd64-gcc
,windows-amd64-clang
, etc... -
debug
,release
,release_debug
: build configuration. Can differ per target, depending on how you were invoking Ambrosia. These options can modify optimization options, but these are superceded by any specific optimization options added toCONFIG
. Ambrosia tries to be smart and prevents several arguments of the same type passed to the toolchain programs (for example:-O1 -O3
should not be passed to the compiler). -
noinstall
: the contents of this target will not be installed when runningAmbrosia [[install]]
.
-
[[build_tool]]
: this is for a build tool not meant to be executed on the build OS. -
[[target_tool]]
: this is for a build tool meant to be executed on the target OS.