[K/N] Fix for two-stage compilation

This commit is contained in:
Igor Chevdar
2023-06-30 19:32:55 +03:00
committed by Space Team
parent 4cfcf45120
commit afdc596121
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser
import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.config.*
import org.jetbrains.kotlin.ir.linkage.partial.PartialLinkageConfig
import org.jetbrains.kotlin.ir.linkage.partial.partialLinkageConfig import org.jetbrains.kotlin.ir.linkage.partial.partialLinkageConfig
import org.jetbrains.kotlin.ir.linkage.partial.setupPartialLinkageConfig import org.jetbrains.kotlin.ir.linkage.partial.setupPartialLinkageConfig
import org.jetbrains.kotlin.ir.util.IrMessageLogger import org.jetbrains.kotlin.ir.util.IrMessageLogger
@@ -97,6 +98,13 @@ class K2Native : CLICompiler<K2NativeCompilerArguments>() {
it.deleteOnExit() it.deleteOnExit()
} }
firstStageConfiguration.put(KonanConfigKeys.OUTPUT, intermediateKLib.absolutePath) firstStageConfiguration.put(KonanConfigKeys.OUTPUT, intermediateKLib.absolutePath)
// Empty all cache-related keys.
firstStageConfiguration.put(KonanConfigKeys.CACHE_DIRECTORIES, emptyList())
firstStageConfiguration.put(KonanConfigKeys.AUTO_CACHEABLE_FROM, emptyList())
firstStageConfiguration.put(KonanConfigKeys.CACHED_LIBRARIES, emptyMap())
firstStageConfiguration.put(KonanConfigKeys.AUTO_CACHE_DIR, "")
firstStageConfiguration.put(KonanConfigKeys.INCREMENTAL_CACHE_DIR, "")
firstStageConfiguration.setupPartialLinkageConfig(PartialLinkageConfig.DEFAULT) // Disable PL for KLIB compilation.
val firstStageExitCode = executeStage(firstStageConfiguration, arguments, rootDisposable) val firstStageExitCode = executeStage(firstStageConfiguration, arguments, rootDisposable)
if (firstStageExitCode != ExitCode.OK) if (firstStageExitCode != ExitCode.OK)