forked from OSchip/llvm-project
[gn build] Separate debug and optimization settings
This patch adds an `is_optimized` variable, orthogonal to `is_debug`, to allow for a gn analogue to `RelWithDebInfo` builds. As part of this we'll want to explicitly enable GC+ICF, for the sake of `is_debug && is_optimized` builds. The flags normally default to true except that if you pass `/DEBUG` they default to false. Differential Revision: https://reviews.llvm.org/D58075 llvm-svn: 353888
This commit is contained in:
parent
16a0fba741
commit
5b07e30408
|
@ -23,7 +23,8 @@ config("compiler_defaults") {
|
|||
if (host_os != "win") {
|
||||
if (is_debug) {
|
||||
cflags += [ "-g" ]
|
||||
} else {
|
||||
}
|
||||
if (is_optimized) {
|
||||
cflags += [ "-O3" ]
|
||||
}
|
||||
cflags += [ "-fdiagnostics-color" ]
|
||||
|
@ -39,11 +40,16 @@ config("compiler_defaults") {
|
|||
"/FS",
|
||||
]
|
||||
ldflags += [ "/DEBUG" ]
|
||||
} else {
|
||||
}
|
||||
if (is_optimized) {
|
||||
cflags += [
|
||||
"/O2",
|
||||
"/Zc:inline",
|
||||
]
|
||||
ldflags += [
|
||||
"/OPT:REF",
|
||||
"/OPT:ICF",
|
||||
]
|
||||
}
|
||||
defines += [
|
||||
"_CRT_SECURE_NO_DEPRECATE",
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
declare_args() {
|
||||
# Whether to build with debug information and without optimizations.
|
||||
# Whether to build with debug information.
|
||||
is_debug = false
|
||||
}
|
||||
|
||||
# args that depend on other args must live in a later declare_args() block.
|
||||
declare_args() {
|
||||
# Whether to build with optimizations.
|
||||
is_optimized = !is_debug
|
||||
|
||||
# Whether to enable assertions.
|
||||
llvm_enable_assertions = true
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue