Fixed visibility problem on ios_arm64

This commit is contained in:
Igor Chevdar
2019-12-03 15:59:59 +03:00
parent ffd34cf91f
commit 355dd4af1d
4 changed files with 29 additions and 2 deletions
@@ -68,7 +68,8 @@ private fun linkAllDependencies(context: Context, generatedBitcodeFiles: List<St
val bitcodeLibraries = context.llvm.bitcodeToLink.map { it.bitcodePaths }.flatten().filter { it.isBitcode }
val additionalBitcodeFilesToLink = context.llvm.additionalProducedBitcodeFiles
val bitcodeFiles = (nativeLibraries + generatedBitcodeFiles + additionalBitcodeFilesToLink + bitcodeLibraries).toSet()
val exceptionsSupportNativeLibrary = config.exceptionsSupportNativeLibrary
val bitcodeFiles = (nativeLibraries + exceptionsSupportNativeLibrary + generatedBitcodeFiles + additionalBitcodeFilesToLink + bitcodeLibraries).toSet()
val llvmModule = context.llvmModule!!
bitcodeFiles.forEach {
@@ -127,7 +127,10 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration
internal val objCNativeLibrary: String =
File(distribution.defaultNatives(target)).child("objc.bc").absolutePath
internal val nativeLibraries: List<String> =
internal val exceptionsSupportNativeLibrary: String =
File(distribution.defaultNatives(target)).child("exceptionsSupport.bc").absolutePath
internal val nativeLibraries: List<String> =
configuration.getList(KonanConfigKeys.NATIVE_LIBRARY_FILES)
internal val includeBinaries: List<String> =
+8
View File
@@ -23,6 +23,7 @@ targetList.each { targetName ->
dependsOn "${targetName}Relaxed"
dependsOn "${targetName}ProfileRuntime"
dependsOn "${targetName}ObjC"
dependsOn "${targetName}ExceptionsSupport"
target targetName
includeRuntime(delegate)
linkerArgs project.file("../common/build/$targetName/hash.bc").path
@@ -42,6 +43,13 @@ targetList.each { targetName ->
includeRuntime(delegate)
}
task ("${targetName}ExceptionsSupport", type: CompileCppToBitcode) {
name "exceptionsSupport"
srcRoot file('src/exceptions_support')
target targetName
includeRuntime(delegate)
}
task ("${targetName}Release", type: CompileCppToBitcode) {
name "release"
srcRoot file('src/release')
@@ -0,0 +1,15 @@
#include "Memory.h"
#include "Porting.h"
#include <typeinfo>
#ifndef KONAN_NO_EXCEPTIONS
std::type_info const* ExceptionObjHolderRTTI;
// Just some DCE-surviving code referencing RTTI of ExceptionObjHolder.
// This is needed during compilation to cache.
void referenceExceptionObjHolderRTTI() {
ExceptionObjHolderRTTI = &typeid(ExceptionObjHolder);
}
#endif