Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#61363 - Create compilation database for C/C++ packages

Attached to Project: Arch Linux
Opened by Deepankar Sharma (deepankar_sharma) - Saturday, 12 January 2019, 10:53 GMT
Last edited by Eli Schwartz (eschwartz) - Wednesday, 23 January 2019, 04:41 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

It would be very useful for developers to have a compilation database generated for C/C++ packages since having a compilation database allows many tools (like indexing, static analysis etc) to work seamlessly. More information about compilation databases can be found at https://clang.llvm.org/docs/JSONCompilationDatabase.html.

For packages using CMake as their build system generating a compilation database is as simple as adding CMAKE_EXPORT_COMPILE_COMMANDS as a cmake flag. Other build systems (like make) can generate compilation databases as well using a tool like https://github.com/nickdiego/compiledb
This task depends upon

Closed by  Eli Schwartz (eschwartz)
Wednesday, 23 January 2019, 04:41 GMT
Reason for closing:  Won't implement
Additional comments about closing:  No adequate explanation for why this is something a package should be doing.
Comment by Eli Schwartz (eschwartz) - Sunday, 13 January 2019, 03:30 GMT
I'm not sure what your objective is here, how does a compilation database mapping for translation units in a build tree have any sort of relevance to system compiled libraries or binaries that are not in a build tree and thus there is nothing to index nor statically analyze?
Comment by Deepankar Sharma (deepankar_sharma) - Tuesday, 22 January 2019, 02:53 GMT
LLVM based tools like cquery / rtags / sourcetrail allow indexing of a codebase given a compilation database. Once the codebase is indexed users can easily do queries on the callgraph (eg find all callers). As a specific use case it would be very helpful to be able to use (find callers, find symbol) on large codebases like KDE, Qt etc.
Comment by Eli Schwartz (eschwartz) - Tuesday, 22 January 2019, 03:15 GMT
I'm quite aware what a compilation database is, and if I wasn't aware then your initial link would have clued me in.

You have still completely failed to explain why you thought this was relevant to packaging *binaries* rather than source code. Your latest comment tells me *nothing* I did not already know from your initial feature request, or indeed, from my knowledge about computing which I do in fact possess and indicated as such over a week ago.

Stop trying to tell me what one is, and start trying to explain how you think we should package it...

Loading...