On Fri, 17 May 2024 at 03:38, Brendan Jackman <jackmanb@xxxxxxxxxx> wrote: > > compile_commands.json is used by clangd[1] to provide code navigation > and completion functionality to editors. See [2] for an example > configuration that includes this functionality for VSCode. > > It can currently be built manually when using kunit.py, by running: > > ./scripts/clang-tools/gen_compile_commands.py -d .kunit > > With this change however, it's built automatically so you don't need to > manually keep it up to date. > > Unlike the manual approach, having make build the compile_commands.json > means that it appears in the build output tree instead of at the root of > the source tree, so you'll need to add --compile-commands-dir= to your > clangd args for it to be found. > > [1] https://clangd.llvm.org/ > [2] https://github.com/FlorentRevest/linux-kernel-vscode > > Signed-off-by: Brendan Jackman <jackmanb@xxxxxxxxxx> > --- Sorry for missing this earlier. I'm happy with this. Having the compile_commands.json be in the .kunit directory is annoying, but it actually ends up being less annoying for the case where you have lots of out-of-tree builds, so I actually prefer it. Reviewed-by: David Gow <davidgow@xxxxxxxxxx> Cheers, -- David > tools/testing/kunit/kunit_kernel.py | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py > index 7254c110ff23..61931c4926fd 100644 > --- a/tools/testing/kunit/kunit_kernel.py > +++ b/tools/testing/kunit/kunit_kernel.py > @@ -72,7 +72,8 @@ class LinuxSourceTreeOperations: > raise ConfigError(e.output.decode()) > > def make(self, jobs: int, build_dir: str, make_options: Optional[List[str]]) -> None: > - command = ['make', 'ARCH=' + self._linux_arch, 'O=' + build_dir, '--jobs=' + str(jobs)] > + command = ['make', 'all', 'compile_commands.json', 'ARCH=' + self._linux_arch, > + 'O=' + build_dir, '--jobs=' + str(jobs)] > if make_options: > command.extend(make_options) > if self._cross_compile: > > --- > base-commit: 3c999d1ae3c75991902a1a7dad0cb62c2a3008b4 > change-id: 20240516-kunit-compile-commands-d994074fc2be > > Best regards, > -- > Brendan Jackman <jackmanb@xxxxxxxxxx> >
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature