Two hacks for Android's depfiles
diff --git a/ninja.go b/ninja.go
index 4c2767c..28d68e7 100644
--- a/ninja.go
+++ b/ninja.go
@@ -4,6 +4,7 @@
"bytes"
"fmt"
"os"
+ "path/filepath"
"strings"
)
@@ -35,6 +36,11 @@
return "", nil
}
+ // A hack for Android - llvm-rs-cc seems not to emit a dep file.
+ if strings.Contains(ss, "bin/llvm-rs-cc ") {
+ return "", nil
+ }
+
mfIndex := strings.Index(ss, " -MF ")
if mfIndex >= 0 {
mf := trimLeftSpace(ss[mfIndex+4:])
@@ -51,6 +57,14 @@
if strings.Contains(ss, p) {
return p, nil
}
+
+ // A hack for Android. For .s files, GCC does not use
+ // C preprocessor, so it ignores -MF flag.
+ as := "/" + stripExt(filepath.Base(mf)) + ".s"
+ if strings.Contains(ss, as) {
+ return "", nil
+ }
+
return mf, nil
}