[K/N] Proper MinGW cross-compilation support
This commit is contained in:
+2
-2
@@ -105,8 +105,8 @@ interface AppleConfigurables : Configurables, ClangFlags {
|
||||
}
|
||||
|
||||
interface MingwConfigurables : Configurables, ClangFlags {
|
||||
val lldLocation get() = targetString("lldLocation")!!
|
||||
val absoluteLldLocation get() = absolute(lldLocation)
|
||||
val linker get() = hostTargetString("linker")!!
|
||||
val absoluteLinker get() = absolute(linker)
|
||||
|
||||
val windowsKit: WindowsKit
|
||||
val msvc: Msvc
|
||||
|
||||
@@ -422,8 +422,13 @@ class GccBasedLinker(targetProperties: GccConfigurables)
|
||||
class MingwLinker(targetProperties: MingwConfigurables)
|
||||
: LinkerFlags(targetProperties), MingwConfigurables by targetProperties {
|
||||
|
||||
private val ar = "$absoluteTargetToolchain/bin/ar"
|
||||
private val linker = "$absoluteLlvmHome/bin/clang++"
|
||||
// TODO: Maybe always use llvm-ar?
|
||||
private val ar = if (HostManager.hostIsMingw) {
|
||||
"$absoluteTargetToolchain/bin/ar"
|
||||
} else {
|
||||
"$absoluteLlvmHome/bin/llvm-ar"
|
||||
}
|
||||
private val clang = "$absoluteLlvmHome/bin/clang++"
|
||||
|
||||
override val useCompilerDriverAsLinker: Boolean get() = true
|
||||
|
||||
@@ -483,12 +488,7 @@ class MingwLinker(targetProperties: MingwConfigurables)
|
||||
+additionalArguments
|
||||
}
|
||||
|
||||
return listOf(when {
|
||||
HostManager.hostIsMingw -> Command(linker)
|
||||
else -> Command("wine64", "$linker.exe")
|
||||
}.constructLinkerArguments(
|
||||
additionalArguments = listOf("-fuse-ld=$absoluteLldLocation")
|
||||
))
|
||||
return listOf(Command(clang).constructLinkerArguments(additionalArguments = listOf("-fuse-ld=$absoluteLinker")))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user