This patch converts ScriptInterpreterPython and ScriptInterpreterNone into plugins as discussed on the mailing list and in previous reviews (e.g. D10189)
This has a number of benefits:
- Generic code no longer makes assumptions about the type of script interpreter in use.
- All interaction between LLDB and Python is localized and isolated to the plugin.
- A link-time dependency is removed from all lldb_private libraries to libpython.
- lldbAPI no longer needs to do a funny dance where it initializes the interpreter with function pointers, the interpreter plugin can just bind to them directly as extern.
This patch creates a couple of new projects as well as alters the structures of some existing ones. So I will need some help getting this working on MacOSX. I am going to tinker with the Xcode project, but I suspect I will get stuck, so if someone can help me out I would appreciate it.