[cfe-dev] BUILD_SHARED_LIBS=True breaks some tests
David Greene via cfe-dev
cfe-dev at lists.llvm.org
Wed Jan 9 11:27:06 PST 2019
"Joel E. Denny" <jdenny.ornl at gmail.com> writes:
> On Tue, Jan 8, 2019 at 5:14 PM David Greene <dag at cray.com> wrote:
> "Joel E. Denny via cfe-dev" <cfe-dev at lists.llvm.org> writes:
> > Do other Clang developers find BUILD_SHARED_LIBS=True useful? Do
> > see the above failures? Should there be a bot to test that build
> > configuration?
> I don't use BUILD_SHARED_LIBS=True
> One point I'd like to understand is why more people don't use it.
We've argued shared-vs.-static libraries many, many times at Cray and
there are tradeoffs for each. Some of our customers actually require
the use of static libraries as much as possible for security and other
reasons. They generally want to know that what they ran yesterday is
the same thing they ran today. Yes, there are security arguments the
other way as well (security fixes via new shared library versions).
So there's definitely need for static and well as dynamic options.
Mostly we build they way we do because we want to use default options as
much as possible under the assumption that that's what gets the most
> This argument will, of course, lead to an explosion of builders,
> as the set of combinations of cmake variables is very large. It
> would be useful to gather the various configurations people use
> and see if there is a set of common-ish combinations that is small
> enough to regularly test.
> To reduce the configuration space, we could consider combining
> orthogonal options under a single builder. That could make debugging
> some fails a little harder, but it might be worthwhile as it would
> provide more coverage with less builders.
Yeah, that's kind of what I was trying to get at. See if there are
frequently-used combinations of non-default options and test them.
A small set of builders that set all options to non-default values could
certainly be useful and could be set up without doing a survey of use.
The survey could be used to fine-tune builders in order to make tracking
down errors in the most common situations easier.
More information about the cfe-dev