diff options
author | Yifan Hong <elsk@google.com> | 2021-12-13 17:06:33 -0800 |
---|---|---|
committer | Yifan Hong <elsk@google.com> | 2021-12-14 21:08:49 +0000 |
commit | f298da8c0defb1761d47d0417dda89b1171ef1a2 (patch) | |
tree | e67d91811c377ab11beae9ff6afcc24c8d838497 | |
parent | 65cc9ba16295f4f2c7f59015c1e7433c586d35f6 (diff) | |
download | interceptor-f298da8c0defb1761d47d0417dda89b1171ef1a2.tar.gz |
add readme.md
Change-Id: Ie82d4e210ba8595412c05689e9fb34df88f7a5ac
-rw-r--r-- | README.md | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..232f2a3 --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# Interceptor + +**WARNING**: The interceptor is still a work in progress. Contents of this +section are subject to change. + +The interceptor is a tool to intercept all `execve` and other system calls +during the build (specifically, `make`) in order to construct the dependency +tree and understand a list of commands executed by the build system. With the +interceptor, the Bazel build system may first "dry-run", analyze all inputs and +outputs of each command, generate `BUILD.bazel` files for each command, then +execute on these generated build files. + +This allows us to enable the following: + +* Trim the dependency tree for each command. + * Reduce the possibility of invalidating an output when an unrelated input + file is touched + * More parallelism within Bazel, not make + * Even faster incremental builds +* Generate + [compile\_commands.json](https://clang.llvm.org/docs/JSONCompilationDatabase.html), + which can then be plugged into IDEs and code search tools (e.g. https://cs.android.com/android/kernel/superproject) +* More cache hits for Remote Build Execution (RBE) +* Give a more trimmed and precise list of resources for DDK +* etc. |