[Lldb-commits] [PATCH] D11431: Convert ScriptInterpreters to being first-class plugins
Zachary Turner
zturner at google.com
Wed Jul 22 14:41:21 PDT 2015
zturner created this revision.
zturner added a reviewer: clayborg.
zturner added a subscriber: lldb-commits.
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:
1) Generic code no longer makes assumptions about the type of script interpreter in use.
2) All interaction between LLDB and Python is localized and isolated to the plugin.
3) A link-time dependency is removed from all lldb_private libraries to libpython.
4) 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.
http://reviews.llvm.org/D11431
Files:
include/lldb/API/SBCommandInterpreter.h
include/lldb/API/SystemInitializerFull.h
include/lldb/Core/PluginManager.h
include/lldb/Interpreter/CommandInterpreter.h
include/lldb/Interpreter/PythonDataObjects.h
include/lldb/Interpreter/ScriptInterpreter.h
include/lldb/Interpreter/ScriptInterpreterNone.h
include/lldb/Interpreter/ScriptInterpreterPython.h
include/lldb/Utility/PythonPointer.h
include/lldb/lldb-forward.h
include/lldb/lldb-private-interfaces.h
include/lldb/lldb-python.h
lldb.xcodeproj/project.pbxproj
source/API/CMakeLists.txt
source/API/SBCommandInterpreter.cpp
source/API/SystemInitializerFull.cpp
source/Core/PluginManager.cpp
source/Host/macosx/HostInfoMacOSX.mm
source/Host/posix/HostInfoPosix.cpp
source/Initialization/SystemInitializerCommon.cpp
source/Interpreter/CMakeLists.txt
source/Interpreter/CommandInterpreter.cpp
source/Interpreter/PythonDataObjects.cpp
source/Interpreter/ScriptInterpreterNone.cpp
source/Interpreter/ScriptInterpreterPython.cpp
source/Plugins/CMakeLists.txt
source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
source/Plugins/ScriptInterpreter/CMakeLists.txt
source/Plugins/ScriptInterpreter/None/CMakeLists.txt
source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp
source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h
source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
source/Plugins/ScriptInterpreter/Python/lldb-python.h
unittests/CMakeLists.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11431.30403.patch
Type: text/x-patch
Size: 387360 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150722/b80675af/attachment.bin>
More information about the lldb-commits
mailing list