diff --git a/konan/utils/src/org/jetbrains/kotlin/konan/target/KonanTarget.kt b/konan/utils/src/org/jetbrains/kotlin/konan/target/KonanTarget.kt index e7564ca144b..c94c059d2de 100644 --- a/konan/utils/src/org/jetbrains/kotlin/konan/target/KonanTarget.kt +++ b/konan/utils/src/org/jetbrains/kotlin/konan/target/KonanTarget.kt @@ -23,6 +23,7 @@ enum class Family( enum class Architecture(val bitness: Int) { X64(64), + X86(32), ARM64(64), ARM32(32), MIPS32(32), @@ -38,6 +39,7 @@ sealed class KonanTarget(override val name: String, val family: Family, val arch object IOS_X64 : KonanTarget("ios_x64", Family.IOS, Architecture.X64) object LINUX_X64 : KonanTarget("linux_x64", Family.LINUX, Architecture.X64) object MINGW_X64 : KonanTarget("mingw_x64", Family.MINGW, Architecture.X64) + object MINGW_X86 : KonanTarget("mingw_x86", Family.MINGW, Architecture.X86) object MACOS_X64 : KonanTarget("macos_x64", Family.OSX, Architecture.X64) object LINUX_ARM32_HFP : KonanTarget("linux_arm32_hfp", Family.LINUX, Architecture.ARM32) object LINUX_MIPS32 : KonanTarget("linux_mips32", Family.LINUX, Architecture.MIPS32) @@ -58,7 +60,7 @@ object PredefinedKonanTargets { ANDROID_ARM32, ANDROID_ARM64, IOS_ARM32, IOS_ARM64, IOS_X64, LINUX_X64, LINUX_ARM32_HFP, LINUX_MIPS32, LINUX_MIPSEL32, - MINGW_X64, + MINGW_X64, MINGW_X86, MACOS_X64, KonanTarget.WASM32 ) @@ -188,13 +190,18 @@ open class HostManager(subtargetProvider: SubTargetProvider = NoSubTargets()) { ) + zephyrSubtargets, KonanTarget.MINGW_X64 to setOf( KonanTarget.MINGW_X64, - KonanTarget.WASM32 + KonanTarget.WASM32, + KonanTarget.LINUX_X64, + KonanTarget.LINUX_ARM32_HFP, + KonanTarget.ANDROID_ARM32 ) + zephyrSubtargets, KonanTarget.MACOS_X64 to setOf( KonanTarget.MACOS_X64, KonanTarget.IOS_ARM32, KonanTarget.IOS_ARM64, KonanTarget.IOS_X64, + KonanTarget.LINUX_X64, + KonanTarget.LINUX_ARM32_HFP, KonanTarget.ANDROID_ARM32, KonanTarget.ANDROID_ARM64, KonanTarget.WASM32 diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithPresetFunctions.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithPresetFunctions.kt index 6c909fd6e6f..5872e5478db 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithPresetFunctions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithPresetFunctions.kt @@ -26,7 +26,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("jvm") as KotlinJvmTargetPreset, configure ) - + fun jvm() = jvm("jvm") { } fun jvm(name: String) = jvm(name) { } fun jvm(name: String, configure: Closure<*>) = jvm(name) { ConfigureUtil.configure(configure, this) } @@ -41,7 +41,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("js") as KotlinJsTargetPreset, configure ) - + fun js() = js("js") { } fun js(name: String) = js(name) { } fun js(name: String, configure: Closure<*>) = js(name) { ConfigureUtil.configure(configure, this) } @@ -56,7 +56,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("android") as KotlinAndroidTargetPreset, configure ) - + fun android() = android("android") { } fun android(name: String) = android(name) { } fun android(name: String, configure: Closure<*>) = android(name) { ConfigureUtil.configure(configure, this) } @@ -71,7 +71,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("androidNativeArm32") as KotlinNativeTargetPreset, configure ) - + fun androidNativeArm32() = androidNativeArm32("androidNativeArm32") { } fun androidNativeArm32(name: String) = androidNativeArm32(name) { } fun androidNativeArm32(name: String, configure: Closure<*>) = androidNativeArm32(name) { ConfigureUtil.configure(configure, this) } @@ -86,7 +86,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("androidNativeArm64") as KotlinNativeTargetPreset, configure ) - + fun androidNativeArm64() = androidNativeArm64("androidNativeArm64") { } fun androidNativeArm64(name: String) = androidNativeArm64(name) { } fun androidNativeArm64(name: String, configure: Closure<*>) = androidNativeArm64(name) { ConfigureUtil.configure(configure, this) } @@ -101,7 +101,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("iosArm32") as KotlinNativeTargetPreset, configure ) - + fun iosArm32() = iosArm32("iosArm32") { } fun iosArm32(name: String) = iosArm32(name) { } fun iosArm32(name: String, configure: Closure<*>) = iosArm32(name) { ConfigureUtil.configure(configure, this) } @@ -116,7 +116,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("iosArm64") as KotlinNativeTargetPreset, configure ) - + fun iosArm64() = iosArm64("iosArm64") { } fun iosArm64(name: String) = iosArm64(name) { } fun iosArm64(name: String, configure: Closure<*>) = iosArm64(name) { ConfigureUtil.configure(configure, this) } @@ -131,7 +131,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("iosX64") as KotlinNativeTargetPreset, configure ) - + fun iosX64() = iosX64("iosX64") { } fun iosX64(name: String) = iosX64(name) { } fun iosX64(name: String, configure: Closure<*>) = iosX64(name) { ConfigureUtil.configure(configure, this) } @@ -146,7 +146,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("linuxX64") as KotlinNativeTargetPreset, configure ) - + fun linuxX64() = linuxX64("linuxX64") { } fun linuxX64(name: String) = linuxX64(name) { } fun linuxX64(name: String, configure: Closure<*>) = linuxX64(name) { ConfigureUtil.configure(configure, this) } @@ -161,7 +161,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("linuxArm32Hfp") as KotlinNativeTargetPreset, configure ) - + fun linuxArm32Hfp() = linuxArm32Hfp("linuxArm32Hfp") { } fun linuxArm32Hfp(name: String) = linuxArm32Hfp(name) { } fun linuxArm32Hfp(name: String, configure: Closure<*>) = linuxArm32Hfp(name) { ConfigureUtil.configure(configure, this) } @@ -176,7 +176,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("linuxMips32") as KotlinNativeTargetPreset, configure ) - + fun linuxMips32() = linuxMips32("linuxMips32") { } fun linuxMips32(name: String) = linuxMips32(name) { } fun linuxMips32(name: String, configure: Closure<*>) = linuxMips32(name) { ConfigureUtil.configure(configure, this) } @@ -191,7 +191,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("linuxMipsel32") as KotlinNativeTargetPreset, configure ) - + fun linuxMipsel32() = linuxMipsel32("linuxMipsel32") { } fun linuxMipsel32(name: String) = linuxMipsel32(name) { } fun linuxMipsel32(name: String, configure: Closure<*>) = linuxMipsel32(name) { ConfigureUtil.configure(configure, this) } @@ -206,12 +206,27 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("mingwX64") as KotlinNativeTargetPreset, configure ) - + fun mingwX64() = mingwX64("mingwX64") { } fun mingwX64(name: String) = mingwX64(name) { } fun mingwX64(name: String, configure: Closure<*>) = mingwX64(name) { ConfigureUtil.configure(configure, this) } fun mingwX64(configure: Closure<*>) = mingwX64 { ConfigureUtil.configure(configure, this) } + fun mingwX86( + name: String = "mingwX86", + configure: KotlinNativeTarget.() -> Unit = { } + ): KotlinNativeTarget = + configureOrCreate( + name, + presets.getByName("mingwX86") as KotlinNativeTargetPreset, + configure + ) + + fun mingwX86() = mingwX86("mingwX86") { } + fun mingwX86(name: String) = mingwX86(name) { } + fun mingwX86(name: String, configure: Closure<*>) = mingwX86(name) { ConfigureUtil.configure(configure, this) } + fun mingwX86(configure: Closure<*>) = mingwX86 { ConfigureUtil.configure(configure, this) } + fun macosX64( name: String = "macosX64", configure: KotlinNativeTarget.() -> Unit = { } @@ -221,7 +236,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("macosX64") as KotlinNativeTargetPreset, configure ) - + fun macosX64() = macosX64("macosX64") { } fun macosX64(name: String) = macosX64(name) { } fun macosX64(name: String, configure: Closure<*>) = macosX64(name) { ConfigureUtil.configure(configure, this) } @@ -236,7 +251,7 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP presets.getByName("wasm32") as KotlinNativeTargetPreset, configure ) - + fun wasm32() = wasm32("wasm32") { } fun wasm32(name: String) = wasm32(name) { } fun wasm32(name: String, configure: Closure<*>) = wasm32(name) { ConfigureUtil.configure(configure, this) }