[K/N] Update libffi for Windows

MinGW and MSVC are hardly compatible in case of static linkage, so we
need to use a native libffi.
This commit is contained in:
Sergey Bogolepov
2021-07-23 13:04:26 +07:00
committed by Space
parent a525f3f357
commit 6e093b0beb
2 changed files with 4 additions and 3 deletions
@@ -32,6 +32,7 @@ plugins {
native {
val isWindows = PlatformInfo.isWindows()
val obj = if (isWindows) "obj" else "o"
val lib = if (isWindows) "lib" else "a"
val host = rootProject.project(":kotlin-native").extra["hostName"]
val hostLibffiDir = rootProject.project(":kotlin-native").extra["${host}LibffiDir"]
val cflags = mutableListOf("-I$hostLibffiDir/include",
@@ -54,7 +55,7 @@ native {
flags("-shared",
"-o",ruleOut(), *ruleInAll(),
"-L${project(":kotlin-native:libclangext").buildDir}",
"$hostLibffiDir/lib/libffi.a",
"$hostLibffiDir/lib/libffi.$lib",
"-lclangext")
}
tasks.named(solib("callbacks")).configure {
+2 -2
View File
@@ -45,7 +45,7 @@ predefinedLibffiVersions = \
libffi-3.2.1-3-darwin-macos \
libffi-3.3-1-macos-arm64 \
libffi-3.2.1-2-linux-x86-64 \
libffi-3.2.1-mingw-w64-x86-64
libffi-3.3-windows-x64-1
llvm.linux_x64.dev = llvm-11.1.0-linux-x64-1
llvm.linux_x64.user = llvm-11.1.0-linux-x64-1
@@ -872,7 +872,7 @@ runtimeDefinitions.android_x64 = __ANDROID__ USE_GCC_UNWIND=1 USE_ELF_SYMBOLS=1
# Windows x86-64, based on mingw-w64.
llvmHome.mingw_x64 = $llvm.mingw_x64.dev
targetToolchain.mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
libffiDir.mingw_x64 = libffi-3.2.1-mingw-w64-x86-64
libffiDir.mingw_x64 = libffi-3.3-windows-x64-1
windowsKitParts.mingw_x64 = windows-kit-x64-v1-alpha2
msvcParts.mingw_x64 = msvc-x64-v1-alpha2
lldLocation.mingw_x64 = lld-11.1.0-windows-x64/ld.lld.exe