Don't #include C Adapter header into its cpp.
Just textually concatenate.
This commit is contained in:
committed by
alexander-gorshenev
parent
63aff3eded
commit
c30d30c96c
+1
-5
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-4
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user