Querying build configuration of (lib)lldb from tests.

Hello all,

In <https://reviews.llvm.org/D42145> we have a feature that only works
when lldb was built with xml support. To test this, we need the test
to know whether we were build with xml support.

The typical llvm solution would be to generate some dotest equivalent
of lit.site.cfg at build time, which we could then load from the test
and query for build settings.

However, it has occurred to me that the information about various
build properties (xml suport, libedit support, list of llvm targets we
support) is something that could be useful to other liblldb clients as
well. So, another way of exposing this would be to have a function
(maybe a static function on SBDebugger ?) that the test can call and
get the required information that way.

Do you have any thoughts on how this should be handled? Or maybe know
of an existing way that we could check this information already?


The idea of having a static function in SBDebugger that returns lldb configuration information seems good to me.

Having the API return an SBStructuredData with the full configuration information seems like a pretty future-proof way to do this. I can't see that this data will get sufficiently large that consing up the whole set of config options to answer a single question is going to be a problem, and the info is constant for the run of lldb, so you can cache the result.


I second Jim's idea for a static function on SBDebugger that returns a SBStructuredData

I've created a patch implementing this in
<https://reviews.llvm.org/D43333>. Let me know what you think of it
(particularly of the parts that will become the "stable API").