[Lldb-commits] [lldb] r231600 - Fix whitespace on Python SWIG wrapper
Ed Maste
emaste at freebsd.org
Sun Mar 8 09:24:30 PDT 2015
Author: emaste
Date: Sun Mar 8 11:24:30 2015
New Revision: 231600
URL: http://llvm.org/viewvc/llvm-project?rev=231600&view=rev
Log:
Fix whitespace on Python SWIG wrapper
Modified:
lldb/trunk/scripts/buildSwigWrapperClasses.py
Modified: lldb/trunk/scripts/buildSwigWrapperClasses.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/buildSwigWrapperClasses.py?rev=231600&r1=231599&r2=231600&view=diff
==============================================================================
--- lldb/trunk/scripts/buildSwigWrapperClasses.py (original)
+++ lldb/trunk/scripts/buildSwigWrapperClasses.py Sun Mar 8 11:24:30 2015
@@ -1,51 +1,51 @@
""" SWIG creates Python C++ Script Bridge wrapper code Windows/LINUX/OSX platform
- --------------------------------------------------------------------------
- File: buildSwigWrapperClasses.py
+ --------------------------------------------------------------------------
+ File: buildSwigWrapperClasses.py
+
+ Overview: Python script(s) to build the SWIG Python C++ Script
+ Bridge wrapper code on the Windows/LINUX/OSX platform.
+ The Python scripts are equivalent to the shell script (.sh)
+ files.
+ For each scripting language lib lldb supports, we need to
+ create the appropriate Script Bridge wrapper classes for
+ that language so that users can call Script Bridge
+ functions from within the script interpreter.
+ We use SWIG to help create the appropriate wrapper
+ classes/functions for the scripting language. In some
+ cases the file generated by SWIG may need some tweaking
+ before it is completely ready to use.
+
+ Environment: OS: Windows Vista or newer,LINUX,OSX.
+ IDE: Visual Studio 2013 Plugin Python Tools (PTVS)
+ Script: Python 2.6/2.7.5 x64
+ Other: SWIG 2.0.11
+
+ Gotchas: For Windows OS it is assumed the SWIG executable can be
+ found in the %PATH% environmental variable.
+
+ Copyright: None.
+ --------------------------------------------------------------------------
- Overview: Python script(s) to build the SWIG Python C++ Script
- Bridge wrapper code on the Windows/LINUX/OSX platform.
- The Python scripts are equivalent to the shell script (.sh)
- files.
- For each scripting language lib lldb supports, we need to
- create the appropriate Script Bridge wrapper classes for
- that language so that users can call Script Bridge
- functions from within the script interpreter.
- We use SWIG to help create the appropriate wrapper
- classes/functions for the scripting language. In some
- cases the file generated by SWIG may need some tweaking
- before it is completely ready to use.
-
- Environment: OS: Windows Vista or newer,LINUX,OSX.
- IDE: Visual Studio 2013 Plugin Python Tools (PTVS)
- Script: Python 2.6/2.7.5 x64
- Other: SWIG 2.0.11
-
- Gotchas: For Windows OS it is assumed the SWIG executable can be
- found in the %PATH% environmental variable.
-
- Copyright: None.
- --------------------------------------------------------------------------
-
"""
# Python modules:
-import sys # Provide argument parsing
-import os # Provide directory and file handling
+import sys # Provide argument parsing
+import os # Provide directory and file handling
# Third party modules:
# In-house modules:
-import utilsArgsParse # Parse and validate this script's input arguments
-import utilsOsType # Determine the OS type this script is running on
-import utilsDebug # Debug Python scripts
+import utilsArgsParse # Parse and validate this script's input arguments
+import utilsOsType # Determine the OS type this script is running on
+import utilsDebug # Debug Python scripts
# Instantiations:
-gbDbgVerbose = False; # True = Turn on script function tracing, False = off.
-gbDbgFlag = False; # Global debug mode flag, set by input parameter
- # --dbgFlag. True = operate in debug mode.
-gbMakeFileFlag = False; # True = yes called from makefile system, False = not.
-gbSwigGenDepFileFlag = False; # True = SWIG generate a dependency file.
+gbDbgVerbose = False; # True = Turn on script function tracing, False = off.
+gbDbgFlag = False; # Global debug mode flag, set by input parameter
+ # --dbgFlag. True = operate in debug mode.
+gbMakeFileFlag = False; # True = yes called from makefile system, False = not.
+gbSwigGenDepFileFlag = False; # True = SWIG generate a dependency file.
# User facing text:
strMsgErrorNoMain = "Program called by another Python script not allowed";
@@ -67,29 +67,29 @@ Python script(s) to build the SWIG Pytho
Bridge wrapper code on various platforms. The Python \n\
scripts are equivalent to the shell script (.sh) files \n\
run on others platforms.\n\
-Args: -h (optional) Print help information on this program.\n\
- -d (optional) Determines whether or not this script\n\
- outputs additional information when running.\n\
- -m (optional) Specify called from Makefile system.\n\
- -M (optional) Specify want SWIG to generate a dependency \n\
- file.\n\
- --srcRoot= The root of the lldb source tree.\n\
- --targetDir= Where the lldb framework/shared library gets put.\n\
- --cfgBldDir= (optional) Where the build-swig-Python-LLDB.py program \n\
- will put the lldb.py file it generated from running\n\
- SWIG.\n\
- --prefix= (optional) Is the root directory used to determine where\n\
- third-party modules for scripting languages should\n\
- be installed. Where non-Darwin systems want to put\n\
- the .py and .so files so that Python can find them\n\
- automatically. Python install directory.\n\
- --argsFile= The args are read from a file instead of the\n\
- command line. Other command line args are ignored.\n\
- --swigExecutable= (optional) Full path of swig executable.\n\
+Args: -h (optional) Print help information on this program.\n\
+ -d (optional) Determines whether or not this script\n\
+ outputs additional information when running.\n\
+ -m (optional) Specify called from Makefile system.\n\
+ -M (optional) Specify want SWIG to generate a dependency \n\
+ file.\n\
+ --srcRoot= The root of the lldb source tree.\n\
+ --targetDir= Where the lldb framework/shared library gets put.\n\
+ --cfgBldDir= (optional) Where the build-swig-Python-LLDB.py program \n\
+ will put the lldb.py file it generated from running\n\
+ SWIG.\n\
+ --prefix= (optional) Is the root directory used to determine where\n\
+ third-party modules for scripting languages should\n\
+ be installed. Where non-Darwin systems want to put\n\
+ the .py and .so files so that Python can find them\n\
+ automatically. Python install directory.\n\
+ --argsFile= The args are read from a file instead of the\n\
+ command line. Other command line args are ignored.\n\
+ --swigExecutable= (optional) Full path of swig executable.\n\
\n\
Usage:\n\
- buildSwigWrapperClasses.py --srcRoot=ADirPath --targetDir=ADirPath\n\
- --cfgBldDir=ADirPath --prefix=ADirPath --swigExecutable=ADirPath -m -d\n\
+ buildSwigWrapperClasses.py --srcRoot=ADirPath --targetDir=ADirPath\n\
+ --cfgBldDir=ADirPath --prefix=ADirPath --swigExecutable=ADirPath -m -d\n\
\n\
"; #TAG_PROGRAM_HELP_INFO
strHelpInfoExtraWindows = "\
@@ -102,484 +102,484 @@ directories '/usr/bin', '/usr/local/bin'
abort.";
#++---------------------------------------------------------------------------
-# Details: Retrieve the script -h help information based on the OS currently.
-# Args: None.
-# Returns: Str - Help Text.
-# Throws: None.
+# Details: Retrieve the script -h help information based on the OS currently.
+# Args: None.
+# Returns: Str - Help Text.
+# Throws: None.
#--
def get_help_information():
- strHelpMsg = strHelpInfo;
-
- eOSType = utilsOsType.determine_os_type();
- if eOSType == utilsOsType.EnumOsType.Windows:
- strHelpMsg += strHelpInfoExtraWindows;
- else:
- strHelpMsg += strHelpInfoExtraNonWindows;
-
- return strHelpMsg;
-
-#++---------------------------------------------------------------------------
-# Details: Exit the program on success. Called on program successfully done
-# its work. Returns a status result to the caller.
-# Args: vnResult - (R) 0 or greater indicating success.
-# vMsg - (R) Success message if any to show success to user.
-# Returns: None.
-# Throws: None.
+ strHelpMsg = strHelpInfo;
+
+ eOSType = utilsOsType.determine_os_type();
+ if eOSType == utilsOsType.EnumOsType.Windows:
+ strHelpMsg += strHelpInfoExtraWindows;
+ else:
+ strHelpMsg += strHelpInfoExtraNonWindows;
+
+ return strHelpMsg;
+
+#++---------------------------------------------------------------------------
+# Details: Exit the program on success. Called on program successfully done
+# its work. Returns a status result to the caller.
+# Args: vnResult - (R) 0 or greater indicating success.
+# vMsg - (R) Success message if any to show success to user.
+# Returns: None.
+# Throws: None.
#--
def program_exit_success( vnResult, vMsg ):
- strMsg = "";
-
- if vMsg.__len__() == 0:
- strMsg = "%s (%d)" % (strExitMsgSuccess, vnResult);
- else:
- strMsg = "%s: %s (%d)" % (strExitMsgSuccess, vMsg, vnResult);
- print strMsg;
-
- sys.exit( vnResult );
-
-#++---------------------------------------------------------------------------
-# Details: Exit the program with error. Called on exit program failed its
-# task. Returns a status result to the caller.
-# Args: vnResult - (R) A negative number indicating error condition.
-# vMsg - (R) Error message to show to user.
-# Returns: None.
-# Throws: None.
+ strMsg = "";
+
+ if vMsg.__len__() == 0:
+ strMsg = "%s (%d)" % (strExitMsgSuccess, vnResult);
+ else:
+ strMsg = "%s: %s (%d)" % (strExitMsgSuccess, vMsg, vnResult);
+ print strMsg;
+
+ sys.exit( vnResult );
+
+#++---------------------------------------------------------------------------
+# Details: Exit the program with error. Called on exit program failed its
+# task. Returns a status result to the caller.
+# Args: vnResult - (R) A negative number indicating error condition.
+# vMsg - (R) Error message to show to user.
+# Returns: None.
+# Throws: None.
#--
def program_exit_on_failure( vnResult, vMsg ):
- print "%s%s (%d)" % (strExitMsgError, vMsg, vnResult);
- sys.exit( vnResult );
+ print "%s%s (%d)" % (strExitMsgError, vMsg, vnResult);
+ sys.exit( vnResult );
#++---------------------------------------------------------------------------
-# Details: Exit the program return a exit result number and print a message.
-# Positive numbers and zero are returned for success other error
-# occurred.
-# Args: vnResult - (R) A -ve (an error), 0 or +ve number (ok or status).
-# vMsg - (R) Error message to show to user.
-# Returns: None.
-# Throws: None.
+# Details: Exit the program return a exit result number and print a message.
+# Positive numbers and zero are returned for success other error
+# occurred.
+# Args: vnResult - (R) A -ve (an error), 0 or +ve number (ok or status).
+# vMsg - (R) Error message to show to user.
+# Returns: None.
+# Throws: None.
#--
def program_exit( vnResult, vMsg ):
- if vnResult >= 0:
- program_exit_success( vnResult, vMsg );
- else:
- program_exit_on_failure( vnResult, vMsg );
-
-#++---------------------------------------------------------------------------
-# Details: Dump input parameters.
-# Args: vDictArgs - (R) Map of input args to value.
-# Returns: None.
-# Throws: None.
+ if vnResult >= 0:
+ program_exit_success( vnResult, vMsg );
+ else:
+ program_exit_on_failure( vnResult, vMsg );
+
+#++---------------------------------------------------------------------------
+# Details: Dump input parameters.
+# Args: vDictArgs - (R) Map of input args to value.
+# Returns: None.
+# Throws: None.
#--
def print_out_input_parameters( vDictArgs ):
- for arg, val in vDictArgs.iteritems():
- strEqs = "";
- strQ = "";
- if val.__len__() != 0:
- strEqs = " =";
- strQ = "\"";
- print "%s%s%s %s%s%s\n" % (strParameter, arg, strEqs, strQ, val, strQ);
-
-#++---------------------------------------------------------------------------
-# Details: Locate the lldb.swig file. No checking for path correctness is
-# done here as assumed all values checked already. Path is adapted
-# to be compatible with the platform file system.
-# Args: vstrSrcRoot - (R) Directory path to the lldb source root.
-# veOSType - (R) Current OS type enumeration.
-# Returns: Bool - True = Success.
-# - False = Failure file not found.
-# Str - Error message.
-# Throws: None.
+ for arg, val in vDictArgs.iteritems():
+ strEqs = "";
+ strQ = "";
+ if val.__len__() != 0:
+ strEqs = " =";
+ strQ = "\"";
+ print "%s%s%s %s%s%s\n" % (strParameter, arg, strEqs, strQ, val, strQ);
+
+#++---------------------------------------------------------------------------
+# Details: Locate the lldb.swig file. No checking for path correctness is
+# done here as assumed all values checked already. Path is adapted
+# to be compatible with the platform file system.
+# Args: vstrSrcRoot - (R) Directory path to the lldb source root.
+# veOSType - (R) Current OS type enumeration.
+# Returns: Bool - True = Success.
+# - False = Failure file not found.
+# Str - Error message.
+# Throws: None.
#--
def check_lldb_swig_file_exists( vstrSrcRoot, veOSType ):
- dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_file_exists()" );
- bOk = True;
- strStatusMsg = "";
- strSwigFilePathName = "/scripts/lldb.swig";
-
- strFullPath = os.path.normcase( vstrSrcRoot + strSwigFilePathName );
- bOk = os.path.isfile( strFullPath );
- if bOk:
- if gbDbgFlag:
- print strSwigFileFound;
- else:
- strStatusMsg = strSwigFileFoundNotFound % strFullPath;
-
- return (bOk, strStatusMsg);
-
-#++---------------------------------------------------------------------------
-# Details: Locate SWIG sub script language directory and the script within
-# and execute SWIG for that script language.
-# Args: vStrScriptLang - (R) Name of the script language to build.
-# vSwigBuildFileName - (R) Prefix file name to build full name.
-# vDictArgs - (R) Program input parameters.
-# Returns: Int - 0 = Success, < 0 some error condition.
-# Str - Error message.
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_file_exists()" );
+ bOk = True;
+ strStatusMsg = "";
+ strSwigFilePathName = "/scripts/lldb.swig";
+
+ strFullPath = os.path.normcase( vstrSrcRoot + strSwigFilePathName );
+ bOk = os.path.isfile( strFullPath );
+ if bOk:
+ if gbDbgFlag:
+ print strSwigFileFound;
+ else:
+ strStatusMsg = strSwigFileFoundNotFound % strFullPath;
+
+ return (bOk, strStatusMsg);
+
+#++---------------------------------------------------------------------------
+# Details: Locate SWIG sub script language directory and the script within
+# and execute SWIG for that script language.
+# Args: vStrScriptLang - (R) Name of the script language to build.
+# vSwigBuildFileName - (R) Prefix file name to build full name.
+# vDictArgs - (R) Program input parameters.
+# Returns: Int - 0 = Success, < 0 some error condition.
+# Str - Error message.
+# Throws: None.
#--
def run_swig( vStrScriptLang, vSwigBuildFileName, vDictArgs ):
- dbg = utilsDebug.CDebugFnVerbose( "run_swig()" );
- nResult = 0;
- strStatusMsg = "";
- strScriptFile = vSwigBuildFileName % vStrScriptLang;
- strScriptFileDir = "%s%s/%s" % (vDictArgs[ "--srcRoot" ], "/scripts",
- vStrScriptLang);
- strScriptFilePath = "%s/%s" % (strScriptFileDir, strScriptFile);
-
- # Check for the existence of the script file
- strPath = os.path.normcase( strScriptFilePath );
- bOk = os.path.exists( strPath );
- if bOk == False:
- strDir = os.path.normcase( strScriptFileDir );
- strStatusMsg = strSwigScriptNotFound % (strScriptFile, strDir);
- return (-9, strStatusMsg);
-
- if gbDbgFlag:
- print strSwigScriptLangFound % vStrScriptLang;
- print strSwigExecuteMsg % vStrScriptLang;
-
- # Change where Python looks for our modules
- strDir = os.path.normcase( strScriptFileDir );
- sys.path.append( strDir );
-
- # Execute the specific language script
- dictArgs = vDictArgs; # Remove any args not required before passing on
- strModuleName = strScriptFile[ : strScriptFile.__len__() - 3 ];
- module = __import__( strModuleName );
- nResult, strStatusMsg = module.main( dictArgs );
-
- # Revert sys path
- sys.path.remove( strDir );
-
- return (nResult, strStatusMsg);
-
-#++---------------------------------------------------------------------------
-# Details: Step through each SWIG sub directory script language supported
-# type and execute SWIG to build wrapper code based on that language.
-# If an error occurs for a build this function will return with an
-# error and not continue with proceed script builds.
-# For each scripting language, make sure the build script for that
-# language exists.
-# For now the only language we support is Python, but we expect this
-# to change.
-# Args: vDictArgs - (R) Program input parameters.
-# Returns: Int - 0 = Success, < 0 some error condition.
-# Str - Error message.
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "run_swig()" );
+ nResult = 0;
+ strStatusMsg = "";
+ strScriptFile = vSwigBuildFileName % vStrScriptLang;
+ strScriptFileDir = "%s%s/%s" % (vDictArgs[ "--srcRoot" ], "/scripts",
+ vStrScriptLang);
+ strScriptFilePath = "%s/%s" % (strScriptFileDir, strScriptFile);
+
+ # Check for the existence of the script file
+ strPath = os.path.normcase( strScriptFilePath );
+ bOk = os.path.exists( strPath );
+ if bOk == False:
+ strDir = os.path.normcase( strScriptFileDir );
+ strStatusMsg = strSwigScriptNotFound % (strScriptFile, strDir);
+ return (-9, strStatusMsg);
+
+ if gbDbgFlag:
+ print strSwigScriptLangFound % vStrScriptLang;
+ print strSwigExecuteMsg % vStrScriptLang;
+
+ # Change where Python looks for our modules
+ strDir = os.path.normcase( strScriptFileDir );
+ sys.path.append( strDir );
+
+ # Execute the specific language script
+ dictArgs = vDictArgs; # Remove any args not required before passing on
+ strModuleName = strScriptFile[ : strScriptFile.__len__() - 3 ];
+ module = __import__( strModuleName );
+ nResult, strStatusMsg = module.main( dictArgs );
+
+ # Revert sys path
+ sys.path.remove( strDir );
+
+ return (nResult, strStatusMsg);
+
+#++---------------------------------------------------------------------------
+# Details: Step through each SWIG sub directory script language supported
+# type and execute SWIG to build wrapper code based on that language.
+# If an error occurs for a build this function will return with an
+# error and not continue with proceed script builds.
+# For each scripting language, make sure the build script for that
+# language exists.
+# For now the only language we support is Python, but we expect this
+# to change.
+# Args: vDictArgs - (R) Program input parameters.
+# Returns: Int - 0 = Success, < 0 some error condition.
+# Str - Error message.
+# Throws: None.
#--
def run_swig_for_each_script_supported( vDictArgs ):
- dbg = utilsDebug.CDebugFnVerbose( "run_swig_for_each_script_supported()" );
- nResult = 0;
- strStatusMsg = "";
- strSwigScriptDir = vDictArgs[ "--srcRoot" ] + "/scripts";
- strSwigBuildFileName = "buildSwig%s.py";
-
- # Check for the existence of the SWIG scripts folder
- strScriptsDir = os.path.normcase( strSwigScriptDir );
- bOk = os.path.exists( strScriptsDir );
- if bOk == False:
- return (-8, strSwigScriptDirNotFound);
-
- # Look for any script language directories to build for
- listDirs = [];
- nDepth = 1;
- for strPath, listDirs, listFiles in os.walk( strSwigScriptDir ):
- nDepth = nDepth - 1;
- if nDepth == 0:
- break;
-
- if gbDbgFlag:
- print strSwigScriptLangsFound,
- for dir in listDirs:
- print dir,
- print "\n";
-
- # Iterate script directory find any script language directories
- for scriptLang in listDirs:
- dbg.dump_text( "Executing language script for \'%s\'" % scriptLang );
- nResult, strStatusMsg = run_swig( scriptLang, strSwigBuildFileName,
- vDictArgs );
- if nResult < 0:
- break;
-
- if nResult < 0:
- strTmp = strSwigExecuteError % scriptLang;
- strTmp += strStatusMsg;
- strStatusMsg = strTmp;
-
- return (nResult, strStatusMsg);
-
-#++---------------------------------------------------------------------------
-# Details: Dummy function - system unknown. Function should not be called.
-# Args: vDictArgs - (R) Program input parameters.
-# Returns: Bool - False = Program logic error.
-# Str - Error message.
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "run_swig_for_each_script_supported()" );
+ nResult = 0;
+ strStatusMsg = "";
+ strSwigScriptDir = vDictArgs[ "--srcRoot" ] + "/scripts";
+ strSwigBuildFileName = "buildSwig%s.py";
+
+ # Check for the existence of the SWIG scripts folder
+ strScriptsDir = os.path.normcase( strSwigScriptDir );
+ bOk = os.path.exists( strScriptsDir );
+ if bOk == False:
+ return (-8, strSwigScriptDirNotFound);
+
+ # Look for any script language directories to build for
+ listDirs = [];
+ nDepth = 1;
+ for strPath, listDirs, listFiles in os.walk( strSwigScriptDir ):
+ nDepth = nDepth - 1;
+ if nDepth == 0:
+ break;
+
+ if gbDbgFlag:
+ print strSwigScriptLangsFound,
+ for dir in listDirs:
+ print dir,
+ print "\n";
+
+ # Iterate script directory find any script language directories
+ for scriptLang in listDirs:
+ dbg.dump_text( "Executing language script for \'%s\'" % scriptLang );
+ nResult, strStatusMsg = run_swig( scriptLang, strSwigBuildFileName,
+ vDictArgs );
+ if nResult < 0:
+ break;
+
+ if nResult < 0:
+ strTmp = strSwigExecuteError % scriptLang;
+ strTmp += strStatusMsg;
+ strStatusMsg = strTmp;
+
+ return (nResult, strStatusMsg);
+
+#++---------------------------------------------------------------------------
+# Details: Dummy function - system unknown. Function should not be called.
+# Args: vDictArgs - (R) Program input parameters.
+# Returns: Bool - False = Program logic error.
+# Str - Error message.
+# Throws: None.
#--
def check_lldb_swig_executable_file_exists_Unknown( vDictArgs ):
- dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_Unknown()" );
- # Do nothing
- return (False, strMsgErrorOsTypeUnknown);
-
-#++---------------------------------------------------------------------------
-# Details: Locate the SWIG executable file in a Windows system. Several hard
-# coded predetermined possible file path locations are searched.
-# (This is good candidate for a derived class object)
-# Args: vDictArgs - (W) Program input parameters.
-# Returns: Bool - True = Success.
-# - False = Failure file not found.
-# Str - Error message.
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_Unknown()" );
+ # Do nothing
+ return (False, strMsgErrorOsTypeUnknown);
+
+#++---------------------------------------------------------------------------
+# Details: Locate the SWIG executable file in a Windows system. Several hard
+# coded predetermined possible file path locations are searched.
+# (This is good candidate for a derived class object)
+# Args: vDictArgs - (W) Program input parameters.
+# Returns: Bool - True = Success.
+# - False = Failure file not found.
+# Str - Error message.
+# Throws: None.
#--
def check_lldb_swig_executable_file_exists_Windows( vDictArgs ):
- dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_Windows()" );
-
- # Will always be true as it assumed the path to SWIG executable will be
- # in the OS system environmental variable %PATH%. Easier this way as the
- # user may have renamed the directory and or custom path installation.
- bExeFileFound = True;
- vDictArgs[ "--swigExePath" ] = "";
- vDictArgs[ "--swigExeName" ] = "swig.exe";
- return (bExeFileFound, None);
-
-#++---------------------------------------------------------------------------
-# Details: Locate the SWIG executable file in a Linux system. Several hard
-# coded predetermined possible file path locations are searched.
-# (This is good candidate for a derived class object)
-# Args: vDictArgs - (W) Program input parameters.
-# Returns: Bool - True = Success.
-# - False = Failure file not found.
-# Str - Error message.
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_Windows()" );
+
+ # Will always be true as it assumed the path to SWIG executable will be
+ # in the OS system environmental variable %PATH%. Easier this way as the
+ # user may have renamed the directory and or custom path installation.
+ bExeFileFound = True;
+ vDictArgs[ "--swigExePath" ] = "";
+ vDictArgs[ "--swigExeName" ] = "swig.exe";
+ return (bExeFileFound, None);
+
+#++---------------------------------------------------------------------------
+# Details: Locate the SWIG executable file in a Linux system. Several hard
+# coded predetermined possible file path locations are searched.
+# (This is good candidate for a derived class object)
+# Args: vDictArgs - (W) Program input parameters.
+# Returns: Bool - True = Success.
+# - False = Failure file not found.
+# Str - Error message.
+# Throws: None.
#--
def check_lldb_swig_executable_file_exists_Linux( vDictArgs ):
- dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_Linux()" );
- bExeFileFound = False;
-
- strSwigExe = "swig";
- strSwigExePath = "/usr/bin";
- strExe = os.path.normcase( "%s/%s" % (strSwigExePath, strSwigExe) );
- if os.path.isfile( strExe ) and os.access( strExe, os.X_OK ):
- bExeFileFound = True;
- vDictArgs[ "--swigExePath" ] = os.path.normcase( strSwigExePath );
- vDictArgs[ "--swigExeName" ] = strSwigExe;
- return (bExeFileFound, None);
-
- strSwigExePath = "/usr/local/bin";
- strExe = os.path.normcase( "%s/%s" % (strSwigExePath, strSwigExe) );
- if os.path.isfile( strExe ) and os.access( strExe, os.X_OK ):
- bExeFileFound = True;
- vDictArgs[ "--swigExePath" ] = os.path.normcase( strSwigExePath );
- vDictArgs[ "--swigExeName" ] = strSwigExe;
- return (bExeFileFound, None);
-
- return (bExeFileFound, strSwigExeFileNotFound);
-
-#++---------------------------------------------------------------------------
-# Details: Locate the SWIG executable file in a OSX system. Several hard
-# coded predetermined possible file path locations are searched.
-# (This is good candidate for a derived class object)
-# Args: vDictArgs - (W) Program input parameters.
-# Returns: Bool - True = Success.
-# - False = Failure file not found.
-# Str - Error message.
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_Linux()" );
+ bExeFileFound = False;
+
+ strSwigExe = "swig";
+ strSwigExePath = "/usr/bin";
+ strExe = os.path.normcase( "%s/%s" % (strSwigExePath, strSwigExe) );
+ if os.path.isfile( strExe ) and os.access( strExe, os.X_OK ):
+ bExeFileFound = True;
+ vDictArgs[ "--swigExePath" ] = os.path.normcase( strSwigExePath );
+ vDictArgs[ "--swigExeName" ] = strSwigExe;
+ return (bExeFileFound, None);
+
+ strSwigExePath = "/usr/local/bin";
+ strExe = os.path.normcase( "%s/%s" % (strSwigExePath, strSwigExe) );
+ if os.path.isfile( strExe ) and os.access( strExe, os.X_OK ):
+ bExeFileFound = True;
+ vDictArgs[ "--swigExePath" ] = os.path.normcase( strSwigExePath );
+ vDictArgs[ "--swigExeName" ] = strSwigExe;
+ return (bExeFileFound, None);
+
+ return (bExeFileFound, strSwigExeFileNotFound);
+
+#++---------------------------------------------------------------------------
+# Details: Locate the SWIG executable file in a OSX system. Several hard
+# coded predetermined possible file path locations are searched.
+# (This is good candidate for a derived class object)
+# Args: vDictArgs - (W) Program input parameters.
+# Returns: Bool - True = Success.
+# - False = Failure file not found.
+# Str - Error message.
+# Throws: None.
#--
def check_lldb_swig_executable_file_exists_Darwin( vDictArgs ):
- dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_Darwin()" );
- bExeFileFound = False;
- # ToDo: Find the SWIG executable and add the path to the args dictionary
- #vDictArgs.[ "--swigExePath" ] = "/usr/bin/swig";
- strStatusMsg = "Sorry function 'check_lldb_swig_executable_file_exists_Darwin()' is not implemented";
-
- return (bExeFileFound, strStatusMsg);
-
-#++---------------------------------------------------------------------------
-# Details: Locate the SWIG executable file in a OSX system. Several hard
-# coded predetermined possible file path locations are searched.
-# (This is good candidate for a derived class object)
-# Args: vDictArgs - (W) Program input parameters.
-# Returns: Bool - True = Success.
-# - False = Failure file not found.
-# Str - Error message.
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_Darwin()" );
+ bExeFileFound = False;
+ # ToDo: Find the SWIG executable and add the path to the args dictionary
+ #vDictArgs.[ "--swigExePath" ] = "/usr/bin/swig";
+ strStatusMsg = "Sorry function 'check_lldb_swig_executable_file_exists_Darwin()' is not implemented";
+
+ return (bExeFileFound, strStatusMsg);
+
+#++---------------------------------------------------------------------------
+# Details: Locate the SWIG executable file in a OSX system. Several hard
+# coded predetermined possible file path locations are searched.
+# (This is good candidate for a derived class object)
+# Args: vDictArgs - (W) Program input parameters.
+# Returns: Bool - True = Success.
+# - False = Failure file not found.
+# Str - Error message.
+# Throws: None.
#--
def check_lldb_swig_executable_file_exists_FreeBSD( vDictArgs ):
- dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_FreeBSD()" );
- bExeFileFound = False;
- # ToDo: Find the SWIG executable and add the path to the args dictionary
- #vDictArgs.[ "--swigExePath" ] = "/usr/bin/swig";
- strStatusMsg = "Sorry function 'check_lldb_swig_executable_file_exists_FreeBSD()' is not implemented";
-
- return (bExeFileFound, strStatusMsg);
-
-#++---------------------------------------------------------------------------
-# Details: Locate the SWIG executable file. Several hard coded predetermined
-# possible file path locations are searched.
-# Args: vDictArgs - (RW) Program input parameters.
-# veOSType - (R) Current OS type enumeration.
-# Returns: Bool - True = Success.
-# - False = Failure file not found.
-# Str - Error message.
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists_FreeBSD()" );
+ bExeFileFound = False;
+ # ToDo: Find the SWIG executable and add the path to the args dictionary
+ #vDictArgs.[ "--swigExePath" ] = "/usr/bin/swig";
+ strStatusMsg = "Sorry function 'check_lldb_swig_executable_file_exists_FreeBSD()' is not implemented";
+
+ return (bExeFileFound, strStatusMsg);
+
+#++---------------------------------------------------------------------------
+# Details: Locate the SWIG executable file. Several hard coded predetermined
+# possible file path locations are searched.
+# Args: vDictArgs - (RW) Program input parameters.
+# veOSType - (R) Current OS type enumeration.
+# Returns: Bool - True = Success.
+# - False = Failure file not found.
+# Str - Error message.
+# Throws: None.
#--
def check_lldb_swig_executable_file_exists( vDictArgs, veOSType ):
- dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists()" );
- bExeFileFound = False;
- strStatusMsg = "";
- if "--swigExecutable" in vDictArgs:
- vDictArgs["--swigExeName"] = os.path.basename(vDictArgs["--swigExecutable"])
- vDictArgs["--swigExePath"] = os.path.dirname(vDictArgs["--swigExecutable"])
- bExeFileFound = True
- else:
- from utilsOsType import EnumOsType;
- switch = { EnumOsType.Unknown : check_lldb_swig_executable_file_exists_Unknown,
- EnumOsType.Darwin : check_lldb_swig_executable_file_exists_Darwin,
- EnumOsType.FreeBSD : check_lldb_swig_executable_file_exists_FreeBSD,
- EnumOsType.Linux : check_lldb_swig_executable_file_exists_Linux,
- EnumOsType.Windows : check_lldb_swig_executable_file_exists_Windows }
- bExeFileFound, strStatusMsg = switch[ veOSType ]( vDictArgs );
- return (bExeFileFound, strStatusMsg);
-#++---------------------------------------------------------------------------
-# Details: Validate the arguments passed to the program. This function exits
-# the program should error with the arguments be found.
-# Args: vArgv - (R) List of arguments and values.
-# Returns: Int - 0 = success, -ve = some failure.
-# Dict - Map of arguments names to argument values
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "check_lldb_swig_executable_file_exists()" );
+ bExeFileFound = False;
+ strStatusMsg = "";
+ if "--swigExecutable" in vDictArgs:
+ vDictArgs["--swigExeName"] = os.path.basename(vDictArgs["--swigExecutable"])
+ vDictArgs["--swigExePath"] = os.path.dirname(vDictArgs["--swigExecutable"])
+ bExeFileFound = True
+ else:
+ from utilsOsType import EnumOsType;
+ switch = { EnumOsType.Unknown : check_lldb_swig_executable_file_exists_Unknown,
+ EnumOsType.Darwin : check_lldb_swig_executable_file_exists_Darwin,
+ EnumOsType.FreeBSD : check_lldb_swig_executable_file_exists_FreeBSD,
+ EnumOsType.Linux : check_lldb_swig_executable_file_exists_Linux,
+ EnumOsType.Windows : check_lldb_swig_executable_file_exists_Windows }
+ bExeFileFound, strStatusMsg = switch[ veOSType ]( vDictArgs );
+ return (bExeFileFound, strStatusMsg);
+#++---------------------------------------------------------------------------
+# Details: Validate the arguments passed to the program. This function exits
+# the program should error with the arguments be found.
+# Args: vArgv - (R) List of arguments and values.
+# Returns: Int - 0 = success, -ve = some failure.
+# Dict - Map of arguments names to argument values
+# Throws: None.
#--
def validate_arguments( vArgv ):
- dbg = utilsDebug.CDebugFnVerbose( "validate_arguments()" );
- strMsg = "";
- dictArgs = {};
- nResult = 0;
- strListArgs = "hdmM"; # Format "hiox:" = -h -i -o -x <arg>
- listLongArgs = ["srcRoot=", "targetDir=", "cfgBldDir=", "prefix=",
- "swigExecutable=", "argsFile"];
- dictArgReq = { "-h": "o", # o = optional, m = mandatory
- "-d": "o",
- "-m": "o",
- "-M": "o",
- "--srcRoot": "m",
- "--targetDir": "m",
- "--swigExecutable" : "o",
- "--cfgBldDir": "o",
- "--prefix": "o",
- "--argsFile": "o" };
- strHelpInfo = get_help_information();
-
- # Check for mandatory parameters
- nResult, dictArgs, strMsg = utilsArgsParse.parse( vArgv, strListArgs,
- listLongArgs,
- dictArgReq,
- strHelpInfo );
- if nResult < 0:
- program_exit_on_failure( nResult, strMsg );
-
- # User input -h for help
- if nResult == 1:
- program_exit_success( 0, strMsg );
-
- return (nResult, dictArgs);
-
-#++---------------------------------------------------------------------------
-# Details: Program's main() with arguments passed in from the command line.
-# Program either exits normally or with error from this function -
-# top most level function.
-# Args: vArgv - (R) List of arguments and values.
-# Returns: None
-# Throws: None.
+ dbg = utilsDebug.CDebugFnVerbose( "validate_arguments()" );
+ strMsg = "";
+ dictArgs = {};
+ nResult = 0;
+ strListArgs = "hdmM"; # Format "hiox:" = -h -i -o -x <arg>
+ listLongArgs = ["srcRoot=", "targetDir=", "cfgBldDir=", "prefix=",
+ "swigExecutable=", "argsFile"];
+ dictArgReq = { "-h": "o", # o = optional, m = mandatory
+ "-d": "o",
+ "-m": "o",
+ "-M": "o",
+ "--srcRoot": "m",
+ "--targetDir": "m",
+ "--swigExecutable" : "o",
+ "--cfgBldDir": "o",
+ "--prefix": "o",
+ "--argsFile": "o" };
+ strHelpInfo = get_help_information();
+
+ # Check for mandatory parameters
+ nResult, dictArgs, strMsg = utilsArgsParse.parse( vArgv, strListArgs,
+ listLongArgs,
+ dictArgReq,
+ strHelpInfo );
+ if nResult < 0:
+ program_exit_on_failure( nResult, strMsg );
+
+ # User input -h for help
+ if nResult == 1:
+ program_exit_success( 0, strMsg );
+
+ return (nResult, dictArgs);
+
+#++---------------------------------------------------------------------------
+# Details: Program's main() with arguments passed in from the command line.
+# Program either exits normally or with error from this function -
+# top most level function.
+# Args: vArgv - (R) List of arguments and values.
+# Returns: None
+# Throws: None.
#--
def main( vArgv ):
- dbg = utilsDebug.CDebugFnVerbose( "main()" );
- bOk = False;
- dictArgs = {};
- nResult = 0;
- strMsg = "";
-
- # The validate arguments fn will exit the program if tests fail
- nResult, dictArgs = validate_arguments( vArgv );
-
- eOSType = utilsOsType.determine_os_type();
- if eOSType == utilsOsType.EnumOsType.Unknown:
- program_exit( -4, strMsgErrorOsTypeUnknown );
-
- global gbDbgFlag;
- gbDbgFlag = dictArgs.has_key( "-d" );
- if gbDbgFlag:
- print_out_input_parameters( dictArgs );
-
- # Check to see if we were called from the Makefile system. If we were, check
- # if the caller wants SWIG to generate a dependency file.
- # Not used in this program, but passed through to the language script file
- # called by this program
- global gbMakeFileFlag;
- global gbSwigGenDepFileFlag;
- gbMakeFileFlag = dictArgs.has_key( "-m" );
- gbSwigGenDepFileFlag = dictArgs.has_key( "-M" );
-
- bOk, strMsg = check_lldb_swig_file_exists( dictArgs[ "--srcRoot" ], eOSType );
- if bOk == False:
- program_exit( -3, strMsg );
-
- bOk, strMsg = check_lldb_swig_executable_file_exists( dictArgs, eOSType );
- if bOk == False:
- program_exit( -6, strMsg );
-
- nResult, strMsg = run_swig_for_each_script_supported( dictArgs );
-
- program_exit( nResult, strMsg );
+ dbg = utilsDebug.CDebugFnVerbose( "main()" );
+ bOk = False;
+ dictArgs = {};
+ nResult = 0;
+ strMsg = "";
+
+ # The validate arguments fn will exit the program if tests fail
+ nResult, dictArgs = validate_arguments( vArgv );
+
+ eOSType = utilsOsType.determine_os_type();
+ if eOSType == utilsOsType.EnumOsType.Unknown:
+ program_exit( -4, strMsgErrorOsTypeUnknown );
+
+ global gbDbgFlag;
+ gbDbgFlag = dictArgs.has_key( "-d" );
+ if gbDbgFlag:
+ print_out_input_parameters( dictArgs );
+
+ # Check to see if we were called from the Makefile system. If we were, check
+ # if the caller wants SWIG to generate a dependency file.
+ # Not used in this program, but passed through to the language script file
+ # called by this program
+ global gbMakeFileFlag;
+ global gbSwigGenDepFileFlag;
+ gbMakeFileFlag = dictArgs.has_key( "-m" );
+ gbSwigGenDepFileFlag = dictArgs.has_key( "-M" );
+
+ bOk, strMsg = check_lldb_swig_file_exists( dictArgs[ "--srcRoot" ], eOSType );
+ if bOk == False:
+ program_exit( -3, strMsg );
+
+ bOk, strMsg = check_lldb_swig_executable_file_exists( dictArgs, eOSType );
+ if bOk == False:
+ program_exit( -6, strMsg );
+
+ nResult, strMsg = run_swig_for_each_script_supported( dictArgs );
+
+ program_exit( nResult, strMsg );
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
#TAG_PROGRAM_HELP_INFO
-""" Details: Program main entry point.
-
- --------------------------------------------------------------------------
- Args: -h (optional) Print help information on this program.
- -d (optional) Determines whether or not this script
- outputs additional information when running.
- -m (optional) Specify called from Makefile system. If given locate
- the LLDBWrapPython.cpp in --srcRoot/source folder
- else in the --targetDir folder.
- -M (optional) Specify want SWIG to generate a dependency file.
- --srcRoot= The root of the lldb source tree.
- --targetDir= Where the lldb framework/shared library gets put.
- --cfgBldDir= Where the buildSwigPythonLLDB.py program will
- (optional) put the lldb.py file it generated from running
- SWIG.
- --prefix= Is the root directory used to determine where
- (optional) third-party modules for scripting languages should
- be installed. Where non-Darwin systems want to put
- the .py and .so files so that Python can find them
- automatically. Python install directory.
- --argsFile= The args are read from a file instead of the
- command line. Other command line args are ignored.
- Usage:
- buildSwigWrapperClasses.py --srcRoot=ADirPath --targetDir=ADirPath
- --cfgBldDir=ADirPath --prefix=ADirPath --swigExecutable=ADirPath -m -d
-
- Results: 0 Success
- -1 Error - invalid parameters passed.
- -2 Error - incorrect number of mandatory parameters passed.
- -3 Error - unable to locate lldb.swig file.
- -4 Error - unable to determine OS type.
- -5 Error - program called by another Python script not allowed.
- -6 Error - unable to locate the swig executable file.
- -7 Error - SWIG script execution failed.
- -8 Error - unable to locate the SWIG scripts folder.
- -9 Error - unable to locate the SWIG language script file.
- -100+ - Error messages from the SWIG language script file.
- -200+ - 200 +- the SWIG exit result.
- --------------------------------------------------------------------------
-
+""" Details: Program main entry point.
+
+ --------------------------------------------------------------------------
+ Args: -h (optional) Print help information on this program.
+ -d (optional) Determines whether or not this script
+ outputs additional information when running.
+ -m (optional) Specify called from Makefile system. If given locate
+ the LLDBWrapPython.cpp in --srcRoot/source folder
+ else in the --targetDir folder.
+ -M (optional) Specify want SWIG to generate a dependency file.
+ --srcRoot= The root of the lldb source tree.
+ --targetDir= Where the lldb framework/shared library gets put.
+ --cfgBldDir= Where the buildSwigPythonLLDB.py program will
+ (optional) put the lldb.py file it generated from running
+ SWIG.
+ --prefix= Is the root directory used to determine where
+ (optional) third-party modules for scripting languages should
+ be installed. Where non-Darwin systems want to put
+ the .py and .so files so that Python can find them
+ automatically. Python install directory.
+ --argsFile= The args are read from a file instead of the
+ command line. Other command line args are ignored.
+ Usage:
+ buildSwigWrapperClasses.py --srcRoot=ADirPath --targetDir=ADirPath
+ --cfgBldDir=ADirPath --prefix=ADirPath --swigExecutable=ADirPath -m -d
+
+ Results: 0 Success
+ -1 Error - invalid parameters passed.
+ -2 Error - incorrect number of mandatory parameters passed.
+ -3 Error - unable to locate lldb.swig file.
+ -4 Error - unable to determine OS type.
+ -5 Error - program called by another Python script not allowed.
+ -6 Error - unable to locate the swig executable file.
+ -7 Error - SWIG script execution failed.
+ -8 Error - unable to locate the SWIG scripts folder.
+ -9 Error - unable to locate the SWIG language script file.
+ -100+ - Error messages from the SWIG language script file.
+ -200+ - 200 +- the SWIG exit result.
+ --------------------------------------------------------------------------
+
"""
# Called using "__main__" when not imported i.e. from the command line
if __name__ == "__main__":
- utilsDebug.CDebugFnVerbose.bVerboseOn = gbDbgVerbose;
- dbg = utilsDebug.CDebugFnVerbose( "__main__" );
- main( sys.argv[ 1: ] );
+ utilsDebug.CDebugFnVerbose.bVerboseOn = gbDbgVerbose;
+ dbg = utilsDebug.CDebugFnVerbose( "__main__" );
+ main( sys.argv[ 1: ] );
else:
- program_exit( -5, strMsgErrorNoMain );
+ program_exit( -5, strMsgErrorNoMain );
More information about the lldb-commits
mailing list