Commit c7bd18b9 authored by zhen.jiang's avatar zhen.jiang

解决.a嵌套导致符号找不到的问题

parent 50ad1ae6
......@@ -49,14 +49,27 @@ private fun staticGnuArCommands(ar: String, executable: ExecutableFile,
},
Command("cmd", "/c", "del", "/q", temp))
}
HostManager.hostIsLinux || HostManager.hostIsMac -> listOf(
Command(ar, "cqT", executable).apply {
+objectFiles
+libraries
},
Command("/bin/sh", "-c").apply {
+"printf 'create $executable\\naddlib $executable\\nsave\\nend' | $ar -M"
})
// HostManager.hostIsLinux || HostManager.hostIsMac -> listOf(
// Command(ar, "cqT", executable).apply {
// +objectFiles
// +libraries
// },
// Command("/bin/sh", "-c").apply {
// +"printf 'create $executable\\naddlib $executable\\nsave\\nend' | $ar -M"
// })
HostManager.hostIsLinux || HostManager.hostIsMac -> {
// Create a regular archive and use [L] modifier for adding libraries
// to flatten nested archives. The [L] modifier extracts archive contents
// instead of adding archives as-is, ensuring .a inputs are properly processed.
val commands = mutableListOf<Command>()
if (objectFiles.isNotEmpty()) {
commands.add(Command(ar, "qcs", executable).apply { +objectFiles })
}
if (libraries.isNotEmpty()) {
commands.add(Command(ar, "qsL", executable).apply { +libraries })
}
commands
}
else -> TODO("Unsupported host ${HostManager.host}")
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment