diff options
author | Kamil Rytarowski <n54@gmx.com> | 2017-02-04 00:20:24 +0000 |
---|---|---|
committer | Kamil Rytarowski <n54@gmx.com> | 2017-02-04 00:20:24 +0000 |
commit | 479153283050e51bde34a8c1fc1fd040f66d456c (patch) | |
tree | d265237b5c33b257f97944c1616ecdf1b04e4b87 /lldb/scripts | |
parent | 9809b10586b789170ceef7a3764fa18b94cc496e (diff) | |
download | bcm5719-llvm-479153283050e51bde34a8c1fc1fd040f66d456c.tar.gz bcm5719-llvm-479153283050e51bde34a8c1fc1fd040f66d456c.zip |
Install six.py conditionally
Summary:
The current version of LLDB installs six.py into global python library directory. This approach produces conflicts downstream with distribution's py-six copy.
Introduce new configure option LLDB_USE_SYSTEM_SIX (disabled by default). Once specified as TRUE, six.py won't be installed to Python's directory.
Add new option in finishSwigWrapperClasses.py, namely --useSystemSix.
Sponsored by <The NetBSD Foundation>
Reviewers: mgorny, emaste, clayborg, joerg, labath
Reviewed By: labath
Subscribers: #lldb
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D29405
llvm-svn: 294071
Diffstat (limited to 'lldb/scripts')
-rw-r--r-- | lldb/scripts/Python/finishSwigPythonLLDB.py | 4 | ||||
-rw-r--r-- | lldb/scripts/finishSwigWrapperClasses.py | 9 | ||||
-rw-r--r-- | lldb/scripts/utilsArgsParse.py | 4 |
3 files changed, 12 insertions, 5 deletions
diff --git a/lldb/scripts/Python/finishSwigPythonLLDB.py b/lldb/scripts/Python/finishSwigPythonLLDB.py index 91e3a41f9ed..ff6a1318a19 100644 --- a/lldb/scripts/Python/finishSwigPythonLLDB.py +++ b/lldb/scripts/Python/finishSwigPythonLLDB.py @@ -821,7 +821,9 @@ def main(vDictArgs): bOk, strMsg = create_symlinks( vDictArgs, strFrameworkPythonDir, strLldbLibDir) - if bOk: + bUseSystemSix = "--useSystemSix" in vDictArgs + + if not bUseSystemSix and bOk: bOk, strMsg = copy_six(vDictArgs, strFrameworkPythonDir) if bOk: diff --git a/lldb/scripts/finishSwigWrapperClasses.py b/lldb/scripts/finishSwigWrapperClasses.py index 4607624e14b..4d08b86e9e4 100644 --- a/lldb/scripts/finishSwigWrapperClasses.py +++ b/lldb/scripts/finishSwigWrapperClasses.py @@ -81,6 +81,7 @@ Args: -h (optional) Print help information on this program.\n\ created for a Windows build.\n\ --argsFile= The args are read from a file instead of the\n\ command line. Other command line args are ignored.\n\ + --useSystemSix Use system six.py version.\n\ \n\ Usage:\n\ finishSwigWrapperClasses.py --srcRoot=ADirPath --targetDir=ADirPath\n\ @@ -178,7 +179,8 @@ def validate_arguments(vArgv): "prefix=", "cmakeBuildConfiguration=", "lldbLibDir=", - "argsFile"] + "argsFile", + "useSystemSix"] dictArgReq = {"-h": "o", # o = optional, m = mandatory "-d": "o", "-m": "o", @@ -188,7 +190,8 @@ def validate_arguments(vArgv): "--prefix": "o", "--cmakeBuildConfiguration": "o", "--lldbLibDir": "o", - "--argsFile": "o"} + "--argsFile": "o", + "--useSystemSix": "o"} # Check for mandatory parameters nResult, dictArgs, strMsg = utilsArgsParse.parse(vArgv, strListArgs, @@ -376,9 +379,11 @@ def main(vArgv): (optional) "lib" by default. --argsFile= The args are read from a file instead of the command line. Other command line args are ignored. + --useSystemSix Use system six.py version. Usage: finishSwigWrapperClasses.py --srcRoot=ADirPath --targetDir=ADirPath --cfgBldDir=ADirPath --prefix=ADirPath --lldbLibDir=ADirPath -m -d + --useSystemSix Results: 0 Success -1 Error - invalid parameters passed. diff --git a/lldb/scripts/utilsArgsParse.py b/lldb/scripts/utilsArgsParse.py index 4486661863b..fadf4b49831 100644 --- a/lldb/scripts/utilsArgsParse.py +++ b/lldb/scripts/utilsArgsParse.py @@ -113,12 +113,12 @@ def parse(vArgv, vstrListArgs, vListLongArgs, vDictArgReq, vstrHelpInfo): break if match == 0: for arg in vListLongArgs: - argg = "--" + arg[:arg.__len__() - 1] + argg = "--" + arg.rstrip('=') if opt == argg: if "m" == vDictArgReq[opt]: countMandatoryOpts = countMandatoryOpts + 1 dictArgs[opt] = val - if val.__len__() == 0: + if arg[-1:] == '=' and val.__len__() == 0: bFoundNoInputValue = True break |