Don't #include C Adapter header into its cpp.

Just textually concatenate.
This commit is contained in:
Alexander Gorshenev
2017-12-06 16:36:32 +03:00
committed by alexander-gorshenev
parent 63aff3eded
commit c30d30c96c
2 changed files with 6 additions and 9 deletions
@@ -21,10 +21,6 @@ import org.jetbrains.kotlin.konan.target.*
import org.jetbrains.kotlin.konan.file.* import org.jetbrains.kotlin.konan.file.*
fun produceCAdapterBitcode(clang: TargetClang, headerFileName: String, cppFileName: String, bitcodeFileName: String) { fun produceCAdapterBitcode(clang: TargetClang, headerFileName: String, cppFileName: String, bitcodeFileName: String) {
val clangCommand = clang.clangCXX("-std=c++11", cppFileName, "-emit-llvm", "-c", "-o", bitcodeFileName)
val headerDirName = File(headerFileName).absoluteFile.parent
val clangCommand = clang.clangCXX("-std=c++11", cppFileName, "-I", headerDirName, "-emit-llvm", "-c", "-o", bitcodeFileName)
runTool(clangCommand) runTool(clangCommand)
} }
@@ -426,9 +426,8 @@ internal class CAdapterGenerator(val context: Context,
} }
private fun makeGlobalStruct(top: ExportedElementScope) { private fun makeGlobalStruct(top: ExportedElementScope) {
outputStreamWriter = context.config.tempFiles val headerFile = context.config.tempFiles.cAdapterHeader
.cAdapterHeader outputStreamWriter = headerFile.printWriter()
.printWriter()
output("#ifndef KONAN_${prefix.toUpperCase()}_H") output("#ifndef KONAN_${prefix.toUpperCase()}_H")
output("#define KONAN_${prefix.toUpperCase()}_H") output("#define KONAN_${prefix.toUpperCase()}_H")
@@ -479,7 +478,9 @@ internal class CAdapterGenerator(val context: Context,
.cAdapterCpp .cAdapterCpp
.printWriter() .printWriter()
output("#include \"${prefix}_api.h\"") // Include header into C++ source.
headerFile.forEachLine { it -> output(it) }
output(""" output("""
|struct KObjHeader; |struct KObjHeader;
|typedef struct KObjHeader KObjHeader; |typedef struct KObjHeader KObjHeader;