Author: Lawrence D'Anna Date: 2021-12-02T21:13:35-08:00 New Revision: 27ca9458012caf8b556ce31fc7aaac571af878d2
URL: https://github.com/llvm/llvm-project/commit/27ca9458012caf8b556ce31fc7aaac571af878d2 DIFF: https://github.com/llvm/llvm-project/commit/27ca9458012caf8b556ce31fc7aaac571af878d2.diff LOG: [lldb] add fallback for LLDB_PYTHON_RELATIVE_PATH Some pythons are configured to set platlib somewhere outside of their sys.prefix. It's important that we at least use some reasonable default for LLDB_PYTHON_RELATIVE_PATH even in that case, because even if the user overrides it on the cmake invocation, cmake will still be called without the override in order to build tablegen. Reviewed By: JDevlieghere, clayborg Differential Revision: https://reviews.llvm.org/D114973 Added: Modified: lldb/bindings/python/get-python-config.py Removed: ################################################################################ diff --git a/lldb/bindings/python/get-python-config.py b/lldb/bindings/python/get-python-config.py index 5b670d77451a3..32d82a54c160f 100755 --- a/lldb/bindings/python/get-python-config.py +++ b/lldb/bindings/python/get-python-config.py @@ -30,7 +30,17 @@ def main(): # lldb's python lib will be put in the correct place for python to find it. # If not, you'll have to use lldb -P or lldb -print-script-interpreter-info # to figure out where it is. - print(relpath_nodots(sysconfig.get_path("platlib"), sys.prefix)) + try: + print(relpath_nodots(sysconfig.get_path("platlib"), sys.prefix)) + except ValueError: + # Try to fall back to something reasonable if sysconfig's platlib + # is outside of sys.prefix + if os.name == 'posix': + print('lib/python%d.%d/site-packages' % sys.version_info[:2]) + elif os.name == 'nt': + print('Lib\\site-packages') + else: + raise elif args.variable_name == "LLDB_PYTHON_EXE_RELATIVE_PATH": tried = list() exe = sys.executable @@ -57,4 +67,4 @@ def main(): parser.error(f"unknown variable {args.variable_name}") if __name__ == '__main__': - main() \ No newline at end of file + main() _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits