mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-18 16:58:23 +00:00
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
This commit is contained in:
parent
9809b10586
commit
4791532830
@ -20,6 +20,10 @@ endif()
|
||||
# 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 @@ if (NOT LLDB_DISABLE_PYTHON)
|
||||
--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
|
||||
|
@ -29,6 +29,9 @@ set(LLDB_DISABLE_CURSES ${LLDB_DEFAULT_DISABLE_CURSES} CACHE BOOL
|
||||
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.")
|
||||
|
@ -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:
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user