Start to share SWIG interface files between languages.

Summary:
Move scripts/Python/interface to scripts/interface so that we
can start making iterative improvements towards sharing the
interface files between multiple languages (each of which would
have their own directory as now).

Test Plan: Build and see.

Reviewers: zturner, emaste, clayborg

Reviewed By: clayborg

Subscribers: mjsabby, lldb-commits

Differential Revision: http://reviews.llvm.org/D9212

llvm-svn: 235676
This commit is contained in:
Bruce Mitchener 2015-04-24 00:38:53 +00:00
parent e1a67412cf
commit 17d2730ee0
67 changed files with 168 additions and 162 deletions

View File

@ -1349,7 +1349,7 @@ SEARCH_INCLUDES = YES
# contain include files that are not input files but should be processed by
# the preprocessor.
INCLUDE_PATH = ../scripts/Python/interface
INCLUDE_PATH = ../scripts/interface
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the

View File

@ -3230,7 +3230,7 @@
B2A5872514313B480092BFBA /* SBWatchpoint.i */,
);
name = interface;
path = scripts/Python/interface;
path = scripts/interface;
sourceTree = SOURCE_ROOT;
};
26274FA414030F79006BA130 /* Darwin-Kernel */ = {

View File

@ -1,6 +1,6 @@
set(LLVM_NO_RTTI 1)
file(GLOB SWIG_INTERFACES Python/interface/*.i)
file(GLOB SWIG_INTERFACES interface/*.i)
file(GLOB_RECURSE SWIG_SOURCES *.swig)
if ( LLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION )

View File

@ -131,59 +131,59 @@ HEADER_FILES="${SRC_ROOT}/include/lldb/lldb.h"\
" ${SRC_ROOT}/include/lldb/API/SBWatchpoint.h"\
" ${SRC_ROOT}/include/lldb/API/SBUnixSignals.h"
INTERFACE_FILES="${SRC_ROOT}/scripts/Python/interface/SBAddress.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBAttachInfo.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBBlock.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBBreakpoint.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBBreakpointLocation.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBBroadcaster.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBCommandInterpreter.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBCommandReturnObject.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBCommunication.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBCompileUnit.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBData.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBDebugger.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBDeclaration.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBError.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBEvent.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBExecutionContext.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBExpressionOptions.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBFileSpec.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBFrame.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBFunction.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBHostOS.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBInstruction.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBInstructionList.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBLaunchInfo.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBLineEntry.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBListener.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBModule.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBModuleSpec.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBPlatform.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBProcess.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBQueue.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBQueueItem.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBSourceManager.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBStream.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBStringList.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBSymbol.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBSymbolContext.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBTarget.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBThread.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBThreadCollection.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBThreadPlan.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBType.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBTypeCategory.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBTypeFilter.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBTypeFormat.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBTypeNameSpecifier.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBTypeSummary.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBTypeSynthetic.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBValue.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBValueList.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBVariablesOptions.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBWatchpoint.i"\
" ${SRC_ROOT}/scripts/Python/interface/SBUnixSignals.i"
INTERFACE_FILES="${SRC_ROOT}/scripts/interface/SBAddress.i"\
" ${SRC_ROOT}/scripts/interface/SBAttachInfo.i"\
" ${SRC_ROOT}/scripts/interface/SBBlock.i"\
" ${SRC_ROOT}/scripts/interface/SBBreakpoint.i"\
" ${SRC_ROOT}/scripts/interface/SBBreakpointLocation.i"\
" ${SRC_ROOT}/scripts/interface/SBBroadcaster.i"\
" ${SRC_ROOT}/scripts/interface/SBCommandInterpreter.i"\
" ${SRC_ROOT}/scripts/interface/SBCommandReturnObject.i"\
" ${SRC_ROOT}/scripts/interface/SBCommunication.i"\
" ${SRC_ROOT}/scripts/interface/SBCompileUnit.i"\
" ${SRC_ROOT}/scripts/interface/SBData.i"\
" ${SRC_ROOT}/scripts/interface/SBDebugger.i"\
" ${SRC_ROOT}/scripts/interface/SBDeclaration.i"\
" ${SRC_ROOT}/scripts/interface/SBError.i"\
" ${SRC_ROOT}/scripts/interface/SBEvent.i"\
" ${SRC_ROOT}/scripts/interface/SBExecutionContext.i"\
" ${SRC_ROOT}/scripts/interface/SBExpressionOptions.i"\
" ${SRC_ROOT}/scripts/interface/SBFileSpec.i"\
" ${SRC_ROOT}/scripts/interface/SBFrame.i"\
" ${SRC_ROOT}/scripts/interface/SBFunction.i"\
" ${SRC_ROOT}/scripts/interface/SBHostOS.i"\
" ${SRC_ROOT}/scripts/interface/SBInstruction.i"\
" ${SRC_ROOT}/scripts/interface/SBInstructionList.i"\
" ${SRC_ROOT}/scripts/interface/SBLaunchInfo.i"\
" ${SRC_ROOT}/scripts/interface/SBLineEntry.i"\
" ${SRC_ROOT}/scripts/interface/SBListener.i"\
" ${SRC_ROOT}/scripts/interface/SBModule.i"\
" ${SRC_ROOT}/scripts/interface/SBModuleSpec.i"\
" ${SRC_ROOT}/scripts/interface/SBPlatform.i"\
" ${SRC_ROOT}/scripts/interface/SBProcess.i"\
" ${SRC_ROOT}/scripts/interface/SBQueue.i"\
" ${SRC_ROOT}/scripts/interface/SBQueueItem.i"\
" ${SRC_ROOT}/scripts/interface/SBSourceManager.i"\
" ${SRC_ROOT}/scripts/interface/SBStream.i"\
" ${SRC_ROOT}/scripts/interface/SBStringList.i"\
" ${SRC_ROOT}/scripts/interface/SBSymbol.i"\
" ${SRC_ROOT}/scripts/interface/SBSymbolContext.i"\
" ${SRC_ROOT}/scripts/interface/SBTarget.i"\
" ${SRC_ROOT}/scripts/interface/SBThread.i"\
" ${SRC_ROOT}/scripts/interface/SBThreadCollection.i"\
" ${SRC_ROOT}/scripts/interface/SBThreadPlan.i"\
" ${SRC_ROOT}/scripts/interface/SBType.i"\
" ${SRC_ROOT}/scripts/interface/SBTypeCategory.i"\
" ${SRC_ROOT}/scripts/interface/SBTypeFilter.i"\
" ${SRC_ROOT}/scripts/interface/SBTypeFormat.i"\
" ${SRC_ROOT}/scripts/interface/SBTypeNameSpecifier.i"\
" ${SRC_ROOT}/scripts/interface/SBTypeSummary.i"\
" ${SRC_ROOT}/scripts/interface/SBTypeSynthetic.i"\
" ${SRC_ROOT}/scripts/interface/SBValue.i"\
" ${SRC_ROOT}/scripts/interface/SBValueList.i"\
" ${SRC_ROOT}/scripts/interface/SBVariablesOptions.i"\
" ${SRC_ROOT}/scripts/interface/SBWatchpoint.i"\
" ${SRC_ROOT}/scripts/interface/SBUnixSignals.i"
if [ $Debug -eq 1 ]
then

View File

@ -152,53 +152,53 @@ def get_header_files( vDictArgs ):
#--
def get_interface_files( vDictArgs ):
dbg = utilsDebug.CDebugFnVerbose( "Python script get_interface_files()" );
listIFaceFiles = [ "/scripts/Python/interface/SBAddress.i",
"/scripts/Python/interface/SBAttachInfo.i",
"/scripts/Python/interface/SBBlock.i",
"/scripts/Python/interface/SBBreakpoint.i",
"/scripts/Python/interface/SBBreakpointLocation.i",
"/scripts/Python/interface/SBBroadcaster.i",
"/scripts/Python/interface/SBCommandInterpreter.i",
"/scripts/Python/interface/SBCommandReturnObject.i",
"/scripts/Python/interface/SBCommunication.i",
"/scripts/Python/interface/SBCompileUnit.i",
"/scripts/Python/interface/SBData.i",
"/scripts/Python/interface/SBDebugger.i",
"/scripts/Python/interface/SBDeclaration.i",
"/scripts/Python/interface/SBError.i",
"/scripts/Python/interface/SBEvent.i",
"/scripts/Python/interface/SBExpressionOptions.i",
"/scripts/Python/interface/SBFileSpec.i",
"/scripts/Python/interface/SBFrame.i",
"/scripts/Python/interface/SBFunction.i",
"/scripts/Python/interface/SBHostOS.i",
"/scripts/Python/interface/SBInputReader.i",
"/scripts/Python/interface/SBInstruction.i",
"/scripts/Python/interface/SBInstructionList.i",
"/scripts/Python/interface/SBLaunchInfo.i",
"/scripts/Python/interface/SBLineEntry.i",
"/scripts/Python/interface/SBListener.i",
"/scripts/Python/interface/SBModule.i",
"/scripts/Python/interface/SBModuleSpec.i",
"/scripts/Python/interface/SBProcess.i",
"/scripts/Python/interface/SBSourceManager.i",
"/scripts/Python/interface/SBStream.i",
"/scripts/Python/interface/SBStringList.i",
"/scripts/Python/interface/SBSymbol.i",
"/scripts/Python/interface/SBSymbolContext.i",
"/scripts/Python/interface/SBTarget.i",
"/scripts/Python/interface/SBThread.i",
"/scripts/Python/interface/SBThreadCollection.i",
"/scripts/Python/interface/SBType.i",
"/scripts/Python/interface/SBTypeCategory.i",
"/scripts/Python/interface/SBTypeFilter.i",
"/scripts/Python/interface/SBTypeFormat.i",
"/scripts/Python/interface/SBTypeNameSpecifier.i",
"/scripts/Python/interface/SBTypeSummary.i",
"/scripts/Python/interface/SBTypeSynthetic.i",
"/scripts/Python/interface/SBValue.i",
"/scripts/Python/interface/SBValueList.i",
"/scripts/Python/interface/SBWatchpoint.i" ];
listIFaceFiles = [ "/scripts/interface/SBAddress.i",
"/scripts/interface/SBAttachInfo.i",
"/scripts/interface/SBBlock.i",
"/scripts/interface/SBBreakpoint.i",
"/scripts/interface/SBBreakpointLocation.i",
"/scripts/interface/SBBroadcaster.i",
"/scripts/interface/SBCommandInterpreter.i",
"/scripts/interface/SBCommandReturnObject.i",
"/scripts/interface/SBCommunication.i",
"/scripts/interface/SBCompileUnit.i",
"/scripts/interface/SBData.i",
"/scripts/interface/SBDebugger.i",
"/scripts/interface/SBDeclaration.i",
"/scripts/interface/SBError.i",
"/scripts/interface/SBEvent.i",
"/scripts/interface/SBExpressionOptions.i",
"/scripts/interface/SBFileSpec.i",
"/scripts/interface/SBFrame.i",
"/scripts/interface/SBFunction.i",
"/scripts/interface/SBHostOS.i",
"/scripts/interface/SBInputReader.i",
"/scripts/interface/SBInstruction.i",
"/scripts/interface/SBInstructionList.i",
"/scripts/interface/SBLaunchInfo.i",
"/scripts/interface/SBLineEntry.i",
"/scripts/interface/SBListener.i",
"/scripts/interface/SBModule.i",
"/scripts/interface/SBModuleSpec.i",
"/scripts/interface/SBProcess.i",
"/scripts/interface/SBSourceManager.i",
"/scripts/interface/SBStream.i",
"/scripts/interface/SBStringList.i",
"/scripts/interface/SBSymbol.i",
"/scripts/interface/SBSymbolContext.i",
"/scripts/interface/SBTarget.i",
"/scripts/interface/SBThread.i",
"/scripts/interface/SBThreadCollection.i",
"/scripts/interface/SBType.i",
"/scripts/interface/SBTypeCategory.i",
"/scripts/interface/SBTypeFilter.i",
"/scripts/interface/SBTypeFormat.i",
"/scripts/interface/SBTypeNameSpecifier.i",
"/scripts/interface/SBTypeSummary.i",
"/scripts/interface/SBTypeSynthetic.i",
"/scripts/interface/SBValue.i",
"/scripts/interface/SBValueList.i",
"/scripts/interface/SBWatchpoint.i" ];
bDebug = vDictArgs.has_key( "-d" );
strRt = vDictArgs[ "--srcRoot" ];
strRt = os.path.normcase( strRt );

View File

@ -280,6 +280,9 @@ def run_swig_for_each_script_supported( vDictArgs ):
if nDepth == 0:
break;
# Skip the directory that contains the interface files.
listDirs.remove('interface')
if gbDbgFlag:
print strSwigScriptLangsFound,
for dir in listDirs:

View File

@ -260,6 +260,9 @@ def run_post_process_for_each_script_supported( vDictArgs ):
if nDepth == 0:
break;
# Skip the directory that contains the interface files.
listDirs.remove('interface')
if gbDbgFlag:
print strScriptLangsFound,
for dir in listDirs:

View File

@ -129,63 +129,63 @@ import os
%include "lldb/API/SBDefines.h"
/* Python interface files with docstrings. */
%include "./Python/interface/SBAddress.i"
%include "./Python/interface/SBAttachInfo.i"
%include "./Python/interface/SBBlock.i"
%include "./Python/interface/SBBreakpoint.i"
%include "./Python/interface/SBBreakpointLocation.i"
%include "./Python/interface/SBBroadcaster.i"
%include "./Python/interface/SBCommandInterpreter.i"
%include "./Python/interface/SBCommandReturnObject.i"
%include "./Python/interface/SBCommunication.i"
%include "./Python/interface/SBCompileUnit.i"
%include "./Python/interface/SBData.i"
%include "./Python/interface/SBDebugger.i"
%include "./Python/interface/SBDeclaration.i"
%include "./Python/interface/SBError.i"
%include "./Python/interface/SBEvent.i"
%include "./Python/interface/SBExecutionContext.i"
%include "./Python/interface/SBExpressionOptions.i"
%include "./Python/interface/SBFileSpec.i"
%include "./Python/interface/SBFileSpecList.i"
%include "./Python/interface/SBFrame.i"
%include "./Python/interface/SBFunction.i"
%include "./Python/interface/SBHostOS.i"
%include "./Python/interface/SBInstruction.i"
%include "./Python/interface/SBInstructionList.i"
%include "./Python/interface/SBLaunchInfo.i"
%include "./Python/interface/SBLineEntry.i"
%include "./Python/interface/SBListener.i"
%include "./Python/interface/SBModule.i"
%include "./Python/interface/SBModuleSpec.i"
%include "./Python/interface/SBPlatform.i"
%include "./Python/interface/SBProcess.i"
%include "./Python/interface/SBQueue.i"
%include "./Python/interface/SBQueueItem.i"
%include "./Python/interface/SBSection.i"
%include "./Python/interface/SBSourceManager.i"
%include "./Python/interface/SBStream.i"
%include "./Python/interface/SBStringList.i"
%include "./Python/interface/SBSymbol.i"
%include "./Python/interface/SBSymbolContext.i"
%include "./Python/interface/SBSymbolContextList.i"
%include "./Python/interface/SBTarget.i"
%include "./Python/interface/SBThread.i"
%include "./Python/interface/SBThreadCollection.i"
%include "./Python/interface/SBThreadPlan.i"
%include "./Python/interface/SBType.i"
%include "./Python/interface/SBTypeCategory.i"
%include "./Python/interface/SBTypeEnumMember.i"
%include "./Python/interface/SBTypeFilter.i"
%include "./Python/interface/SBTypeFormat.i"
%include "./Python/interface/SBTypeNameSpecifier.i"
%include "./Python/interface/SBTypeSummary.i"
%include "./Python/interface/SBTypeSynthetic.i"
%include "./Python/interface/SBValue.i"
%include "./Python/interface/SBValueList.i"
%include "./Python/interface/SBVariablesOptions.i"
%include "./Python/interface/SBWatchpoint.i"
%include "./Python/interface/SBUnixSignals.i"
%include "./interface/SBAddress.i"
%include "./interface/SBAttachInfo.i"
%include "./interface/SBBlock.i"
%include "./interface/SBBreakpoint.i"
%include "./interface/SBBreakpointLocation.i"
%include "./interface/SBBroadcaster.i"
%include "./interface/SBCommandInterpreter.i"
%include "./interface/SBCommandReturnObject.i"
%include "./interface/SBCommunication.i"
%include "./interface/SBCompileUnit.i"
%include "./interface/SBData.i"
%include "./interface/SBDebugger.i"
%include "./interface/SBDeclaration.i"
%include "./interface/SBError.i"
%include "./interface/SBEvent.i"
%include "./interface/SBExecutionContext.i"
%include "./interface/SBExpressionOptions.i"
%include "./interface/SBFileSpec.i"
%include "./interface/SBFileSpecList.i"
%include "./interface/SBFrame.i"
%include "./interface/SBFunction.i"
%include "./interface/SBHostOS.i"
%include "./interface/SBInstruction.i"
%include "./interface/SBInstructionList.i"
%include "./interface/SBLaunchInfo.i"
%include "./interface/SBLineEntry.i"
%include "./interface/SBListener.i"
%include "./interface/SBModule.i"
%include "./interface/SBModuleSpec.i"
%include "./interface/SBPlatform.i"
%include "./interface/SBProcess.i"
%include "./interface/SBQueue.i"
%include "./interface/SBQueueItem.i"
%include "./interface/SBSection.i"
%include "./interface/SBSourceManager.i"
%include "./interface/SBStream.i"
%include "./interface/SBStringList.i"
%include "./interface/SBSymbol.i"
%include "./interface/SBSymbolContext.i"
%include "./interface/SBSymbolContextList.i"
%include "./interface/SBTarget.i"
%include "./interface/SBThread.i"
%include "./interface/SBThreadCollection.i"
%include "./interface/SBThreadPlan.i"
%include "./interface/SBType.i"
%include "./interface/SBTypeCategory.i"
%include "./interface/SBTypeEnumMember.i"
%include "./interface/SBTypeFilter.i"
%include "./interface/SBTypeFormat.i"
%include "./interface/SBTypeNameSpecifier.i"
%include "./interface/SBTypeSummary.i"
%include "./interface/SBTypeSynthetic.i"
%include "./interface/SBValue.i"
%include "./interface/SBValueList.i"
%include "./interface/SBVariablesOptions.i"
%include "./interface/SBWatchpoint.i"
%include "./interface/SBUnixSignals.i"
%include "./Python/python-extensions.swig"

View File

@ -36,7 +36,7 @@ PYTHON_DIR := $(PROJ_OBJ_ROOT)/$(BuildMode)
SWIG_SOURCES := $(shell find $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts -type f -name '*.swig' -print)
LLDBWrapPython.cpp lldb.py: $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/modify-python-lldb.py \
$(wildcard $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/interface/*.i) \
$(wildcard $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/interface/*.i) \
${SWIG_SOURCES}
$(Echo) Generating LLDBWrapPython.cpp
$(Verb) "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/build-swig-wrapper-classes.sh" "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)" "$(PROJ_OBJ_DIR)" "$(PROJ_OBJ_DIR)" "$(PYTHON_DIR)" -m $(if $(DISABLE_AUTO_DEPENDENCIES),,-M)

View File

@ -59,7 +59,7 @@
<p>Another piece of the SB API infrastructure is the Python (or other script interpreter) customization.
SWIG allows you to add property access, iterators and documentation to classes, but to do that you have to use
a Swig interface file in place of the .h file. Those files have a different format than a straight C++ header file. These
files are called SB&lt;ClassName&gt;.i, and live in "scripts/Python/interface". They are constructed by
files are called SB&lt;ClassName&gt;.i, and live in "scripts/interface". They are constructed by
starting with the associated .h file, and adding documentation and the Python decorations, etc. We
do this in a decidedly low-tech way, by maintaining the two files in parallel. That simplifies the
build process, but it does mean that if you add a method to the C++ API's for an SB class, you have