From bc1b67678e53e7114d9808693bb7005c65351f5a Mon Sep 17 00:00:00 2001 From: Vasily Levchenko Date: Mon, 26 Aug 2019 14:20:18 +0300 Subject: [PATCH] [REVERTME] filtering out ANDROID_X64, WATCHOS_{X64,ARM64}, TVOS_{X64,ARM64} from enabled platform till their full support --- .../kotlin/backend/konan/OptimizationPipeline.kt | 5 +++++ build.gradle | 2 +- dependencies/build.gradle | 3 ++- .../org/jetbrains/kotlin/konan/target/ClangArgs.kt | 13 +++++++++++++ .../kotlin/konan/target/ConfigurablesImpl.kt | 5 ++++- .../org/jetbrains/kotlin/konan/target/Linker.kt | 5 +++++ .../org/jetbrains/kotlin/konan/target/Platform.kt | 9 ++++++++- 7 files changed, 38 insertions(+), 4 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt index 9486a9a1c10..a1f8a88eddc 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt @@ -61,6 +61,11 @@ private class LlvmPipelineConfiguration(context: Context) { KonanTarget.ANDROID_ARM64 -> "cortex-a57" KonanTarget.LINUX_MIPS32 -> "mips32r2" KonanTarget.LINUX_MIPSEL32 -> "mips32r2" + KonanTarget.ANDROID_X64 -> TODO("implement me") + KonanTarget.WATCHOS_ARM64 -> TODO("implement me") + KonanTarget.WATCHOS_X64 -> TODO("implement me") + KonanTarget.TVOS_ARM64 -> TODO("implement me") + KonanTarget.TVOS_X64 -> TODO("implement me") KonanTarget.WASM32, is KonanTarget.ZEPHYR -> error("There is no support for ${target.name} target yet.") } diff --git a/build.gradle b/build.gradle index c07010742fe..47f9e1c3ae4 100644 --- a/build.gradle +++ b/build.gradle @@ -95,7 +95,7 @@ allprojects { void setupHostAndTarget() { ext.hostName = platformManager.hostName - ext.targetList = platformManager.enabled.collect { it.visibleName } as List + ext.targetList = platformManager.filteredOutEnabledButNotSupported.collect { it.visibleName } as List ext.konanTargetList = platformManager.enabled as List } diff --git a/dependencies/build.gradle b/dependencies/build.gradle index cdf78d0c0a3..a2663a9cec2 100644 --- a/dependencies/build.gradle +++ b/dependencies/build.gradle @@ -80,7 +80,8 @@ enum DependencyKind { def platformManager = rootProject.ext.platformManager -platformManager.enabled.each { target -> + +platformManager.filteredOutEnabledButNotSupported.each { target -> def loader = platformManager.loader(target) task "${target}Dependencies"(type: NativeDep) { diff --git a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ClangArgs.kt b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ClangArgs.kt index 5fb43c8c978..e69c9516804 100644 --- a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ClangArgs.kt +++ b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ClangArgs.kt @@ -103,6 +103,12 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con "-Xclang", "-isystem$absoluteTargetSysRoot/include/compat", "-Xclang", "-isystem$absoluteTargetSysRoot/include/libc") + KonanTarget.ANDROID_X64 -> TODO("implement me") + KonanTarget.WATCHOS_ARM64 -> TODO("implement me") + KonanTarget.WATCHOS_X64 -> TODO("implement me") + KonanTarget.TVOS_ARM64 -> TODO("implement me") + KonanTarget.TVOS_X64 -> TODO("implement me") + is KonanTarget.ZEPHYR -> listOf("-target", targetArg!!, "-fno-rtti", @@ -244,6 +250,13 @@ class ClangArgs(private val configurables: Configurables) : Configurables by con "-DKONAN_NO_MEMMEM", "-DKONAN_NO_CTORS_SECTION=1") + KonanTarget.ANDROID_X64 -> TODO("implement me") + KonanTarget.WATCHOS_ARM64 -> TODO("implement me") + KonanTarget.WATCHOS_X64 -> TODO("implement me") + KonanTarget.TVOS_ARM64 -> TODO("implement me") + KonanTarget.TVOS_X64 -> TODO("implement me") + + is KonanTarget.ZEPHYR -> listOf( "-DKONAN_ZEPHYR=1", "-DKONAN_NO_FFI=1", diff --git a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ConfigurablesImpl.kt b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ConfigurablesImpl.kt index c13b3749de2..19a175096a9 100644 --- a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ConfigurablesImpl.kt +++ b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/ConfigurablesImpl.kt @@ -50,7 +50,10 @@ fun loadConfigurables(target: KonanTarget, properties: Properties, baseDir: Stri MingwConfigurablesImpl(target, properties, baseDir) KonanTarget.WASM32 -> WasmConfigurablesImpl(target, properties, baseDir) + KonanTarget.ANDROID_X64 -> TODO("unimplemented: $target") + KonanTarget.WATCHOS_ARM64, KonanTarget.WATCHOS_X64 -> TODO("unimplemented: $target") + KonanTarget.TVOS_ARM64, KonanTarget.TVOS_X64 -> TODO("unimplemented: $target") is KonanTarget.ZEPHYR -> - ZephyrConfigurablesImpl(target, properties, baseDir) + ZephyrConfigurablesImpl(target, properties, baseDir) } diff --git a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/Linker.kt b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/Linker.kt index 7d81ae18732..de4d789f933 100644 --- a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/Linker.kt +++ b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/Linker.kt @@ -435,6 +435,11 @@ fun linker(configurables: Configurables): LinkerFlags = MingwLinker(configurables as MingwConfigurables) KonanTarget.WASM32 -> WasmLinker(configurables as WasmConfigurables) + KonanTarget.ANDROID_X64 -> TODO("implement me") + KonanTarget.WATCHOS_ARM64 -> TODO("implement me") + KonanTarget.WATCHOS_X64 -> TODO("implement me") + KonanTarget.TVOS_ARM64 -> TODO("implement me") + KonanTarget.TVOS_X64 -> TODO("implement me") is KonanTarget.ZEPHYR -> ZephyrLinker(configurables as ZephyrConfigurables) } diff --git a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/Platform.kt b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/Platform.kt index 0ba5a07e0dd..5e3cbb56662 100644 --- a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/Platform.kt +++ b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/Platform.kt @@ -32,7 +32,7 @@ class Platform(val configurables: Configurables) class PlatformManager(distribution: Distribution = Distribution(), experimental: Boolean = false) : HostManager(distribution, experimental) { - private val loaders = enabled.map { + private val loaders = filteredOutEnabledButNotSupported.map { it to loadConfigurables(it, distribution.properties, DependencyProcessor.defaultDependenciesRoot.absolutePath) }.toMap() @@ -44,5 +44,12 @@ class PlatformManager(distribution: Distribution = Distribution(), experimental: val hostPlatform = platforms.getValue(host) fun loader(target: KonanTarget) = loaders.getValue(target) + + /** + * TODO: Don't forget to delete this field and replace all its usages to `enabled`. + */ + val filteredOutEnabledButNotSupported + get() = enabled.filterNot { it == KonanTarget.ANDROID_X64 || it == KonanTarget.WATCHOS_X64 || it == KonanTarget.WATCHOS_ARM64 || + it == KonanTarget.TVOS_X64 || it == KonanTarget.TVOS_ARM64} }