[ClangArgs] Move sysroot setting to single place
This commit is contained in:
committed by
Stanislav Erokhin
parent
23223f7bb0
commit
87e4bbe0f6
+14
-19
@@ -46,7 +46,6 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con
|
|||||||
KonanTarget.MACOS_X64 -> "$absoluteTargetToolchain/usr/bin"
|
KonanTarget.MACOS_X64 -> "$absoluteTargetToolchain/usr/bin"
|
||||||
else -> throw TargetSupportException("Unexpected host platform")
|
else -> throw TargetSupportException("Unexpected host platform")
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Use buildList
|
// TODO: Use buildList
|
||||||
private val commonClangArgs: List<String> = mutableListOf<List<String>>().apply {
|
private val commonClangArgs: List<String> = mutableListOf<List<String>>().apply {
|
||||||
add(listOf("-B$binDir", "-fno-stack-protector"))
|
add(listOf("-B$binDir", "-fno-stack-protector"))
|
||||||
@@ -56,6 +55,18 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con
|
|||||||
if (configurables is TargetableConfigurables) {
|
if (configurables is TargetableConfigurables) {
|
||||||
add(listOf("-target", configurables.targetArg!!))
|
add(listOf("-target", configurables.targetArg!!))
|
||||||
}
|
}
|
||||||
|
val hasCustomSysroot = configurables is ZephyrConfigurables
|
||||||
|
|| configurables is WasmConfigurables
|
||||||
|
|| configurables is AndroidConfigurables
|
||||||
|
if (!hasCustomSysroot) {
|
||||||
|
when (configurables) {
|
||||||
|
// isysroot and sysroot on darwin are _almost_ synonyms.
|
||||||
|
// The first one parses SDKSettings.json while second one is not.
|
||||||
|
is AppleConfigurables -> add(listOf("-isysroot", absoluteTargetSysRoot))
|
||||||
|
else -> add(listOf("--sysroot=$absoluteTargetSysRoot"))
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}.flatten()
|
}.flatten()
|
||||||
|
|
||||||
private val osVersionMin: String
|
private val osVersionMin: String
|
||||||
@@ -65,76 +76,63 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val specificClangArgs: List<String> = when (target) {
|
private val specificClangArgs: List<String> = when (target) {
|
||||||
KonanTarget.LINUX_X64 -> listOf(
|
KonanTarget.LINUX_X64 -> listOf()
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
)
|
|
||||||
|
|
||||||
KonanTarget.LINUX_ARM32_HFP -> listOf(
|
KonanTarget.LINUX_ARM32_HFP -> listOf(
|
||||||
"-mfpu=vfp", "-mfloat-abi=hard",
|
"-mfpu=vfp", "-mfloat-abi=hard",
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
// TODO: those two are hacks.
|
// TODO: those two are hacks.
|
||||||
"-I$absoluteTargetSysRoot/usr/include/c++/4.8.3",
|
"-I$absoluteTargetSysRoot/usr/include/c++/4.8.3",
|
||||||
"-I$absoluteTargetSysRoot/usr/include/c++/4.8.3/arm-linux-gnueabihf"
|
"-I$absoluteTargetSysRoot/usr/include/c++/4.8.3/arm-linux-gnueabihf"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.LINUX_ARM64 -> listOf(
|
KonanTarget.LINUX_ARM64 -> listOf(
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-I$absoluteTargetSysRoot/usr/include/c++/7",
|
"-I$absoluteTargetSysRoot/usr/include/c++/7",
|
||||||
"-I$absoluteTargetSysRoot/usr/include/c++/7/aarch64-linux-gnu"
|
"-I$absoluteTargetSysRoot/usr/include/c++/7/aarch64-linux-gnu"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.LINUX_MIPS32 -> listOf(
|
KonanTarget.LINUX_MIPS32 -> listOf(
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-I$absoluteTargetSysRoot/usr/include/c++/4.9.4",
|
"-I$absoluteTargetSysRoot/usr/include/c++/4.9.4",
|
||||||
"-I$absoluteTargetSysRoot/usr/include/c++/4.9.4/mips-unknown-linux-gnu"
|
"-I$absoluteTargetSysRoot/usr/include/c++/4.9.4/mips-unknown-linux-gnu"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.LINUX_MIPSEL32 -> listOf(
|
KonanTarget.LINUX_MIPSEL32 -> listOf(
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-I$absoluteTargetSysRoot/usr/include/c++/4.9.4",
|
"-I$absoluteTargetSysRoot/usr/include/c++/4.9.4",
|
||||||
"-I$absoluteTargetSysRoot/usr/include/c++/4.9.4/mipsel-unknown-linux-gnu"
|
"-I$absoluteTargetSysRoot/usr/include/c++/4.9.4/mipsel-unknown-linux-gnu"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.MINGW_X64, KonanTarget.MINGW_X86 -> listOf(
|
KonanTarget.MINGW_X64, KonanTarget.MINGW_X86 -> listOf(
|
||||||
"--sysroot=$absoluteTargetSysRoot", "-Xclang",
|
"-Xclang", "-flto-visibility-public-std"
|
||||||
"-flto-visibility-public-std"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.MACOS_X64 -> listOf(
|
KonanTarget.MACOS_X64 -> listOf(
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-mmacosx-version-min=$osVersionMin"
|
"-mmacosx-version-min=$osVersionMin"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.IOS_ARM32 -> listOf(
|
KonanTarget.IOS_ARM32 -> listOf(
|
||||||
"-stdlib=libc++",
|
"-stdlib=libc++",
|
||||||
"-arch", "armv7",
|
"-arch", "armv7",
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-miphoneos-version-min=$osVersionMin"
|
"-miphoneos-version-min=$osVersionMin"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.IOS_ARM64 -> listOf(
|
KonanTarget.IOS_ARM64 -> listOf(
|
||||||
"-stdlib=libc++",
|
"-stdlib=libc++",
|
||||||
"-arch", "arm64",
|
"-arch", "arm64",
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-miphoneos-version-min=$osVersionMin"
|
"-miphoneos-version-min=$osVersionMin"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.IOS_X64 -> listOf(
|
KonanTarget.IOS_X64 -> listOf(
|
||||||
"-stdlib=libc++",
|
"-stdlib=libc++",
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-miphoneos-version-min=$osVersionMin"
|
"-miphoneos-version-min=$osVersionMin"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.TVOS_ARM64 -> listOf(
|
KonanTarget.TVOS_ARM64 -> listOf(
|
||||||
"-stdlib=libc++",
|
"-stdlib=libc++",
|
||||||
"-arch", "arm64",
|
"-arch", "arm64",
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-mtvos-version-min=$osVersionMin"
|
"-mtvos-version-min=$osVersionMin"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.TVOS_X64 -> listOf(
|
KonanTarget.TVOS_X64 -> listOf(
|
||||||
"-stdlib=libc++",
|
"-stdlib=libc++",
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-mtvos-simulator-version-min=$osVersionMin"
|
"-mtvos-simulator-version-min=$osVersionMin"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -142,20 +140,17 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con
|
|||||||
KonanTarget.WATCHOS_ARM32 -> listOf(
|
KonanTarget.WATCHOS_ARM32 -> listOf(
|
||||||
"-stdlib=libc++",
|
"-stdlib=libc++",
|
||||||
"-arch", "armv7k",
|
"-arch", "armv7k",
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-mwatchos-version-min=$osVersionMin"
|
"-mwatchos-version-min=$osVersionMin"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.WATCHOS_X86 -> listOf(
|
KonanTarget.WATCHOS_X86 -> listOf(
|
||||||
"-stdlib=libc++",
|
"-stdlib=libc++",
|
||||||
"-arch", "i386",
|
"-arch", "i386",
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-mwatchos-simulator-version-min=$osVersionMin"
|
"-mwatchos-simulator-version-min=$osVersionMin"
|
||||||
)
|
)
|
||||||
|
|
||||||
KonanTarget.WATCHOS_X64 -> listOf(
|
KonanTarget.WATCHOS_X64 -> listOf(
|
||||||
"-stdlib=libc++",
|
"-stdlib=libc++",
|
||||||
"--sysroot=$absoluteTargetSysRoot",
|
|
||||||
"-mwatchos-simulator-version-min=$osVersionMin"
|
"-mwatchos-simulator-version-min=$osVersionMin"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user