diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterCompile.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterCompile.kt index b37087d00fc..c0ce5dd8741 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterCompile.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterCompile.kt @@ -21,10 +21,6 @@ import org.jetbrains.kotlin.konan.target.* import org.jetbrains.kotlin.konan.file.* fun produceCAdapterBitcode(clang: TargetClang, headerFileName: String, cppFileName: String, bitcodeFileName: String) { - - val headerDirName = File(headerFileName).absoluteFile.parent - - val clangCommand = clang.clangCXX("-std=c++11", cppFileName, "-I", headerDirName, "-emit-llvm", "-c", "-o", bitcodeFileName) - + val clangCommand = clang.clangCXX("-std=c++11", cppFileName, "-emit-llvm", "-c", "-o", bitcodeFileName) runTool(clangCommand) } diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt index a865558b2ab..f3cd72a2a1a 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt @@ -426,9 +426,8 @@ internal class CAdapterGenerator(val context: Context, } private fun makeGlobalStruct(top: ExportedElementScope) { - outputStreamWriter = context.config.tempFiles - .cAdapterHeader - .printWriter() + val headerFile = context.config.tempFiles.cAdapterHeader + outputStreamWriter = headerFile.printWriter() output("#ifndef KONAN_${prefix.toUpperCase()}_H") output("#define KONAN_${prefix.toUpperCase()}_H") @@ -479,7 +478,9 @@ internal class CAdapterGenerator(val context: Context, .cAdapterCpp .printWriter() - output("#include \"${prefix}_api.h\"") + // Include header into C++ source. + headerFile.forEachLine { it -> output(it) } + output(""" |struct KObjHeader; |typedef struct KObjHeader KObjHeader;