[native] Drop deprecated Kotlin/Native targets (2/8)
Remove plain references to removed KonanTarget or Family entries. All the changes in this commit are simple removal of some when-branches on now dropped entries ^KT-64517
This commit is contained in:
committed by
Space Team
parent
0f05ffe111
commit
85bcc8443d
@@ -169,7 +169,7 @@ sealed class ClangArgs(
|
||||
"-mfpu=vfp", "-mfloat-abi=hard"
|
||||
)
|
||||
|
||||
KonanTarget.IOS_ARM32, KonanTarget.WATCHOS_ARM32 -> listOf(
|
||||
KonanTarget.WATCHOS_ARM32 -> listOf(
|
||||
// Force generation of ARM instruction set instead of Thumb-2.
|
||||
// It allows LLVM ARM backend to encode bigger offsets in BL instruction,
|
||||
// thus allowing to generate a slightly bigger binaries.
|
||||
@@ -191,38 +191,6 @@ sealed class ClangArgs(
|
||||
)
|
||||
}
|
||||
|
||||
// By default WASM target forces `hidden` visibility which causes linkage problems.
|
||||
KonanTarget.WASM32 -> listOf(
|
||||
"-fno-rtti",
|
||||
"-fno-exceptions",
|
||||
"-fvisibility=default",
|
||||
"-D_LIBCPP_ABI_VERSION=2",
|
||||
"-D_LIBCPP_NO_EXCEPTIONS=1",
|
||||
"-nostdinc",
|
||||
"-Xclang", "-nobuiltininc",
|
||||
"-Xclang", "-nostdsysteminc",
|
||||
"-Xclang", "-isystem$absoluteTargetSysRoot/include/libcxx",
|
||||
"-Xclang", "-isystem$absoluteTargetSysRoot/lib/libcxxabi/include",
|
||||
"-Xclang", "-isystem$absoluteTargetSysRoot/include/compat",
|
||||
"-Xclang", "-isystem$absoluteTargetSysRoot/include/libc"
|
||||
)
|
||||
|
||||
is KonanTarget.ZEPHYR -> listOf(
|
||||
"-fno-rtti",
|
||||
"-fno-exceptions",
|
||||
"-fno-asynchronous-unwind-tables",
|
||||
"-fno-pie",
|
||||
"-fno-pic",
|
||||
"-fshort-enums",
|
||||
"-nostdinc",
|
||||
// TODO: make it a libGcc property?
|
||||
// We need to get rid of wasm sysroot first.
|
||||
"-isystem ${configurables.targetToolchain}/../lib/gcc/arm-none-eabi/7.2.1/include",
|
||||
"-isystem ${configurables.targetToolchain}/../lib/gcc/arm-none-eabi/7.2.1/include-fixed",
|
||||
"-isystem$absoluteTargetSysRoot/include/libcxx",
|
||||
"-isystem$absoluteTargetSysRoot/include/libc"
|
||||
) + (configurables as ZephyrConfigurables).constructClangArgs()
|
||||
|
||||
else -> emptyList()
|
||||
}
|
||||
|
||||
@@ -314,4 +282,3 @@ sealed class ClangArgs(
|
||||
*/
|
||||
class Native(configurables: Configurables) : ClangArgs(configurables, forJni = false)
|
||||
}
|
||||
|
||||
|
||||
@@ -28,13 +28,6 @@ class GccConfigurablesImpl(target: KonanTarget, properties: Properties, dependen
|
||||
class AndroidConfigurablesImpl(target: KonanTarget, properties: Properties, dependenciesRoot: String?, progressCallback: ProgressCallback) : AndroidConfigurables,
|
||||
KonanPropertiesLoader(target, properties, dependenciesRoot, progressCallback = progressCallback)
|
||||
|
||||
class WasmConfigurablesImpl(target: KonanTarget, properties: Properties, dependenciesRoot: String?, progressCallback: ProgressCallback) : WasmConfigurables,
|
||||
KonanPropertiesLoader(target, properties, dependenciesRoot, progressCallback = progressCallback)
|
||||
|
||||
class ZephyrConfigurablesImpl(target: KonanTarget, properties: Properties, dependenciesRoot: String?, progressCallback: ProgressCallback) : ZephyrConfigurables,
|
||||
KonanPropertiesLoader(target, properties, dependenciesRoot, progressCallback = progressCallback)
|
||||
|
||||
|
||||
fun loadConfigurables(
|
||||
target: KonanTarget,
|
||||
properties: Properties,
|
||||
@@ -50,9 +43,4 @@ fun loadConfigurables(
|
||||
Family.ANDROID -> AndroidConfigurablesImpl(target, properties, dependenciesRoot, progressCallback)
|
||||
|
||||
Family.MINGW -> MingwConfigurablesImpl(target, properties, dependenciesRoot, progressCallback)
|
||||
|
||||
Family.WASM -> WasmConfigurablesImpl(target, properties, dependenciesRoot, progressCallback)
|
||||
|
||||
Family.ZEPHYR -> ZephyrConfigurablesImpl(target, properties, dependenciesRoot, progressCallback)
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ fun KonanTarget.binaryFormat() = when (family) {
|
||||
Family.ANDROID -> BinaryFormat.ELF
|
||||
Family.LINUX -> BinaryFormat.ELF
|
||||
Family.MINGW -> BinaryFormat.PE_COFF
|
||||
Family.WASM, Family.ZEPHYR -> null
|
||||
}
|
||||
|
||||
fun KonanTarget.pointerBits() = when (architecture) {
|
||||
@@ -27,15 +26,11 @@ fun KonanTarget.pointerBits() = when (architecture) {
|
||||
Architecture.X86 -> 32
|
||||
Architecture.ARM64 -> if (this == KonanTarget.WATCHOS_ARM64) 32 else 64
|
||||
Architecture.ARM32 -> 32
|
||||
Architecture.MIPS32 -> 32
|
||||
Architecture.MIPSEL32 -> 32
|
||||
Architecture.WASM32 -> 32
|
||||
}
|
||||
|
||||
fun KonanTarget.supportsMimallocAllocator(): Boolean =
|
||||
when(this) {
|
||||
is KonanTarget.LINUX_X64 -> true
|
||||
is KonanTarget.MINGW_X86 -> true
|
||||
is KonanTarget.MINGW_X64 -> true
|
||||
is KonanTarget.MACOS_X64 -> true
|
||||
is KonanTarget.MACOS_ARM64 -> true
|
||||
@@ -43,26 +38,19 @@ fun KonanTarget.supportsMimallocAllocator(): Boolean =
|
||||
is KonanTarget.LINUX_ARM32_HFP -> true
|
||||
is KonanTarget.ANDROID_X64 -> true
|
||||
is KonanTarget.ANDROID_ARM64 -> true
|
||||
is KonanTarget.IOS_ARM32 -> true
|
||||
is KonanTarget.IOS_ARM64 -> true
|
||||
is KonanTarget.IOS_X64 -> true
|
||||
is KonanTarget.IOS_SIMULATOR_ARM64 -> true
|
||||
is KonanTarget.WATCHOS_ARM32, is KonanTarget.WATCHOS_ARM64,
|
||||
is KonanTarget.WATCHOS_SIMULATOR_ARM64, is KonanTarget.WATCHOS_X64, is KonanTarget.WATCHOS_X86,
|
||||
is KonanTarget.WATCHOS_SIMULATOR_ARM64, is KonanTarget.WATCHOS_X64,
|
||||
is KonanTarget.TVOS_ARM64, is KonanTarget.TVOS_SIMULATOR_ARM64, is KonanTarget.TVOS_X64,
|
||||
is KonanTarget.ANDROID_X86, is KonanTarget.ANDROID_ARM32 -> false // aren't tested.
|
||||
is KonanTarget.LINUX_MIPS32, is KonanTarget.LINUX_MIPSEL32 -> false // need linking with libatomic.
|
||||
is KonanTarget.WASM32, is KonanTarget.ZEPHYR -> false // likely not supported
|
||||
// Funny thing is we can neither access WATCHOS_DEVICE_ARM64, nor omit it explicitly due to the
|
||||
// build's quirks. Workaround by using else clause.
|
||||
// TODO: Add explicit WATCHOS_DEVICE_ARM64 after compiler update.
|
||||
else -> false
|
||||
}
|
||||
|
||||
fun KonanTarget.supportsLibBacktrace(): Boolean =
|
||||
this.family.isAppleFamily ||
|
||||
// MIPS architectures have issues, see KT-48949
|
||||
(this.family == Family.LINUX && this.architecture !in listOf(Architecture.MIPS32, Architecture.MIPSEL32)) ||
|
||||
this.family == Family.LINUX ||
|
||||
this.family == Family.ANDROID
|
||||
|
||||
// TODO: Add explicit WATCHOS_DEVICE_ARM64 after compiler update.
|
||||
@@ -70,10 +58,10 @@ fun KonanTarget.supportsCoreSymbolication(): Boolean =
|
||||
this in listOf(
|
||||
KonanTarget.MACOS_X64, KonanTarget.MACOS_ARM64, KonanTarget.IOS_X64,
|
||||
KonanTarget.IOS_SIMULATOR_ARM64, KonanTarget.TVOS_X64, KonanTarget.TVOS_SIMULATOR_ARM64,
|
||||
KonanTarget.WATCHOS_X86, KonanTarget.WATCHOS_X64, KonanTarget.WATCHOS_SIMULATOR_ARM64
|
||||
KonanTarget.WATCHOS_X64, KonanTarget.WATCHOS_SIMULATOR_ARM64
|
||||
)
|
||||
|
||||
fun KonanTarget.supportsGccUnwind(): Boolean = family == Family.ANDROID || family == Family.LINUX || this is KonanTarget.MINGW_X86
|
||||
fun KonanTarget.supportsGccUnwind(): Boolean = family == Family.ANDROID || family == Family.LINUX
|
||||
// MINGW_X64 target does not support GCC unwind, since its sysroot contains libgcc version < 12 having misfeature, see KT-49240
|
||||
fun KonanTarget.supportsWinAPIUnwind(): Boolean = this is KonanTarget.MINGW_X64
|
||||
|
||||
@@ -93,12 +81,7 @@ fun KonanTarget.supportsObjcInterop(): Boolean = family.isAppleFamily
|
||||
fun KonanTarget.hasFoundationFramework(): Boolean = family.isAppleFamily
|
||||
fun KonanTarget.hasUIKitFramework(): Boolean = family == Family.IOS || family == Family.TVOS
|
||||
fun KonanTarget.supports64BitMulOverflow(): Boolean = when (this) {
|
||||
is KonanTarget.MINGW_X86 -> false
|
||||
is KonanTarget.LINUX_ARM32_HFP -> false
|
||||
is KonanTarget.LINUX_MIPS32 -> false
|
||||
is KonanTarget.LINUX_MIPSEL32 -> false
|
||||
is KonanTarget.WASM32 -> false
|
||||
is KonanTarget.ZEPHYR -> false
|
||||
is KonanTarget.ANDROID_ARM32 -> false
|
||||
is KonanTarget.ANDROID_X86 -> false
|
||||
else -> true
|
||||
@@ -106,7 +89,6 @@ fun KonanTarget.supports64BitMulOverflow(): Boolean = when (this) {
|
||||
|
||||
// TODO: Add explicit WATCHOS_DEVICE_ARM64 after compiler update.
|
||||
fun KonanTarget.supportsIosCrashLog(): Boolean = when (this) {
|
||||
KonanTarget.IOS_ARM32 -> true
|
||||
KonanTarget.IOS_ARM64 -> true
|
||||
KonanTarget.WATCHOS_ARM32 -> true
|
||||
KonanTarget.WATCHOS_ARM64 -> true
|
||||
@@ -122,12 +104,12 @@ fun KonanTarget.supportsIosCrashLog(): Boolean = when (this) {
|
||||
* TODO: reconsider once target MIPS can do proper 64-bit load/store/CAS.
|
||||
*/
|
||||
fun KonanTarget.supports64BitAtomics(): Boolean = when (architecture) {
|
||||
Architecture.ARM32, Architecture.WASM32, Architecture.MIPS32, Architecture.MIPSEL32 -> false
|
||||
Architecture.ARM32 -> false
|
||||
Architecture.X86, Architecture.ARM64, Architecture.X64 -> true
|
||||
} && this != KonanTarget.WATCHOS_ARM64 && this != KonanTarget.WATCHOS_X86
|
||||
} && this != KonanTarget.WATCHOS_ARM64
|
||||
|
||||
fun KonanTarget.supportsUnalignedAccess(): Boolean = when (architecture) {
|
||||
Architecture.ARM32, Architecture.WASM32, Architecture.MIPS32, Architecture.MIPSEL32 -> false
|
||||
Architecture.ARM32 -> false
|
||||
Architecture.X86, Architecture.ARM64, Architecture.X64 -> true
|
||||
} && this != KonanTarget.WATCHOS_ARM64
|
||||
|
||||
@@ -151,11 +133,11 @@ fun KonanTarget.supportedSanitizers(): List<SanitizerKind> =
|
||||
fun KonanTarget.hasAddressDependencyInMemoryModel(): Boolean =
|
||||
when (this.architecture) {
|
||||
Architecture.X86, Architecture.X64, Architecture.ARM32, Architecture.ARM64 -> true
|
||||
Architecture.MIPS32, Architecture.MIPSEL32, Architecture.WASM32 -> false
|
||||
Architecture.MIPS32, Architecture.MIPSEL32 -> false
|
||||
}
|
||||
|
||||
val KonanTarget.supportsGrandCentralDispatch
|
||||
get() = family.isAppleFamily
|
||||
|
||||
val KonanTarget.supportsSignposts
|
||||
get() = family.isAppleFamily
|
||||
get() = family.isAppleFamily
|
||||
|
||||
Reference in New Issue
Block a user