Merge "Revert "Enable kotlin native by default"" into androidx-main
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt b/buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
index 3c11900..5d22a95 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/KmpPlatforms.kt
@@ -112,6 +112,14 @@
         return extension.enabledKmpPlatforms
     }
 
+/** Returns true if kotlin native targets should be enabled. */
+private fun Project.isKotlinNativeEnabled(): Boolean {
+    return "KMP".equals(System.getenv()["ANDROIDX_PROJECTS"], ignoreCase = true) ||
+        "INFRAROGUE".equals(System.getenv()["ANDROIDX_PROJECTS"], ignoreCase = true) ||
+        ProjectLayoutType.isPlayground(project) ||
+        project.providers.gradleProperty("androidx.kmp.native.enabled").orNull?.toBoolean() == true
+}
+
 /** Extension used to store parsed KMP configuration information. */
 private open class KmpPlatformsExtension(project: Project) {
     val enabledKmpPlatforms =
@@ -120,9 +128,11 @@
 
 fun Project.enableJs(): Boolean = enabledKmpPlatforms.contains(PlatformGroup.JS)
 
-fun Project.enableMac(): Boolean = enabledKmpPlatforms.contains(PlatformGroup.MAC)
+fun Project.enableMac(): Boolean =
+    enabledKmpPlatforms.contains(PlatformGroup.MAC) || isKotlinNativeEnabled()
 
-fun Project.enableLinux(): Boolean = enabledKmpPlatforms.contains(PlatformGroup.LINUX)
+fun Project.enableLinux(): Boolean =
+    enabledKmpPlatforms.contains(PlatformGroup.LINUX) || isKotlinNativeEnabled()
 
 fun Project.enableJvm(): Boolean = enabledKmpPlatforms.contains(PlatformGroup.JVM)