I wrote an update about breaking the rev lock between LLDB & Python: https://jonasdevlieghere.com/post/breaking-lldb-python-revlock/
Breaking the LLDB/Python Revlock

Since its inception, scripting has been an integral part of LLDB. At the time, Python was chosen as the primary, and for a long time the only supported, scripting language. Python is used within LLDB to automate things, write custom data formatters, and extend core concepts like Processes and Threads with an implementation written in Python. Another powerful way to use LLDB is as a debugger library in Python, by importing the lldb module.

@jdevlieghere This is great, thanks for the writeup!

As you probably know we've got a copy of LLDB in the #FreeBSD base system, and ship it without Python support because we don't have Python in base. With some work on our bespoke build infrastructure I hope that we'll be able to have base system LLDB make use of Python from the ports collection.

@emaste Thanks Ed! Yeah, the FreeBSD use case was something I tried to keep in mind as I was working on this. As long as you have Python at package build time, I think it should be pretty easy to achieve, but that's without knowing much about the existing build infrastructure.

@jdevlieghere So we actually won't have Python available at build time, but we also don't depend on swig as a build tool. Right now the generated LLDBWrapLua.cpp is committed to our src tree: https://cgit.freebsd.org/src/tree/lib/clang/liblldb/LLDBWrapLua.cpp

So I'm hopeful we can just do the same with Python, generate LLDBWrapPython.cpp at the time we import a new LLVM release and commit it.

LLDBWrapLua.cpp « liblldb « clang « lib - src - FreeBSD source tree