1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2026-10-23 06:08:56 +03:00

Add make2compdb, JSON Compilation Database tool

Closes #251.
This commit is contained in:
g-berthiaume
2026-05-21 11:33:54 -04:00
committed by Christopher Wellons
parent 5561bfe3ab
commit 16ed33fa2d
3 changed files with 4662 additions and 0 deletions

View File

@@ -1139,6 +1139,10 @@ RUN printf "id ICON \"$PREFIX/src/w64devkit.ico\"" >w64devkit.rc \
&& $ARCH-gcc -DEXE=../share/nsis/bin/makensis.exe -DCMD=makensis \
-Oz -fno-asynchronous-unwind-tables -Wl,--gc-sections -s -nostdlib \
-o $PREFIX/bin/makensis.exe $PREFIX/src/alias.c -lkernel32 \
&& $ARCH-gcc \
-Oz -fno-asynchronous-unwind-tables -fno-builtin -Wl,--gc-sections \
-s -nostdlib -o $PREFIX/bin/make2compdb.exe $PREFIX/src/make2compdb.c \
-lkernel32 -lshell32 -lmemory \
&& sed -i s/'\<ARCH\>'/$ARCH/g $PREFIX/etc/profile \
&& mkdir -p $PREFIX/lib/pkgconfig \
&& cp /dl/mingw/COPYING.MinGW-w64-runtime/COPYING.MinGW-w64-runtime.txt \

View File

@@ -201,6 +201,12 @@ libraries have paths containing spaces.
to examine GCC-incompatible binaries, potentially to make some use of
them anyway.
* [`make2compdb`][make2compdb]: generates a `compile_commands.json` JSON
Compilation Database from `make` build system output. Use `-Bwn` and
pipe the the output of `make` into this program:
$ make -Bwn | make2compdb >compile_commands.json
* `recycle`: sends files and folders straight to the recycle bin. Faster
than `rm -rf` and reversible. Composes well with Storage Sense automatic
delection of old Recycle Bin items.
@@ -271,6 +277,7 @@ binaries.
[lic2]: https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-libraries/winpthreads/COPYING
[llvm-mingw]: https://github.com/mstorsjo/llvm-mingw
[make]: https://www.gnu.org/software/make/
[make2compdb]: https://github.com/skeeto/w64devkit/issues/251
[names]: https://learn.microsoft.com/en-us/cpp/build/reference/decorated-names
[ninja]: https://ninja-build.org/
[nsis]: https://nsis.sourceforge.io/

4651
src/make2compdb.c Normal file

File diff suppressed because it is too large Load Diff