File tree Expand file tree Collapse file tree 5 files changed +44
-4
lines changed Expand file tree Collapse file tree 5 files changed +44
-4
lines changed Original file line number Diff line number Diff line change @@ -28,6 +28,13 @@ if(APPLE)
2828 add_definitions (-DLLDB_USE_OS_LOG)
2929endif ()
3030
31+ if (NOT LLDB_DISABLE_PYTHON)
32+ execute_process (
33+ COMMAND
34+ ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR} /scripts/get_libdir_suffix.py
35+ OUTPUT_VARIABLE LLDB_PY_LIB_SUFFIX)
36+ endif ()
37+
3138add_subdirectory (docs)
3239if (NOT LLDB_DISABLE_PYTHON)
3340 add_subdirectory (scripts)
@@ -146,7 +153,7 @@ if (NOT LLDB_DISABLE_PYTHON)
146153 --cfgBldDir=${lldb_scripts_dir}
147154 --prefix =${CMAKE_BINARY_DIR}
148155 --cmakeBuildConfiguration=${CMAKE_CFG_INTDIR}
149- --lldbLibDir=lib${LLVM_LIBDIR_SUFFIX }
156+ --lldbLibDir=lib${LLDB_PY_LIB_SUFFIX }
150157 ${use_python_wrapper_from_src_dir}
151158 ${use_six_py_from_system}
152159 VERBATIM
Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ if(EPYDOC_EXECUTABLE)
3535 --url "http://lldb.llvm.org"
3636 ${EPYDOC_OPTIONS}
3737 DEPENDS swig_wrapper liblldb
38- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /../../../lib${LLVM_LIBDIR_SUFFIX } /python2.7/site-packages
38+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /../../../lib${LLDB_PY_LIB_SUFFIX } /python2.7/site-packages
3939 COMMENT "Generating LLDB Python API reference with epydoc" VERBATIM
4040 )
4141endif (EPYDOC_EXECUTABLE)
Original file line number Diff line number Diff line change @@ -47,7 +47,7 @@ if(NOT LLDB_BUILD_FRAMEWORK)
4747 endif ()
4848
4949 set (SWIG_PYTHON_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR} /${swig_python_subdir} )
50- set (SWIG_INSTALL_DIR lib${LLVM_LIBDIR_SUFFIX } )
50+ set (SWIG_INSTALL_DIR lib${LLDB_PY_LIB_SUFFIX } )
5151
5252 # Install the LLDB python module
5353 install (DIRECTORY ${SWIG_PYTHON_DIR} DESTINATION ${SWIG_INSTALL_DIR} )
Original file line number Diff line number Diff line change @@ -24,4 +24,4 @@ set_target_properties(readline PROPERTIES
2424 LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} /lib${LLVM_LIBDIR_SUFFIX} /${PYTHON_DIRECTORY} )
2525
2626# Install the readline module.
27- install (TARGETS readline LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX} /lib${LLVM_LIBDIR_SUFFIX } /${PYTHON_DIRECTORY} )
27+ install (TARGETS readline LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX} /lib${LLDB_PY_LIB_SUFFIX } /${PYTHON_DIRECTORY} )
Original file line number Diff line number Diff line change 1+ import distutils .sysconfig
2+ import os
3+ import platform
4+ import re
5+ import sys
6+
7+
8+ def get_python_libdir_suffix ():
9+ """Returns the appropropriate python libdir suffix.
10+
11+ @return the python libdir suffix, normally either "" or "64".
12+ """
13+ if platform .system () != 'Linux' :
14+ return ""
15+
16+ # We currently have a bug in lldb -P that does not account for
17+ # architecture variants in python paths for
18+ # architecture-specific modules. Handle the lookup here.
19+ # When that bug is fixed, we should just ask lldb for the
20+ # right answer always.
21+ arch_specific_libdir = distutils .sysconfig .get_python_lib (True , False )
22+ split_libdir = arch_specific_libdir .split (os .sep )
23+ lib_re = re .compile (r"^lib.+$" )
24+
25+ for i in range (len (split_libdir )):
26+ match = lib_re .match (split_libdir [i ])
27+ if match is not None :
28+ return split_libdir [i ][3 :]
29+ return ""
30+
31+ if __name__ == '__main__' :
32+ sys .stdout .write (get_python_libdir_suffix ())
33+ sys .exit (0 )
You can’t perform that action at this time.
0 commit comments