[Scons-users] CompilationDatabase support for SCons

Andrew C. Morrow andrew.c.morrow at gmail.com
Sat Aug 3 10:51:55 EDT 2013


I'm interested in writing some clang tools with LibTooling for a codebase
that uses SCons as its build system. LibTooling is driven by an artifact
known as a CompilationDatabase, which captures state about the build so
that the tool can be consistently invoked:

http://clang.llvm.org/docs/JSONCompilationDatabase.html

CMake has support for emitting a CompilationDatabase as a side effect of a
build. I'd like to consider adding similar support to SCons. Before I
start, though, a few questions:

- Would such support be considered for inclusion in SCons?

- If so, is anyone already working on this? I'd prefer not to duplicate the
effort.

- There was recently a thread here about support for considering all
targets out of date. I believe such a thing would be needed to produce a
compilation database as well (probably along with running in --dry-run
mode). The solution in that thread was a custom Decider, but this doesn't
work well if the goal is to support emitting a compilation database without
users needing to customize the Environment. Would support for emitting a
CompilationDatabase justify adding direct support for the "consider all out
of date" feature?

- What, generally, is the right place to begin? Should CompilationDatabase
support be a tool? A side effect of invoking the Object and SharedObject
builders? How should this be done if the goal is to support this in such a
way that it continues to operate if users customize their own Object
builders?

Thanks,
Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20130803/fc06a6a9/attachment.html


More information about the Scons-users mailing list