Deprecating the SWIG generation shell scripts

Currently there are two parallel sets of scripts for generating SWIG. One is a set of python scripts in lldb/scripts, and another is a set of unix shell scripts also in lldb/scripts.

My understanding of the current state of build systems is:

  1. Make/autoconf uses the shell scripts
  2. CMake uses shell scripts by default, and python scripts with an option
  3. MacOSX build uses shell scripts

On Windows there is no way to run a shell scripts, so the python scripts are the only option for us.

I would like to propose deprecating the shell scripts, and transitioning all the builds to the python scripts. The motivation is so that we do not have to maintain two different scripts that are ultimately identical, lest they will slowly diverge which will be bad for everyone.

I’ve been using the python scripts for SWIG generation on Windows for about 3-4 months now with no issues, so it should be pretty close, if not fully compatible with the shell scripts.

Leading up to a deprecation, my plan was to first switch the CMake build to default to using python. I think Linux is the only platform regularly using the CMake build, so this would allow us to catch any portability issues without bringing everyone down.

After a few weeks, then maybe Mac people could update their build script to call the python script instead of the shell script and see if any issues arise. Most of the options are the same, so this should be only a small amount of work.


Developers building LLDB on FreeBSD typically use CMake as well. We
have two x86 bots, one uses CMake and one uses the configure build.