ec868fc42a
Some tools (i.e. you-complete-me) make use of a 'compdb' file (compile_commands.json) that records (among other things) the arguments needed to compile a file. These tools can use this with libclang to provide semantic completions and perform other IDE actions. This CL adds support for soong to generate a (simple) compile_commands.json file. Test: make SOONG_GEN_COMPDB=1 SOONG_LINK_COMPDB_TO=$ANDROID_BUILD_TOP nothing examine $ANDROID_BUILD_TOP/compile_commands.json Change-Id: I751bb344b90dfcdad1dfd71c2a85bacd345f0464
27 lines
682 B
Markdown
27 lines
682 B
Markdown
# Compdb (compile\_commands.json) Generator
|
|
|
|
Soong can generate compdb files. This is intended for use with editing tools
|
|
such as YouCompleteMe and other libclang based completers.
|
|
|
|
compdb file generation is enabled via environment variable:
|
|
|
|
```bash
|
|
$ export SOONG_GEN_COMPDB=1
|
|
$ export SOONG_GEN_COMPDB_DEBUG=1
|
|
```
|
|
|
|
One can make soong generate a symlink to the compdb file using an environment
|
|
variable:
|
|
|
|
```bash
|
|
$ export SOONG_LINK_COMPDB_TO=$ANDROID_HOST_OUT
|
|
```
|
|
|
|
You can then trigger an empty build:
|
|
|
|
```bash
|
|
$ make nothing
|
|
```
|
|
|
|
Note that if you build using mm or other limited makes with these environment
|
|
variables set the compdb will only include files in included modules.
|