File tree Expand file tree Collapse file tree 3 files changed +43
-2
lines changed Expand file tree Collapse file tree 3 files changed +43
-2
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,14 @@ if (WIN32)
30
30
add_definitions (-D_ENABLE_EXTENDED_ALIGNED_STORAGE)
31
31
endif ()
32
32
33
+ if (NOT LLDB_DISABLE_PYTHON)
34
+ execute_process (
35
+ COMMAND
36
+ ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR} /scripts/get_libdir_suffix.py
37
+ OUTPUT_VARIABLE LLDB_PY_LIB_SUFFIX)
38
+ endif ()
39
+
40
+ add_subdirectory (docs)
33
41
if (NOT LLDB_DISABLE_PYTHON)
34
42
add_subdirectory (scripts)
35
43
endif ()
@@ -186,7 +194,7 @@ if (NOT LLDB_DISABLE_PYTHON)
186
194
--cfgBldDir=${lldb_scripts_dir}
187
195
--prefix =${CMAKE_BINARY_DIR}
188
196
--cmakeBuildConfiguration=${CMAKE_CFG_INTDIR}
189
- --lldbLibDir=lib${LLVM_LIBDIR_SUFFIX }
197
+ --lldbLibDir=lib${LLDB_PY_LIB_SUFFIX }
190
198
${use_python_wrapper_from_src_dir}
191
199
${use_six_py_from_system}
192
200
VERBATIM
Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ if(NOT LLDB_BUILD_FRAMEWORK)
44
44
endif ()
45
45
46
46
set (SWIG_PYTHON_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR} /${swig_python_subdir} )
47
- set (SWIG_INSTALL_DIR lib${LLVM_LIBDIR_SUFFIX } )
47
+ set (SWIG_INSTALL_DIR lib${LLDB_PY_LIB_SUFFIX } )
48
48
49
49
# Install the LLDB python module
50
50
install (DIRECTORY ${SWIG_PYTHON_DIR} DESTINATION ${SWIG_INSTALL_DIR} )
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