mirror of
https://github.com/rehlds/reapi.git
synced 2025-01-01 01:25:47 +03:00
64 lines
1.7 KiB
Groovy
64 lines
1.7 KiB
Groovy
|
import org.doomedsociety.gradlecpp.cfg.BinaryKind
|
||
|
import org.doomedsociety.gradlecpp.gcc.GccToolchainConfig
|
||
|
import org.doomedsociety.gradlecpp.gcc.OptimizationLevel
|
||
|
|
||
|
rootProject.ext.createGccConfig = { boolean release, BinaryKind binKind ->
|
||
|
GccToolchainConfig cfg
|
||
|
if (release) {
|
||
|
cfg = new GccToolchainConfig(
|
||
|
compilerOptions: new GccToolchainConfig.CompilerOptions(
|
||
|
optimizationLevel: OptimizationLevel.LEVEL_3,
|
||
|
stackProtector: false,
|
||
|
noBuiltIn: true,
|
||
|
positionIndependentCode: false,
|
||
|
|
||
|
extraDefines: [
|
||
|
'linux': null,
|
||
|
'__linux__': null,
|
||
|
'NDEBUG': null,
|
||
|
'_GLIBCXX_USE_CXX11_ABI': 0, // don't use specific c++11 features from GCC 5.X for backward compatibility to earlier version ABI libstdc++.so.6
|
||
|
],
|
||
|
),
|
||
|
|
||
|
linkerOptions: new GccToolchainConfig.LinkerOptions(
|
||
|
stripSymbolTable: false,
|
||
|
staticLibGcc: false,
|
||
|
staticLibStdCpp: false,
|
||
|
),
|
||
|
|
||
|
librarianOptions: new GccToolchainConfig.LibrarianOptions(
|
||
|
|
||
|
)
|
||
|
)
|
||
|
} else {
|
||
|
// debug
|
||
|
cfg = new GccToolchainConfig(
|
||
|
compilerOptions: new GccToolchainConfig.CompilerOptions(
|
||
|
optimizationLevel: OptimizationLevel.DISABLE,
|
||
|
stackProtector: true,
|
||
|
noBuiltIn: true,
|
||
|
|
||
|
extraDefines: [
|
||
|
'linux': null,
|
||
|
'__linux__': null,
|
||
|
'NDEBUG': null,
|
||
|
'_GLIBCXX_USE_CXX11_ABI': 0, // don't use specific c++11 features from GCC 5.X for backward compatibility to earlier version ABI libstdc++.so.6
|
||
|
],
|
||
|
),
|
||
|
|
||
|
linkerOptions: new GccToolchainConfig.LinkerOptions(
|
||
|
stripSymbolTable: false,
|
||
|
staticLibGcc: false,
|
||
|
staticLibStdCpp: false,
|
||
|
),
|
||
|
|
||
|
librarianOptions: new GccToolchainConfig.LibrarianOptions(
|
||
|
|
||
|
)
|
||
|
)
|
||
|
}
|
||
|
|
||
|
cfg.singleDefines('LINUX', '_LINUX')
|
||
|
return cfg
|
||
|
}
|