[MPP] Fix linking
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt
index d65d1d2..6e17ab7 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt
@@ -46,7 +46,6 @@
 import org.jetbrains.kotlin.konan.target.KonanTarget.*
 import org.jetbrains.kotlin.konan.target.presetName
 import org.jetbrains.kotlin.statistics.metrics.StringMetrics
-import java.nio.file.Path
 import java.nio.file.Paths
 
 class KotlinMultiplatformPlugin : Plugin<Project> {
@@ -272,7 +271,7 @@
                     )
                     it.compilerOptions.freeCompilerArgs.addAll(
                         project.provider {
-                            val swiftLibraries = when (appleTarget.konanTarget) {
+                            val sdkName = when (appleTarget.konanTarget) {
                                 is MACOS_X64, MACOS_ARM64 -> "macosx" // ??? catalyst ???
                                 is IOS_X64, IOS_SIMULATOR_ARM64 -> "iphonesimulator"
                                 is IOS_ARM64 -> "iphoneos"
@@ -283,8 +282,10 @@
                                 else -> error("???")
                             }
                             // Get from dependencies pif instead?
-                            val swiftLibrariesPath = Paths.get(runCommand(listOf("xcode-select", "-p")).dropLast(1)).resolve("Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/${swiftLibraries}")
-                            listOf("-linker-option", "-L$swiftLibrariesPath")
+                            val swiftLibrariesPath = Paths.get(runCommand(listOf("xcode-select", "-p")).dropLast(1)).resolve("Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/${sdkName}")
+                            val swiftLibrariesInSdkPath = Paths.get(runCommand(listOf("xcrun", "--sdk", sdkName, "--show-sdk-path")).dropLast(1)).resolve("usr/lib/swift")
+
+                            listOf("-linker-option", "-L$swiftLibrariesPath", "-linker-option", "-L$swiftLibrariesInSdkPath")
                         }
                     )
                 }
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/PackageSwiftGenerateTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/PackageSwiftGenerateTask.kt
index 89ae4b9..4098252 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/PackageSwiftGenerateTask.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/PackageSwiftGenerateTask.kt
@@ -255,7 +255,7 @@
             try {
                 konanTargetNames.forEach { konanTargetName ->
                     runCommand(
-                        listOf(
+                        command = listOf(
                             "/Users/Timofey.Solonin/.konan/kotlin-native-prebuilt-macos-aarch64-1.9.20-Beta-224/bin/cinterop",
                             "-def", defFilePath.path,
                             "-target", konanTargetName,
@@ -263,7 +263,7 @@
                                 val argsFromDependency = mutableListOf(
                                     "-compiler-option", "-I${buildDir.resolve("debug/$it.build")}"
                                 )
-                                val expectedDependencyLibPath = spmInteropDir.resolve("$it.klib")
+                                val expectedDependencyLibPath = spmInteropDir.resolve("${it}_$konanTargetName.klib")
                                 if (expectedDependencyLibPath.exists()) {
                                     argsFromDependency.addAll(listOf("-library", expectedDependencyLibPath.path))
                                 }
@@ -277,7 +277,8 @@
                             "-compiler-option", "-fmodules",
                             "-Xmodule-name", target,
                             "-o", spmInteropDir.resolve("${target}_$konanTargetName.klib").path
-                        )
+                        ),
+                        logger = logger
                     )
                 }
             } catch (e: Throwable) {