Why do we support both configure and cmake generation?

Hi all,

We’re having a problem right now where the buildbot (which uses configure) is working but we’re unable to build locally with cmake. We’re investigating the cmake problem now.

The question is, if we have CMake files (which can generate ninja or make among others) Why do we still have configure/make?



See PR15732 for LLVM's reasons [1]. LLDB may have an independent set of
concerns, though.

[1]: http://llvm.org/bugs/show_bug.cgi?id=15732

This is an issue on the LLVM side too. There’s a master bug somewhere on the LLVM side tracking this, but the TL;DR is that CMake doesn’t support everything (particularly when it comes to install) that the configure build supports. Most of the interested players that I’m aware of have said they won’t mind dropping Make in favor of CMake once those issues are taken care of. But FWIU they’re not easy.

Can LLDB really be built with python/swig using configure? I grepped for finishSwigWrapperClasses and finish-swig-wrapper-classes in all of llvm + clang + lldb, but only found references to finishSwigWrapperClasses in the lldb cmake files.

Yep. I do it.

Python/swig will not be built for Windows using configure yet.
That only works through CMake for now and use Python scripts(which refer to finishSwigWrapperClasses) instead of shell scripts for that.

The Python scripts for Python/swig are portable and work on Windows, Linux, possibly OS X too.