python module: windows dll name for pypy needs special casing

pull/10271/head
Matti Picus 3 years ago committed by Eli Schwartz
parent 1bb0387e67
commit 73fa3aad43
  1. 10
      mesonbuild/modules/python.py
  2. 3
      run_project_tests.py

@ -186,12 +186,20 @@ class PythonSystemDependency(SystemDependency, _PythonDependencyBase):
def _get_windows_link_args(self) -> T.Optional[T.List[str]]:
if self.platform.startswith('win'):
vernum = self.variables.get('py_version_nodot')
verdot = self.variables.get('py_version_short')
imp_lower = self.variables.get('implementation_lower', 'python')
if self.static:
libpath = Path('libs') / f'libpython{vernum}.a'
else:
comp = self.get_compiler()
if comp.id == "gcc":
libpath = Path(f'python{vernum}.dll')
if imp_lower == 'pypy' and verdot == '3.8':
# The naming changed between 3.8 and 3.9
libpath = Path(f'libpypy3-c.dll')
elif imp_lower == 'pypy':
libpath = Path(f'libpypy{verdot}-c.dll')
else:
libpath = Path(f'python{vernum}.dll')
else:
libpath = Path('libs') / f'python{vernum}.lib'
# base_prefix to allow for virtualenvs.

@ -651,7 +651,8 @@ def _run_test(test: TestDef,
(returncode, stdo, stde) = run_configure(gen_args, env=test.env, catch_exception=True)
try:
logfile = Path(test_build_dir, 'meson-logs', 'meson-log.txt')
mesonlog = logfile.open(errors='ignore', encoding='utf-8').read()
with logfile.open(errors='ignore', encoding='utf-8') as fid:
mesonlog = fid.read()
except Exception:
mesonlog = no_meson_log_msg
cicmds = run_ci_commands(mesonlog)

Loading…
Cancel
Save