From e15cfe8f70157fc24851282c0092f848e3cb834d Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Tue, 28 Sep 2021 11:47:13 +0300 Subject: [PATCH] [K/N] Use gradle-level conditional compilation for core symbolication --- kotlin-native/konan/konan.properties | 27 +++++++------------ .../core_symbolication/cpp/SourceInfo.cpp | 4 +-- .../konan/target/KonanTargetExtenstions.kt | 6 ++++- 3 files changed, 15 insertions(+), 22 deletions(-) diff --git a/kotlin-native/konan/konan.properties b/kotlin-native/konan/konan.properties index 92d0636bae2..2ed85a17a5d 100644 --- a/kotlin-native/konan/konan.properties +++ b/kotlin-native/konan/konan.properties @@ -126,8 +126,7 @@ linkerDynamicFlags.macos_x64 = -dylib osVersionMinFlagLd.macos_x64 = -macosx_version_min osVersionMin.macos_x64 = 10.13 -runtimeDefinitions.macos_x64 = KONAN_OSX=1 KONAN_MACOSX=1 KONAN_X64=1 KONAN_OBJC_INTEROP=1 \ - KONAN_CORE_SYMBOLICATION=1 +runtimeDefinitions.macos_x64 = KONAN_OSX=1 KONAN_MACOSX=1 KONAN_X64=1 KONAN_OBJC_INTEROP=1 dependencies.macos_x64 = \ lldb-4-macos @@ -166,8 +165,7 @@ linkerDynamicFlags.macos_arm64 = -dylib osVersionMinFlagLd.macos_arm64 = -macosx_version_min osVersionMin.macos_arm64 = 11.0 -runtimeDefinitions.macos_arm64 = KONAN_OSX=1 KONAN_MACOSX=1 KONAN_ARM64=1 KONAN_OBJC_INTEROP=1 \ - KONAN_CORE_SYMBOLICATION=1 +runtimeDefinitions.macos_arm64 = KONAN_OSX=1 KONAN_MACOSX=1 KONAN_ARM64=1 KONAN_OBJC_INTEROP=1 dependencies.macos_arm64 = \ lldb-4-macos @@ -263,8 +261,7 @@ stripFlags.ios_x64 = -S linkerDynamicFlags.ios_x64 = -dylib osVersionMinFlagLd.ios_x64 = -ios_simulator_version_min osVersionMin.ios_x64 = 9.0 -runtimeDefinitions.ios_x64 = KONAN_OBJC_INTEROP=1 KONAN_IOS=1 KONAN_X64=1 \ - KONAN_CORE_SYMBOLICATION=1 +runtimeDefinitions.ios_x64 = KONAN_OBJC_INTEROP=1 KONAN_IOS=1 KONAN_X64=1 # iOS simulator on Apple Silicon @@ -289,8 +286,7 @@ stripFlags.ios_simulator_arm64 = -S linkerDynamicFlags.ios_simulator_arm64 = -dylib osVersionMinFlagLd.ios_simulator_arm64 = -ios_simulator_version_min osVersionMin.ios_simulator_arm64 = 9.0 -runtimeDefinitions.ios_simulator_arm64 = KONAN_OBJC_INTEROP=1 KONAN_IOS=1 KONAN_ARM64=1 \ - KONAN_CORE_SYMBOLICATION=1 +runtimeDefinitions.ios_simulator_arm64 = KONAN_OBJC_INTEROP=1 KONAN_IOS=1 KONAN_ARM64=1 # Apple's tvOS simulator. targetToolchain.macos_x64-tvos_x64 = target-toolchain-xcode_12_5 @@ -314,8 +310,7 @@ stripFlags.tvos_x64 = -S linkerDynamicFlags.tvos_x64 = -dylib osVersionMinFlagLd.tvos_x64 = -tvos_simulator_version_min osVersionMin.tvos_x64 = 9.0 -runtimeDefinitions.tvos_x64 = KONAN_OBJC_INTEROP=1 KONAN_TVOS=1 KONAN_X64=1 \ - KONAN_CORE_SYMBOLICATION=1 +runtimeDefinitions.tvos_x64 = KONAN_OBJC_INTEROP=1 KONAN_TVOS=1 KONAN_X64=1 # Apple's tvOS simulator. targetToolchain.macos_x64-tvos_simulator_arm64 = target-toolchain-xcode_12_5 @@ -339,8 +334,7 @@ stripFlags.tvos_simulator_arm64 = -S linkerDynamicFlags.tvos_simulator_arm64 = -dylib osVersionMinFlagLd.tvos_simulator_arm64 = -tvos_simulator_version_min osVersionMin.tvos_simulator_arm64 = 9.0 -runtimeDefinitions.tvos_simulator_arm64 = KONAN_OBJC_INTEROP=1 KONAN_TVOS=1 KONAN_ARM64=1 \ - KONAN_CORE_SYMBOLICATION=1 +runtimeDefinitions.tvos_simulator_arm64 = KONAN_OBJC_INTEROP=1 KONAN_TVOS=1 KONAN_ARM64=1 # Apple's 64-bit tvOS. targetToolchain.macos_x64-tvos_arm64 = target-toolchain-xcode_12_5 @@ -443,8 +437,7 @@ stripFlags.watchos_x86 = -S linkerDynamicFlags.watchos_x86 = -dylib osVersionMinFlagLd.watchos_x86 = -watchos_simulator_version_min osVersionMin.watchos_x86 = 5.0 -runtimeDefinitions.watchos_x86 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 KONAN_NO_64BIT_ATOMIC=1 \ - KONAN_X86=1 KONAN_CORE_SYMBOLICATION=1 +runtimeDefinitions.watchos_x86 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 KONAN_NO_64BIT_ATOMIC=1 KONAN_X86=1 # watchOS x86_64 simulator. targetToolchain.macos_x64-watchos_x64 = target-toolchain-xcode_12_5 @@ -468,8 +461,7 @@ stripFlags.watchos_x64 = -S linkerDynamicFlags.watchos_x64 = -dylib osVersionMinFlagLd.watchos_x64 = -watchos_simulator_version_min osVersionMin.watchos_x64 = 7.0 -runtimeDefinitions.watchos_x64 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 \ - KONAN_X64=1 KONAN_CORE_SYMBOLICATION=1 +runtimeDefinitions.watchos_x64 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 KONAN_X64=1 # watchOS Apple Silicon simulator. targetToolchain.macos_x64-watchos_simulator_arm64 = target-toolchain-xcode_12_5 @@ -493,8 +485,7 @@ stripFlags.watchos_simulator_arm64 = -S linkerDynamicFlags.watchos_simulator_arm64 = -dylib osVersionMinFlagLd.watchos_simulator_arm64 = -watchos_simulator_version_min osVersionMin.watchos_simulator_arm64 = 7.0 -runtimeDefinitions.watchos_simulator_arm64 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 \ - KONAN_ARM64=1 KONAN_CORE_SYMBOLICATION=1 +runtimeDefinitions.watchos_simulator_arm64 = KONAN_OBJC_INTEROP=1 KONAN_WATCHOS=1 KONAN_ARM64=1 # Linux x86-64. diff --git a/kotlin-native/runtime/src/source_info/core_symbolication/cpp/SourceInfo.cpp b/kotlin-native/runtime/src/source_info/core_symbolication/cpp/SourceInfo.cpp index 02a50717231..c0f5e257f7d 100644 --- a/kotlin-native/runtime/src/source_info/core_symbolication/cpp/SourceInfo.cpp +++ b/kotlin-native/runtime/src/source_info/core_symbolication/cpp/SourceInfo.cpp @@ -5,7 +5,6 @@ #include "SourceInfo.h" -#ifdef KONAN_CORE_SYMBOLICATION #include #include #include @@ -196,5 +195,4 @@ extern "C" int Kotlin_getSourceInfo_core_symbolication(void* addr, SourceInfo *r SYM_LOG("}\n"); result_buffer[0] = result; return 1; -} -#endif // KONAN_CORE_SYMBOLICATION \ No newline at end of file +} \ No newline at end of file diff --git a/kotlin-native/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt b/kotlin-native/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt index 3dc2ae853a7..72da9dcc266 100644 --- a/kotlin-native/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt +++ b/kotlin-native/shared/src/main/kotlin/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt @@ -32,7 +32,11 @@ fun KonanTarget.supportsLibBacktrace(): Boolean = this.family.isAppleFamily || this.family == Family.LINUX || this.family == Family.ANDROID fun KonanTarget.supportsCoreSymbolication(): Boolean = - this.family.isAppleFamily + 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 + ) fun KonanTarget.supportsThreads(): Boolean =