aboutsummaryrefslogtreecommitdiff
path: root/devel/bear/pkg-descr
blob: c3f787d58e8582544c123eb73fa99d1b19217533 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Bear is a tool that generates a compilation database for clang
tooling. The JSON compilation database is used in the clang project
to provide information on how a single compilation unit is processed.
With this, it is easy to re-run the compilation with alternate
programs. One way to get a compilation database is to use cmake as
the build tool. Passing -DCMAKE_EXPORT_COMPILE_COMMANDS=ON to cmake
generates the compile_commands.json file into the current directory.
For non-cmake projects, Bear generates the JSON file during the
build process.

The concept behind Bear is: to execute the original build command
and intercept the exec calls issued by the build tool. To achieve
that, Bear uses the LD_PRELOAD or DYLD_INSERT_LIBRARIES mechanisms
provided by the dynamic linker.

WWW: https://github.com/rizsotto/Bear