From e0cc6d44a7932afe376556eda814becaa7162265 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 28 May 2021 19:52:57 +0200 Subject: [PATCH] Revert "Remove obsolete kotlin.build.useIR flag" This reverts commit 91e47f1fd75693d6d3bb20317bd16cfbf53d80e9. --- .../kotlin-build-gradle-plugin/src/BuildProperties.kt | 2 ++ gradle.properties | 4 +++- kotlin-native/build.gradle | 9 +++++++++ kotlin-native/gradle.properties | 4 +++- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/dependencies/kotlin-build-gradle-plugin/src/BuildProperties.kt b/dependencies/kotlin-build-gradle-plugin/src/BuildProperties.kt index ae675acde6e..271c0874b32 100644 --- a/dependencies/kotlin-build-gradle-plugin/src/BuildProperties.kt +++ b/dependencies/kotlin-build-gradle-plugin/src/BuildProperties.kt @@ -89,6 +89,8 @@ class KotlinBuildProperties( val localBootstrapPath: String? = getOrNull("bootstrap.local.path") as String? + val useIR: Boolean = getBoolean("kotlin.build.useIR") + val useIRForLibraries: Boolean = getBoolean("kotlin.build.useIRForLibraries") val useFir: Boolean = getBoolean("kotlin.build.useFir") diff --git a/gradle.properties b/gradle.properties index a08adef34ea..1e8246f69f7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,9 @@ defaultSnapshotVersion=1.5.255-SNAPSHOT kotlin.compiler.effectSystemEnabled=true kotlin.compiler.newInferenceEnabled=true -# Enable JVM IR backend for kotlin-stdlib, kotlin-reflect, kotlin-test. +# Enable JVM IR backend for all modules except libraries such as kotlin-stdlib, kotlin-reflect, kotlin-test. +kotlin.build.useIR=true +# Enable JVM IR backend for the libraries mentioned above. kotlin.build.useIRForLibraries=true #maven.repository.mirror=http://repository.jetbrains.com/remote-repos/ diff --git a/kotlin-native/build.gradle b/kotlin-native/build.gradle index 241a14721b5..12153b8967e 100644 --- a/kotlin-native/build.gradle +++ b/kotlin-native/build.gradle @@ -120,6 +120,15 @@ allprojects { } } + if (findProperty("kotlin.build.useIR") == "true") { + tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { + kotlinOptions { + useIR = true + freeCompilerArgs += ["-Xir-binary-with-stable-abi"] + } + } + } + setupHostAndTarget() loadCommandLineProperties() loadLocalProperties() diff --git a/kotlin-native/gradle.properties b/kotlin-native/gradle.properties index 3aba2c9f818..b3e1adec0da 100644 --- a/kotlin-native/gradle.properties +++ b/kotlin-native/gradle.properties @@ -34,4 +34,6 @@ ktorVersion=1.2.1 shadowVersion=5.1.0 metadataVersion=0.0.1-dev-10 -kotlinNativeVersionInResources=true +# Uncomment to compile Kotlin/Native backend modules with JVM IR backend. +# kotlin.build.useIR=true +kotlinNativeVersionInResources=true \ No newline at end of file