krytarowski updated this revision to Diff 87000.
krytarowski edited the summary of this revision.
krytarowski added a comment.

Pass option to `--useSystemSix` to `finishSwigWrapperClasses.py`


Repository:
  rL LLVM

https://reviews.llvm.org/D29405

Files:
  CMakeLists.txt
  cmake/modules/LLDBConfig.cmake
  scripts/Python/finishSwigPythonLLDB.py
  scripts/finishSwigWrapperClasses.py
  scripts/utilsArgsParse.py

Index: scripts/utilsArgsParse.py
===================================================================
--- scripts/utilsArgsParse.py
+++ scripts/utilsArgsParse.py
@@ -113,12 +113,12 @@
                 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
 
Index: scripts/finishSwigWrapperClasses.py
===================================================================
--- scripts/finishSwigWrapperClasses.py
+++ scripts/finishSwigWrapperClasses.py
@@ -81,6 +81,7 @@
                     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 @@
         "prefix=",
         "cmakeBuildConfiguration=",
         "lldbLibDir=",
-        "argsFile"]
+        "argsFile",
+        "useSystemSix"]
     dictArgReq = {"-h": "o",          # o = optional, m = mandatory
                   "-d": "o",
                   "-m": "o",
@@ -188,7 +190,8 @@
                   "--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 @@
             (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.
Index: scripts/Python/finishSwigPythonLLDB.py
===================================================================
--- scripts/Python/finishSwigPythonLLDB.py
+++ scripts/Python/finishSwigPythonLLDB.py
@@ -821,7 +821,9 @@
         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:
Index: cmake/modules/LLDBConfig.cmake
===================================================================
--- cmake/modules/LLDBConfig.cmake
+++ cmake/modules/LLDBConfig.cmake
@@ -29,6 +29,9 @@
 set(LLDB_RELOCATABLE_PYTHON 0 CACHE BOOL
   "Causes LLDB to use the PYTHONHOME environment variable to locate Python.")
 
+set(LLDB_USE_SYSTEM_SIX 0 CACHE BOOL
+  "Use six.py shipped with system and do not install a copy of it")
+
 if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
   set(LLDB_EXPORT_ALL_SYMBOLS 0 CACHE BOOL
     "Causes lldb to export all symbols when building liblldb.")
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -20,6 +20,10 @@
 # add_subdirectory(include)
 add_subdirectory(docs)
 if (NOT LLDB_DISABLE_PYTHON)
+  if(LLDB_USE_SYSTEM_SIX)
+    set(SIX_EXTRA_ARGS "--useSystemSix")
+  endif()
+
   set(LLDB_PYTHON_TARGET_DIR ${LLDB_BINARY_DIR}/scripts)
   if(LLDB_BUILD_FRAMEWORK)
     set(LLDB_PYTHON_TARGET_DIR
@@ -50,6 +54,7 @@
                --prefix=${CMAKE_BINARY_DIR}
                --cmakeBuildConfiguration=${CMAKE_CFG_INTDIR}
                --lldbLibDir=lib${LLVM_LIBDIR_SUFFIX}
+               ${SIX_EXTRA_ARGS}
                ${FINISH_EXTRA_ARGS}
         VERBATIM
         DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/finishSwigWrapperClasses.py
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to