xref: /aosp_15_r20/build/bazel/scripts/difftool/README.md (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
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