Up.

Tests pass.

On Fri, 3 May 2024 at 11:35, Mikhail Pchelin <mi...@freebsd.org> wrote:

> I wasn't able to google how to generate compile_commands.json file for
> the kernel to make clangd/LSP/vim work.
>
> It looks like the most used tool is a bear
> (https://github.com/rizsotto/Bear), but during initial porting efforts I
> found out that it doesn't work, I got constant crashes and pinsyscalls
> messages in dmesg.
>
> compiledb is a much simpler python tool which parses gmake logs and
> generates compile_commands.json file, it also works fine with the
> OpenBSD kernel, which was the main motivation, I also tried jumping
> around emacs sources - works fine, using option 3 from the README.
>
> Fail of option 2 for emacs is documented in make.py file of the
> distribution, but I wasn't able to make the workaround fix it, given the
> option 3, which works, seems not a bid deal?
>
> Thoughts?
>
> $ pkg_info compiledb-0.10.1
> Information for inst:compiledb-0.10.1
>
> Comment:
> compile_commands.json generator
>
> Description:
> Tool for generating Clang's JSON Compilation Database file for GNU
> make-based
> build systems.
>
> Maintainer: The OpenBSD ports mailing-list <ports@openbsd.org>
>
> WWW: https://github.com/nickdiego/compiledb
>
> $ cat /usr/local/share/doc/pkg-readmes/compiledb
>
> +-------------------------------------------------------------------------------
> | Running compiledb on OpenBSD
>
> +-------------------------------------------------------------------------------
>
> compiledb supports only gmake for native compile_commands.json file
> generation,
> but you can try to feed usual make output to it through a pipe, or --parse
> option.
>
> Examples:
>
> 1) To make compile_commands.json file for OpenBSD kernel use:
>
> cd /sys/arch/$(machine)/compile/GENERIC.MP
> make -n | compiledb
> mv compile_commands.json /sys
>
> 2) To get compilation db for another software, which uses gmake pass -c
> option
> for make subcommand:
>
> cd ~/work/software
> compiledb -n make -c gmake
>
> 3) Above command runs 'gmake -Bnwk' and parses output, if your software
> uses
> autotools and enters endless ./configure stage, try removing -B switch and
> pipe
> the output without it:
>
> gmake -nwk | compiledb
>
>

Reply via email to