ReGameDLL_CS/shared_icc.gradle
Alibek Omarov 2b4eb6c137 GCC port and new defines for new ARM port (#294)
* Put SSE code under HAVE_SSE define

* Fix circular dependency on GCC 7.3

* Provide a way to disable AMXX related hacks, when it's not needed

* Fix ASM inline for GCC

* Fix compiling with MSVC

* Fix compiling with MSVC and ICC

* Check for HAVE_SSE in sse_mathfun.cpp after including precompiled, so SSE state will be determined

* Better check for SSE availability

* Missing call ::ClientCommand_
Make CSaveRestoreBuffer::m_Sizes as const
Cosmetic changes

* Gradle: Add GCC Toolchain

* GCC: Fix compile

* Gradle: Add -fno-devirtualize to compiler flags for GCC
2018-05-20 22:28:03 +07:00

66 lines
1.9 KiB
Groovy

import org.doomedsociety.gradlecpp.cfg.BinaryKind
import org.doomedsociety.gradlecpp.gcc.GccToolchainConfig
import org.doomedsociety.gradlecpp.gcc.OptimizationLevel
rootProject.ext.createIccConfig = { boolean release, BinaryKind binKind ->
GccToolchainConfig cfg
if (release) {
cfg = new GccToolchainConfig(
compilerOptions: new GccToolchainConfig.CompilerOptions(
optimizationLevel: OptimizationLevel.LEVEL_3,
stackProtector: false,
interProceduralOptimizations: true, // -ipo
noBuiltIn: true,
intelExtensions: false,
asmBlocks: true,
positionIndependentCode: false,
extraDefines: [
'_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(
interProceduralOptimizations: true, // -ipo
stripSymbolTable: true,
staticLibStdCpp: false,
staticLibGcc: false,
staticIntel: true,
),
librarianOptions: new GccToolchainConfig.LibrarianOptions(
)
)
} else {
// debug
cfg = new GccToolchainConfig(
compilerOptions: new GccToolchainConfig.CompilerOptions(
optimizationLevel: OptimizationLevel.DISABLE,
stackProtector: true,
interProceduralOptimizations: false,
noBuiltIn: true,
intelExtensions: false,
asmBlocks: true,
extraDefines: [
'_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(
interProceduralOptimizations: false,
stripSymbolTable: false,
staticLibStdCpp: false,
staticLibGcc: false,
staticIntel: true,
),
librarianOptions: new GccToolchainConfig.LibrarianOptions(
)
)
}
cfg.singleDefines('LINUX', '_LINUX')
return cfg
}