From b7dd5bd24d325e93d761ce992290c932abd8b286 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Tue, 3 Oct 2017 14:53:59 +0300 Subject: [PATCH] Eliminate duplicates of libraries acquired by rombic inclusions. Allow repositories without /klib bottom level firectory. --- .../src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt | 1 + .../kotlin/backend/konan/library/SearchPathResolver.kt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt index 17df9ef25af..082a4205900 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt @@ -104,6 +104,7 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration .map { it.dependencies } .flatten() .map { resolver.resolve(it) } .map { LibraryReaderImpl(it, currentAbiVersion, targetManager.target) } + .distinctBy { it.libraryFile.absolutePath } val newDependencies = dependencies.deleteMatching(result, { it.libraryFile.absolutePath }) result.addAll(newDependencies) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/SearchPathResolver.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/SearchPathResolver.kt index 388d1cd30ce..9b5c18f194d 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/SearchPathResolver.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/SearchPathResolver.kt @@ -39,7 +39,7 @@ class KonanLibrarySearchPathResolver(repositories: List, get() = if (!skipCurrentDir) File.userDir else null private val repoRoots: List by lazy { - repositories.map{File(it).klib} + repositories.map{File(it)} } // This is the place where we specify the order of library search.