1*7594170eSAndroid Build Coastguard Worker# Difftool 2*7594170eSAndroid Build Coastguard Worker 3*7594170eSAndroid Build Coastguard WorkerThis directory contains tools to compare build artifacts from two separate 4*7594170eSAndroid Build Coastguard Workerbuild invocations as a way of gauging build correctness and debugging 5*7594170eSAndroid Build Coastguard Workerpotential problems with build systems under development. 6*7594170eSAndroid Build Coastguard Worker 7*7594170eSAndroid Build Coastguard Worker# Usage 8*7594170eSAndroid Build Coastguard Worker 9*7594170eSAndroid Build Coastguard WorkerUse of these tools requires a multistep process: 10*7594170eSAndroid Build Coastguard Worker 11*7594170eSAndroid Build Coastguard Worker1. Build using legacy build system: 12*7594170eSAndroid Build Coastguard Worker ``` 13*7594170eSAndroid Build Coastguard Worker $ m libc 14*7594170eSAndroid Build Coastguard Worker ``` 15*7594170eSAndroid Build Coastguard Worker2. Collect results to a tmp directory. 16*7594170eSAndroid Build Coastguard Worker ``` 17*7594170eSAndroid Build Coastguard Worker $ ./collect.py out/combined-aosp_flame.ninja \ 18*7594170eSAndroid Build Coastguard Worker out/target/product/flame/obj/libc.so \ 19*7594170eSAndroid Build Coastguard Worker /tmp/legacyFiles 20*7594170eSAndroid Build Coastguard Worker ``` 21*7594170eSAndroid Build Coastguard Worker3. Build using the new build system: 22*7594170eSAndroid Build Coastguard Worker ``` 23*7594170eSAndroid Build Coastguard Worker $ m --bazel-mode-dev libc 24*7594170eSAndroid Build Coastguard Worker ``` 25*7594170eSAndroid Build Coastguard Worker4. Collect results to a tmp directory. 26*7594170eSAndroid Build Coastguard Worker ``` 27*7594170eSAndroid Build Coastguard Worker $ ./collect.py out/combined-aosp_flame.ninja \ 28*7594170eSAndroid Build Coastguard Worker out/target/product/flame/obj/libc.so \ 29*7594170eSAndroid Build Coastguard Worker /tmp/newFiles 30*7594170eSAndroid Build Coastguard Worker ``` 31*7594170eSAndroid Build Coastguard Worker5. Run comparative analysis on the two tmp directories. (See 32*7594170eSAndroid Build Coastguard Worker documentation of difftool.py for exact usage.) 33*7594170eSAndroid Build Coastguard Worker ``` 34*7594170eSAndroid Build Coastguard Worker $ ./difftool.py /tmp/legacyFiles \ 35*7594170eSAndroid Build Coastguard Worker out/target/product/flame/obj/libc.so \ 36*7594170eSAndroid Build Coastguard Worker /tmp/newFiles \ 37*7594170eSAndroid Build Coastguard Worker out/target/product/flame/obj/libc.so 38*7594170eSAndroid Build Coastguard Worker ``` 39*7594170eSAndroid Build Coastguard Worker 40*7594170eSAndroid Build Coastguard WorkerUse `./collect.py -h` or `./difftool.py -h` for full usage information of 41*7594170eSAndroid Build Coastguard Workerthese subtools. 42*7594170eSAndroid Build Coastguard Worker 43