Enable toc support for Darwin and Windows
Bug: 113936524
Test: m checkbuild
Change-Id: I0f2030ad75daae2cbe44e8cbedad329d33df55f7
diff --git a/cc/builder.go b/cc/builder.go
index be63fd7..58196f4 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -144,11 +144,11 @@
blueprint.RuleParams{
Depfile: "${out}.d",
Deps: blueprint.DepsGCC,
- Command: "CROSS_COMPILE=$crossCompile $tocPath -i ${in} -o ${out} -d ${out}.d",
+ Command: "CROSS_COMPILE=$crossCompile $tocPath $format -i ${in} -o ${out} -d ${out}.d",
CommandDeps: []string{"$tocPath"},
Restat: true,
},
- "crossCompile")
+ "crossCompile", "format")
clangTidy = pctx.AndroidStaticRule("clangTidy",
blueprint.RuleParams{
@@ -759,7 +759,18 @@
func TransformSharedObjectToToc(ctx android.ModuleContext, inputFile android.Path,
outputFile android.WritablePath, flags builderFlags) {
- crossCompile := gccCmd(flags.toolchain, "")
+ var format string
+ var crossCompile string
+ if ctx.Darwin() {
+ format = "--macho"
+ crossCompile = "${config.MacToolPath}"
+ } else if ctx.Windows() {
+ format = "--pe"
+ crossCompile = gccCmd(flags.toolchain, "")
+ } else {
+ format = "--elf"
+ crossCompile = gccCmd(flags.toolchain, "")
+ }
ctx.Build(pctx, android.BuildParams{
Rule: toc,
@@ -768,6 +779,7 @@
Input: inputFile,
Args: map[string]string{
"crossCompile": crossCompile,
+ "format": format,
},
})
}