From 17d2730ee039692d0ae02ff2cfbea691bf8fcf11 Mon Sep 17 00:00:00 2001 From: Bruce Mitchener Date: Fri, 24 Apr 2015 00:38:53 +0000 Subject: [PATCH] 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 --- lldb/docs/doxygen.cfg.in | 2 +- lldb/lldb.xcodeproj/project.pbxproj | 2 +- lldb/scripts/CMakeLists.txt | 2 +- lldb/scripts/Python/build-swig-Python.sh | 106 +++++++++---------- lldb/scripts/Python/buildSwigPython.py | 94 ++++++++--------- lldb/scripts/buildSwigWrapperClasses.py | 3 + lldb/scripts/finishSwigWrapperClasses.py | 3 + lldb/scripts/{Python => }/interface/SBAddress.i | 0 lldb/scripts/{Python => }/interface/SBAttachInfo.i | 0 lldb/scripts/{Python => }/interface/SBBlock.i | 0 lldb/scripts/{Python => }/interface/SBBreakpoint.i | 0 .../{Python => }/interface/SBBreakpointLocation.i | 0 .../scripts/{Python => }/interface/SBBroadcaster.i | 0 .../{Python => }/interface/SBCommandInterpreter.i | 0 .../{Python => }/interface/SBCommandReturnObject.i | 0 .../{Python => }/interface/SBCommunication.i | 0 .../scripts/{Python => }/interface/SBCompileUnit.i | 0 lldb/scripts/{Python => }/interface/SBData.i | 0 lldb/scripts/{Python => }/interface/SBDebugger.i | 0 .../scripts/{Python => }/interface/SBDeclaration.i | 0 lldb/scripts/{Python => }/interface/SBError.i | 0 lldb/scripts/{Python => }/interface/SBEvent.i | 0 .../{Python => }/interface/SBExecutionContext.i | 0 .../{Python => }/interface/SBExpressionOptions.i | 0 lldb/scripts/{Python => }/interface/SBFileSpec.i | 0 .../{Python => }/interface/SBFileSpecList.i | 0 lldb/scripts/{Python => }/interface/SBFrame.i | 0 lldb/scripts/{Python => }/interface/SBFunction.i | 0 lldb/scripts/{Python => }/interface/SBHostOS.i | 0 .../scripts/{Python => }/interface/SBInstruction.i | 0 .../{Python => }/interface/SBInstructionList.i | 0 lldb/scripts/{Python => }/interface/SBLaunchInfo.i | 0 lldb/scripts/{Python => }/interface/SBLineEntry.i | 0 lldb/scripts/{Python => }/interface/SBListener.i | 0 lldb/scripts/{Python => }/interface/SBModule.i | 0 lldb/scripts/{Python => }/interface/SBModuleSpec.i | 0 lldb/scripts/{Python => }/interface/SBPlatform.i | 0 lldb/scripts/{Python => }/interface/SBProcess.i | 0 lldb/scripts/{Python => }/interface/SBQueue.i | 0 lldb/scripts/{Python => }/interface/SBQueueItem.i | 0 lldb/scripts/{Python => }/interface/SBSection.i | 0 .../{Python => }/interface/SBSourceManager.i | 0 lldb/scripts/{Python => }/interface/SBStream.i | 0 lldb/scripts/{Python => }/interface/SBStringList.i | 0 lldb/scripts/{Python => }/interface/SBSymbol.i | 0 .../{Python => }/interface/SBSymbolContext.i | 0 .../{Python => }/interface/SBSymbolContextList.i | 0 lldb/scripts/{Python => }/interface/SBTarget.i | 0 lldb/scripts/{Python => }/interface/SBThread.i | 0 .../{Python => }/interface/SBThreadCollection.i | 0 lldb/scripts/{Python => }/interface/SBThreadPlan.i | 0 lldb/scripts/{Python => }/interface/SBType.i | 0 .../{Python => }/interface/SBTypeCategory.i | 0 .../{Python => }/interface/SBTypeEnumMember.i | 0 lldb/scripts/{Python => }/interface/SBTypeFilter.i | 0 lldb/scripts/{Python => }/interface/SBTypeFormat.i | 0 .../{Python => }/interface/SBTypeNameSpecifier.i | 0 .../scripts/{Python => }/interface/SBTypeSummary.i | 0 .../{Python => }/interface/SBTypeSynthetic.i | 0 .../scripts/{Python => }/interface/SBUnixSignals.i | 0 lldb/scripts/{Python => }/interface/SBValue.i | 0 lldb/scripts/{Python => }/interface/SBValueList.i | 0 .../{Python => }/interface/SBVariablesOptions.i | 0 lldb/scripts/{Python => }/interface/SBWatchpoint.i | 0 lldb/scripts/lldb.swig | 114 ++++++++++----------- lldb/source/Interpreter/Makefile | 2 +- lldb/www/SB-api-coding-rules.html | 2 +- 67 files changed, 168 insertions(+), 162 deletions(-) rename lldb/scripts/{Python => }/interface/SBAddress.i (100%) rename lldb/scripts/{Python => }/interface/SBAttachInfo.i (100%) rename lldb/scripts/{Python => }/interface/SBBlock.i (100%) rename lldb/scripts/{Python => }/interface/SBBreakpoint.i (100%) rename lldb/scripts/{Python => }/interface/SBBreakpointLocation.i (100%) rename lldb/scripts/{Python => }/interface/SBBroadcaster.i (100%) rename lldb/scripts/{Python => }/interface/SBCommandInterpreter.i (100%) rename lldb/scripts/{Python => }/interface/SBCommandReturnObject.i (100%) rename lldb/scripts/{Python => }/interface/SBCommunication.i (100%) rename lldb/scripts/{Python => }/interface/SBCompileUnit.i (100%) rename lldb/scripts/{Python => }/interface/SBData.i (100%) rename lldb/scripts/{Python => }/interface/SBDebugger.i (100%) rename lldb/scripts/{Python => }/interface/SBDeclaration.i (100%) rename lldb/scripts/{Python => }/interface/SBError.i (100%) rename lldb/scripts/{Python => }/interface/SBEvent.i (100%) rename lldb/scripts/{Python => }/interface/SBExecutionContext.i (100%) rename lldb/scripts/{Python => }/interface/SBExpressionOptions.i (100%) rename lldb/scripts/{Python => }/interface/SBFileSpec.i (100%) rename lldb/scripts/{Python => }/interface/SBFileSpecList.i (100%) rename lldb/scripts/{Python => }/interface/SBFrame.i (100%) rename lldb/scripts/{Python => }/interface/SBFunction.i (100%) rename lldb/scripts/{Python => }/interface/SBHostOS.i (100%) rename lldb/scripts/{Python => }/interface/SBInstruction.i (100%) rename lldb/scripts/{Python => }/interface/SBInstructionList.i (100%) rename lldb/scripts/{Python => }/interface/SBLaunchInfo.i (100%) rename lldb/scripts/{Python => }/interface/SBLineEntry.i (100%) rename lldb/scripts/{Python => }/interface/SBListener.i (100%) rename lldb/scripts/{Python => }/interface/SBModule.i (100%) rename lldb/scripts/{Python => }/interface/SBModuleSpec.i (100%) rename lldb/scripts/{Python => }/interface/SBPlatform.i (100%) rename lldb/scripts/{Python => }/interface/SBProcess.i (100%) rename lldb/scripts/{Python => }/interface/SBQueue.i (100%) rename lldb/scripts/{Python => }/interface/SBQueueItem.i (100%) rename lldb/scripts/{Python => }/interface/SBSection.i (100%) rename lldb/scripts/{Python => }/interface/SBSourceManager.i (100%) rename lldb/scripts/{Python => }/interface/SBStream.i (100%) rename lldb/scripts/{Python => }/interface/SBStringList.i (100%) rename lldb/scripts/{Python => }/interface/SBSymbol.i (100%) rename lldb/scripts/{Python => }/interface/SBSymbolContext.i (100%) rename lldb/scripts/{Python => }/interface/SBSymbolContextList.i (100%) rename lldb/scripts/{Python => }/interface/SBTarget.i (100%) rename lldb/scripts/{Python => }/interface/SBThread.i (100%) rename lldb/scripts/{Python => }/interface/SBThreadCollection.i (100%) rename lldb/scripts/{Python => }/interface/SBThreadPlan.i (100%) rename lldb/scripts/{Python => }/interface/SBType.i (100%) rename lldb/scripts/{Python => }/interface/SBTypeCategory.i (100%) rename lldb/scripts/{Python => }/interface/SBTypeEnumMember.i (100%) rename lldb/scripts/{Python => }/interface/SBTypeFilter.i (100%) rename lldb/scripts/{Python => }/interface/SBTypeFormat.i (100%) rename lldb/scripts/{Python => }/interface/SBTypeNameSpecifier.i (100%) rename lldb/scripts/{Python => }/interface/SBTypeSummary.i (100%) rename lldb/scripts/{Python => }/interface/SBTypeSynthetic.i (100%) rename lldb/scripts/{Python => }/interface/SBUnixSignals.i (100%) rename lldb/scripts/{Python => }/interface/SBValue.i (100%) rename lldb/scripts/{Python => }/interface/SBValueList.i (100%) rename lldb/scripts/{Python => }/interface/SBVariablesOptions.i (100%) rename lldb/scripts/{Python => }/interface/SBWatchpoint.i (100%) diff --git a/lldb/docs/doxygen.cfg.in b/lldb/docs/doxygen.cfg.in index 72eedca..725a26f 100644 --- a/lldb/docs/doxygen.cfg.in +++ b/lldb/docs/doxygen.cfg.in @@ -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 diff --git a/lldb/lldb.xcodeproj/project.pbxproj b/lldb/lldb.xcodeproj/project.pbxproj index 04de6fa..7c1deb0 100644 --- a/lldb/lldb.xcodeproj/project.pbxproj +++ b/lldb/lldb.xcodeproj/project.pbxproj @@ -3230,7 +3230,7 @@ B2A5872514313B480092BFBA /* SBWatchpoint.i */, ); name = interface; - path = scripts/Python/interface; + path = scripts/interface; sourceTree = SOURCE_ROOT; }; 26274FA414030F79006BA130 /* Darwin-Kernel */ = { diff --git a/lldb/scripts/CMakeLists.txt b/lldb/scripts/CMakeLists.txt index 98a61f8..9cfe6b9 100644 --- a/lldb/scripts/CMakeLists.txt +++ b/lldb/scripts/CMakeLists.txt @@ -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 ) diff --git a/lldb/scripts/Python/build-swig-Python.sh b/lldb/scripts/Python/build-swig-Python.sh index 833845e..bedd4de 100755 --- a/lldb/scripts/Python/build-swig-Python.sh +++ b/lldb/scripts/Python/build-swig-Python.sh @@ -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 diff --git a/lldb/scripts/Python/buildSwigPython.py b/lldb/scripts/Python/buildSwigPython.py index c69b24f..0ba22e7 100644 --- a/lldb/scripts/Python/buildSwigPython.py +++ b/lldb/scripts/Python/buildSwigPython.py @@ -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 ); diff --git a/lldb/scripts/buildSwigWrapperClasses.py b/lldb/scripts/buildSwigWrapperClasses.py index ad3ef4e..153df58 100644 --- a/lldb/scripts/buildSwigWrapperClasses.py +++ b/lldb/scripts/buildSwigWrapperClasses.py @@ -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: diff --git a/lldb/scripts/finishSwigWrapperClasses.py b/lldb/scripts/finishSwigWrapperClasses.py index 6cfc255..f11d53d 100644 --- a/lldb/scripts/finishSwigWrapperClasses.py +++ b/lldb/scripts/finishSwigWrapperClasses.py @@ -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: diff --git a/lldb/scripts/Python/interface/SBAddress.i b/lldb/scripts/interface/SBAddress.i similarity index 100% rename from lldb/scripts/Python/interface/SBAddress.i rename to lldb/scripts/interface/SBAddress.i diff --git a/lldb/scripts/Python/interface/SBAttachInfo.i b/lldb/scripts/interface/SBAttachInfo.i similarity index 100% rename from lldb/scripts/Python/interface/SBAttachInfo.i rename to lldb/scripts/interface/SBAttachInfo.i diff --git a/lldb/scripts/Python/interface/SBBlock.i b/lldb/scripts/interface/SBBlock.i similarity index 100% rename from lldb/scripts/Python/interface/SBBlock.i rename to lldb/scripts/interface/SBBlock.i diff --git a/lldb/scripts/Python/interface/SBBreakpoint.i b/lldb/scripts/interface/SBBreakpoint.i similarity index 100% rename from lldb/scripts/Python/interface/SBBreakpoint.i rename to lldb/scripts/interface/SBBreakpoint.i diff --git a/lldb/scripts/Python/interface/SBBreakpointLocation.i b/lldb/scripts/interface/SBBreakpointLocation.i similarity index 100% rename from lldb/scripts/Python/interface/SBBreakpointLocation.i rename to lldb/scripts/interface/SBBreakpointLocation.i diff --git a/lldb/scripts/Python/interface/SBBroadcaster.i b/lldb/scripts/interface/SBBroadcaster.i similarity index 100% rename from lldb/scripts/Python/interface/SBBroadcaster.i rename to lldb/scripts/interface/SBBroadcaster.i diff --git a/lldb/scripts/Python/interface/SBCommandInterpreter.i b/lldb/scripts/interface/SBCommandInterpreter.i similarity index 100% rename from lldb/scripts/Python/interface/SBCommandInterpreter.i rename to lldb/scripts/interface/SBCommandInterpreter.i diff --git a/lldb/scripts/Python/interface/SBCommandReturnObject.i b/lldb/scripts/interface/SBCommandReturnObject.i similarity index 100% rename from lldb/scripts/Python/interface/SBCommandReturnObject.i rename to lldb/scripts/interface/SBCommandReturnObject.i diff --git a/lldb/scripts/Python/interface/SBCommunication.i b/lldb/scripts/interface/SBCommunication.i similarity index 100% rename from lldb/scripts/Python/interface/SBCommunication.i rename to lldb/scripts/interface/SBCommunication.i diff --git a/lldb/scripts/Python/interface/SBCompileUnit.i b/lldb/scripts/interface/SBCompileUnit.i similarity index 100% rename from lldb/scripts/Python/interface/SBCompileUnit.i rename to lldb/scripts/interface/SBCompileUnit.i diff --git a/lldb/scripts/Python/interface/SBData.i b/lldb/scripts/interface/SBData.i similarity index 100% rename from lldb/scripts/Python/interface/SBData.i rename to lldb/scripts/interface/SBData.i diff --git a/lldb/scripts/Python/interface/SBDebugger.i b/lldb/scripts/interface/SBDebugger.i similarity index 100% rename from lldb/scripts/Python/interface/SBDebugger.i rename to lldb/scripts/interface/SBDebugger.i diff --git a/lldb/scripts/Python/interface/SBDeclaration.i b/lldb/scripts/interface/SBDeclaration.i similarity index 100% rename from lldb/scripts/Python/interface/SBDeclaration.i rename to lldb/scripts/interface/SBDeclaration.i diff --git a/lldb/scripts/Python/interface/SBError.i b/lldb/scripts/interface/SBError.i similarity index 100% rename from lldb/scripts/Python/interface/SBError.i rename to lldb/scripts/interface/SBError.i diff --git a/lldb/scripts/Python/interface/SBEvent.i b/lldb/scripts/interface/SBEvent.i similarity index 100% rename from lldb/scripts/Python/interface/SBEvent.i rename to lldb/scripts/interface/SBEvent.i diff --git a/lldb/scripts/Python/interface/SBExecutionContext.i b/lldb/scripts/interface/SBExecutionContext.i similarity index 100% rename from lldb/scripts/Python/interface/SBExecutionContext.i rename to lldb/scripts/interface/SBExecutionContext.i diff --git a/lldb/scripts/Python/interface/SBExpressionOptions.i b/lldb/scripts/interface/SBExpressionOptions.i similarity index 100% rename from lldb/scripts/Python/interface/SBExpressionOptions.i rename to lldb/scripts/interface/SBExpressionOptions.i diff --git a/lldb/scripts/Python/interface/SBFileSpec.i b/lldb/scripts/interface/SBFileSpec.i similarity index 100% rename from lldb/scripts/Python/interface/SBFileSpec.i rename to lldb/scripts/interface/SBFileSpec.i diff --git a/lldb/scripts/Python/interface/SBFileSpecList.i b/lldb/scripts/interface/SBFileSpecList.i similarity index 100% rename from lldb/scripts/Python/interface/SBFileSpecList.i rename to lldb/scripts/interface/SBFileSpecList.i diff --git a/lldb/scripts/Python/interface/SBFrame.i b/lldb/scripts/interface/SBFrame.i similarity index 100% rename from lldb/scripts/Python/interface/SBFrame.i rename to lldb/scripts/interface/SBFrame.i diff --git a/lldb/scripts/Python/interface/SBFunction.i b/lldb/scripts/interface/SBFunction.i similarity index 100% rename from lldb/scripts/Python/interface/SBFunction.i rename to lldb/scripts/interface/SBFunction.i diff --git a/lldb/scripts/Python/interface/SBHostOS.i b/lldb/scripts/interface/SBHostOS.i similarity index 100% rename from lldb/scripts/Python/interface/SBHostOS.i rename to lldb/scripts/interface/SBHostOS.i diff --git a/lldb/scripts/Python/interface/SBInstruction.i b/lldb/scripts/interface/SBInstruction.i similarity index 100% rename from lldb/scripts/Python/interface/SBInstruction.i rename to lldb/scripts/interface/SBInstruction.i diff --git a/lldb/scripts/Python/interface/SBInstructionList.i b/lldb/scripts/interface/SBInstructionList.i similarity index 100% rename from lldb/scripts/Python/interface/SBInstructionList.i rename to lldb/scripts/interface/SBInstructionList.i diff --git a/lldb/scripts/Python/interface/SBLaunchInfo.i b/lldb/scripts/interface/SBLaunchInfo.i similarity index 100% rename from lldb/scripts/Python/interface/SBLaunchInfo.i rename to lldb/scripts/interface/SBLaunchInfo.i diff --git a/lldb/scripts/Python/interface/SBLineEntry.i b/lldb/scripts/interface/SBLineEntry.i similarity index 100% rename from lldb/scripts/Python/interface/SBLineEntry.i rename to lldb/scripts/interface/SBLineEntry.i diff --git a/lldb/scripts/Python/interface/SBListener.i b/lldb/scripts/interface/SBListener.i similarity index 100% rename from lldb/scripts/Python/interface/SBListener.i rename to lldb/scripts/interface/SBListener.i diff --git a/lldb/scripts/Python/interface/SBModule.i b/lldb/scripts/interface/SBModule.i similarity index 100% rename from lldb/scripts/Python/interface/SBModule.i rename to lldb/scripts/interface/SBModule.i diff --git a/lldb/scripts/Python/interface/SBModuleSpec.i b/lldb/scripts/interface/SBModuleSpec.i similarity index 100% rename from lldb/scripts/Python/interface/SBModuleSpec.i rename to lldb/scripts/interface/SBModuleSpec.i diff --git a/lldb/scripts/Python/interface/SBPlatform.i b/lldb/scripts/interface/SBPlatform.i similarity index 100% rename from lldb/scripts/Python/interface/SBPlatform.i rename to lldb/scripts/interface/SBPlatform.i diff --git a/lldb/scripts/Python/interface/SBProcess.i b/lldb/scripts/interface/SBProcess.i similarity index 100% rename from lldb/scripts/Python/interface/SBProcess.i rename to lldb/scripts/interface/SBProcess.i diff --git a/lldb/scripts/Python/interface/SBQueue.i b/lldb/scripts/interface/SBQueue.i similarity index 100% rename from lldb/scripts/Python/interface/SBQueue.i rename to lldb/scripts/interface/SBQueue.i diff --git a/lldb/scripts/Python/interface/SBQueueItem.i b/lldb/scripts/interface/SBQueueItem.i similarity index 100% rename from lldb/scripts/Python/interface/SBQueueItem.i rename to lldb/scripts/interface/SBQueueItem.i diff --git a/lldb/scripts/Python/interface/SBSection.i b/lldb/scripts/interface/SBSection.i similarity index 100% rename from lldb/scripts/Python/interface/SBSection.i rename to lldb/scripts/interface/SBSection.i diff --git a/lldb/scripts/Python/interface/SBSourceManager.i b/lldb/scripts/interface/SBSourceManager.i similarity index 100% rename from lldb/scripts/Python/interface/SBSourceManager.i rename to lldb/scripts/interface/SBSourceManager.i diff --git a/lldb/scripts/Python/interface/SBStream.i b/lldb/scripts/interface/SBStream.i similarity index 100% rename from lldb/scripts/Python/interface/SBStream.i rename to lldb/scripts/interface/SBStream.i diff --git a/lldb/scripts/Python/interface/SBStringList.i b/lldb/scripts/interface/SBStringList.i similarity index 100% rename from lldb/scripts/Python/interface/SBStringList.i rename to lldb/scripts/interface/SBStringList.i diff --git a/lldb/scripts/Python/interface/SBSymbol.i b/lldb/scripts/interface/SBSymbol.i similarity index 100% rename from lldb/scripts/Python/interface/SBSymbol.i rename to lldb/scripts/interface/SBSymbol.i diff --git a/lldb/scripts/Python/interface/SBSymbolContext.i b/lldb/scripts/interface/SBSymbolContext.i similarity index 100% rename from lldb/scripts/Python/interface/SBSymbolContext.i rename to lldb/scripts/interface/SBSymbolContext.i diff --git a/lldb/scripts/Python/interface/SBSymbolContextList.i b/lldb/scripts/interface/SBSymbolContextList.i similarity index 100% rename from lldb/scripts/Python/interface/SBSymbolContextList.i rename to lldb/scripts/interface/SBSymbolContextList.i diff --git a/lldb/scripts/Python/interface/SBTarget.i b/lldb/scripts/interface/SBTarget.i similarity index 100% rename from lldb/scripts/Python/interface/SBTarget.i rename to lldb/scripts/interface/SBTarget.i diff --git a/lldb/scripts/Python/interface/SBThread.i b/lldb/scripts/interface/SBThread.i similarity index 100% rename from lldb/scripts/Python/interface/SBThread.i rename to lldb/scripts/interface/SBThread.i diff --git a/lldb/scripts/Python/interface/SBThreadCollection.i b/lldb/scripts/interface/SBThreadCollection.i similarity index 100% rename from lldb/scripts/Python/interface/SBThreadCollection.i rename to lldb/scripts/interface/SBThreadCollection.i diff --git a/lldb/scripts/Python/interface/SBThreadPlan.i b/lldb/scripts/interface/SBThreadPlan.i similarity index 100% rename from lldb/scripts/Python/interface/SBThreadPlan.i rename to lldb/scripts/interface/SBThreadPlan.i diff --git a/lldb/scripts/Python/interface/SBType.i b/lldb/scripts/interface/SBType.i similarity index 100% rename from lldb/scripts/Python/interface/SBType.i rename to lldb/scripts/interface/SBType.i diff --git a/lldb/scripts/Python/interface/SBTypeCategory.i b/lldb/scripts/interface/SBTypeCategory.i similarity index 100% rename from lldb/scripts/Python/interface/SBTypeCategory.i rename to lldb/scripts/interface/SBTypeCategory.i diff --git a/lldb/scripts/Python/interface/SBTypeEnumMember.i b/lldb/scripts/interface/SBTypeEnumMember.i similarity index 100% rename from lldb/scripts/Python/interface/SBTypeEnumMember.i rename to lldb/scripts/interface/SBTypeEnumMember.i diff --git a/lldb/scripts/Python/interface/SBTypeFilter.i b/lldb/scripts/interface/SBTypeFilter.i similarity index 100% rename from lldb/scripts/Python/interface/SBTypeFilter.i rename to lldb/scripts/interface/SBTypeFilter.i diff --git a/lldb/scripts/Python/interface/SBTypeFormat.i b/lldb/scripts/interface/SBTypeFormat.i similarity index 100% rename from lldb/scripts/Python/interface/SBTypeFormat.i rename to lldb/scripts/interface/SBTypeFormat.i diff --git a/lldb/scripts/Python/interface/SBTypeNameSpecifier.i b/lldb/scripts/interface/SBTypeNameSpecifier.i similarity index 100% rename from lldb/scripts/Python/interface/SBTypeNameSpecifier.i rename to lldb/scripts/interface/SBTypeNameSpecifier.i diff --git a/lldb/scripts/Python/interface/SBTypeSummary.i b/lldb/scripts/interface/SBTypeSummary.i similarity index 100% rename from lldb/scripts/Python/interface/SBTypeSummary.i rename to lldb/scripts/interface/SBTypeSummary.i diff --git a/lldb/scripts/Python/interface/SBTypeSynthetic.i b/lldb/scripts/interface/SBTypeSynthetic.i similarity index 100% rename from lldb/scripts/Python/interface/SBTypeSynthetic.i rename to lldb/scripts/interface/SBTypeSynthetic.i diff --git a/lldb/scripts/Python/interface/SBUnixSignals.i b/lldb/scripts/interface/SBUnixSignals.i similarity index 100% rename from lldb/scripts/Python/interface/SBUnixSignals.i rename to lldb/scripts/interface/SBUnixSignals.i diff --git a/lldb/scripts/Python/interface/SBValue.i b/lldb/scripts/interface/SBValue.i similarity index 100% rename from lldb/scripts/Python/interface/SBValue.i rename to lldb/scripts/interface/SBValue.i diff --git a/lldb/scripts/Python/interface/SBValueList.i b/lldb/scripts/interface/SBValueList.i similarity index 100% rename from lldb/scripts/Python/interface/SBValueList.i rename to lldb/scripts/interface/SBValueList.i diff --git a/lldb/scripts/Python/interface/SBVariablesOptions.i b/lldb/scripts/interface/SBVariablesOptions.i similarity index 100% rename from lldb/scripts/Python/interface/SBVariablesOptions.i rename to lldb/scripts/interface/SBVariablesOptions.i diff --git a/lldb/scripts/Python/interface/SBWatchpoint.i b/lldb/scripts/interface/SBWatchpoint.i similarity index 100% rename from lldb/scripts/Python/interface/SBWatchpoint.i rename to lldb/scripts/interface/SBWatchpoint.i diff --git a/lldb/scripts/lldb.swig b/lldb/scripts/lldb.swig index 69a262b..265e547 100644 --- a/lldb/scripts/lldb.swig +++ b/lldb/scripts/lldb.swig @@ -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" diff --git a/lldb/source/Interpreter/Makefile b/lldb/source/Interpreter/Makefile index 2b37f49..d8808764 100644 --- a/lldb/source/Interpreter/Makefile +++ b/lldb/source/Interpreter/Makefile @@ -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) diff --git a/lldb/www/SB-api-coding-rules.html b/lldb/www/SB-api-coding-rules.html index 3969de9..0f7ef0e 100644 --- a/lldb/www/SB-api-coding-rules.html +++ b/lldb/www/SB-api-coding-rules.html @@ -59,7 +59,7 @@

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<ClassName>.i, and live in "scripts/Python/interface". They are constructed by + files are called SB<ClassName>.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 -- 2.7.4