diff options
author | Dan Willemsen <dwillemsen@google.com> | 2019-08-29 14:47:40 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2019-11-21 14:47:59 -0800 |
commit | db14db3a06d2bfcbc0ab775cdf56630f56a5c957 (patch) | |
tree | 42c980591e099a7039f479ec679ec5bdaf05b68f /cmd/dep_fixer/main.go | |
parent | 0ce5d05f76989c4cc699e0dd6cd1f906a9e0f16d (diff) | |
download | android_build_soong-db14db3a06d2bfcbc0ab775cdf56630f56a5c957.tar.gz android_build_soong-db14db3a06d2bfcbc0ab775cdf56630f56a5c957.tar.bz2 android_build_soong-db14db3a06d2bfcbc0ab775cdf56630f56a5c957.zip |
Rewrite depfile from sbox to stay reproducible
sbox will generate a random directory for the output root, and most
tools will encode that directory name in the output target of the
depfile.
So embed the library from dep_fixer into sbox so that it can rewrite the
output filename to a static (reproducible) value. Ninja doesn't care
what that value is, so it's just "outputfile".
Also fix up rule_builder to actually tell sbox about the depfile.
Bug: 144948629
Test: mmma system/iorap; check the contents of:
out/soong/.intermediates/system/iorap/libiorap-binder/android_arm_armv7-a-neon_core_static/gen/aidl/system/iorap/binder/com/google/android/startop/iorap/IIorap.cpp.d
Change-Id: I3640a2e8b0c034f143a35e398a8418a6d621b265
Merged-In: I3640a2e8b0c034f143a35e398a8418a6d621b265
(cherry picked from commit c89b6f19810d368d7d5c128407c3eaaa5e3b2e81)
Diffstat (limited to 'cmd/dep_fixer/main.go')
-rw-r--r-- | cmd/dep_fixer/main.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cmd/dep_fixer/main.go b/cmd/dep_fixer/main.go index f94cf2fd..d1bd1391 100644 --- a/cmd/dep_fixer/main.go +++ b/cmd/dep_fixer/main.go @@ -25,6 +25,8 @@ import ( "io/ioutil" "log" "os" + + "android/soong/makedeps" ) func main() { @@ -39,7 +41,7 @@ func main() { log.Fatal("Expected at least one input file as an argument") } - var mergedDeps *Deps + var mergedDeps *makedeps.Deps var firstInput []byte for i, arg := range flag.Args() { @@ -48,7 +50,7 @@ func main() { log.Fatalf("Error opening %q: %v", arg, err) } - deps, err := Parse(arg, bytes.NewBuffer(append([]byte(nil), input...))) + deps, err := makedeps.Parse(arg, bytes.NewBuffer(append([]byte(nil), input...))) if err != nil { log.Fatalf("Failed to parse: %v", err) } |