[all-commits] [llvm/llvm-project] 9e84e0: [lldb] Allow configuring on Windows with python in...

zero9178 via All-commits all-commits at lists.llvm.org
Fri Jan 6 00:58:46 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9e84e038447e283d020ae01aebb15e0e66ef3642
      https://github.com/llvm/llvm-project/commit/9e84e038447e283d020ae01aebb15e0e66ef3642
  Author: Markus Böck <markus.boeck02 at gmail.com>
  Date:   2023-01-06 (Fri, 06 Jan 2023)

  Changed paths:
    M lldb/bindings/python/get-python-config.py

  Log Message:
  -----------
  [lldb] Allow configuring on Windows with python interpreter within a junction

The current implementation nicely takes into account when the python interpreter is symlinked (or transitively within a symlinked directory). Sadly, `os.path.islink` returns `false` on Windows if instead of Windows symlinks, junctions are used. This has caused me issues after I started using `scoop` as my package manager on Windows, which creates junctions instead of symlinks.
The fix proposed in this patch is to check whether `realpath` returns a different path to `exe`, and if it does, to simply try again with that path.
The code could also be simplified since `sys.executable` is guaranteed to be absolute, and `os.readlink`, which can return a relative path, is no longer used.

Tested on Windows 11 with Python 3.11 as interpreter and Ubuntu 18.04 with Python 3.6

Differential Revision: https://reviews.llvm.org/D141042




More information about the All-commits mailing list