[Lldb-commits] [PATCH] D14790: cmake: add -DLLDB_ALLOW_STATIC_BINDINGS=1, defaults off

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Wed Nov 18 19:36:28 PST 2015


zturner added a comment.

So, this is the last thing I'm going to say on this thread.

What I'm fighting for here is consistency.  We seem to have the same goal (making LLDB easier to build for the casual developer) but a different understanding of how to go about accomplishing this.  From your perspective, you want to reduce the number of dependencies required to build LLDB.  From my perspective, I want to reduce the number of *different* ways of accomplishing the exact same goal.  And reducing a dependency is not a fair trade for increasing the number of ways of doing the same thing.

Yes I'm drawing a line in the sand here, but it's because this has to stop.  We -- as a community -- have to stop adding many ways to do the exact same thing unless it is necessary.  I don't care if it makes things slightly more difficult for someone, the simplicity comes from the consistency.  You don't have to look hard to find examples of we do things differently on our own whims, disregarding established conventions of how to do the same thing.

We have a different coding standard than the rest of LLVM.

We have a different build system than the rest of LLVM.

We have a different directory structure than the rest of LLVM.

We have a different test infrastructure than the rest of LLVM.

*These* are the things that keep casual developers away, not installing swig on their machine.  I know this for a fact, because every time an LLVM developer breaks the buildbot, they send me nasty messages on LLVM's IRC about why it's so hard to run the test suite, how to interpreter the results, why doesn't it just use lit, why are my tab settings all messed up when I open the file in an editor, what is this weird directory structure, I can't even build!

Your goal is to remove the swig dependency, but my goal is to converge on a set of practices and conventions that are the same across all platforms.  That's the ease that I'm looking for.  Maybe this will be possible once the swig service is up and running and everyone can use the latest version of swig.  From my perspective, it's possible right now if we use on-the-fly bindings.  That's why I'm arguing this.  We, as a community, have to share each others' pain in order to reap each others' benefits.  That's how this whole process works.

In any case, lgtm.  Check in this change.  But please consider this in the future.  One way, unless there's no other way.


http://reviews.llvm.org/D14790





More information about the lldb-commits mailing list