Mercurial > hg-stable
changeset 46869:ed286d150aa8
setup: copy python3.dll next to hg.exe when building on Windows for hgext.git
I thought I took care of this already, but it must have been that I just
manually copied the file over locally when debugging why the pygit2 library
wasn't loading. The problem with that is what was copied over was from py38,
and then running a py39 build hard crashed when the extension was loaded.
Differential Revision: https://phab.mercurial-scm.org/D10301
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 03 Apr 2021 21:15:45 -0400 |
parents | 802ba3c81507 |
children | 41d43d12c2c4 |
files | setup.py |
diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/setup.py Sat Apr 03 20:26:45 2021 -0400 +++ b/setup.py Sat Apr 03 21:15:45 2021 -0400 @@ -817,6 +817,22 @@ if not os.path.exists(dest): shutil.copy(buf.value, dest) + # Also overwrite python3.dll so that hgext.git is usable. + # TODO: also handle the MSYS flavor + if sys.version_info[0] >= 3: + python_x = os.path.join( + os.path.dirname(fsdecode(buf.value)), + "python3.dll", + ) + + if os.path.exists(python_x): + dest = os.path.join( + os.path.dirname(self.hgtarget), + os.path.basename(python_x), + ) + + shutil.copy(python_x, dest) + if not pythonlib: log.warn( 'could not determine Python DLL filename; assuming pythonXY'