mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-17 04:58:16 +08:00
47 lines
2.9 KiB
Diff
47 lines
2.9 KiB
Diff
diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py
|
|
index 38e3d5f..6427980 100644
|
|
--- a/mesonbuild/dependencies/python.py
|
|
+++ b/mesonbuild/dependencies/python.py
|
|
@@ -208,7 +208,8 @@ class PythonSystemDependency(SystemDependency, _PythonDependencyBase):
|
|
# compile args
|
|
+ verdot = self.variables.get('py_version_short')
|
|
inc_paths = mesonlib.OrderedSet([
|
|
self.variables.get('INCLUDEPY'),
|
|
- self.paths.get('include'),
|
|
+ self.paths.get('include') + f'/../../../include/python${verdot}',
|
|
self.paths.get('platinclude')])
|
|
|
|
self.compile_args += ['-I' + path for path in inc_paths if path]
|
|
@@ -279,9 +279,9 @@ class PythonSystemDependency(SystemDependency, _PythonDependencyBase):
|
|
else:
|
|
libpath = Path(f'python{vernum}.dll')
|
|
else:
|
|
if limited_api:
|
|
vernum = vernum[0]
|
|
- libpath = Path('libs') / f'python{vernum}.lib'
|
|
+ libpath = Path('libs') / f'..' / f'..' / f'..' / f'lib' / f'python{vernum}.lib'
|
|
# For a debug build, pyconfig.h may force linking with
|
|
# pythonX_d.lib (see meson#10776). This cannot be avoided
|
|
# and won't work unless we also have a debug build of
|
|
@@ -296,6 +296,8 @@ class PythonSystemDependency(SystemDependency, _PythonDependencyBase):
|
|
vscrt = self.env.coredata.options[mesonlib.OptionKey('b_vscrt')].value
|
|
if vscrt in {'mdd', 'mtd', 'from_buildtype', 'static_from_buildtype'}:
|
|
vscrt_debug = True
|
|
+ if is_debug_build:
|
|
+ libpath = Path('libs') / f'..' / f'..' / f'..' / f'debug/lib' / f'python{vernum}_d.lib'
|
|
if is_debug_build and vscrt_debug and not self.variables.get('Py_DEBUG'):
|
|
mlog.warning(textwrap.dedent('''\
|
|
Using a debug build type with MSVC or an MSVC-compatible compiler
|
|
@@ -390,10 +390,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
|
|
set_env('PKG_CONFIG_PATH', old_pkg_path)
|
|
|
|
candidates.append(functools.partial(wrap_in_pythons_pc_dir, pkg_name, env, kwargs, installation))
|
|
+ candidates.append(functools.partial(PythonPkgConfigDependency, pkg_name, env, kwargs, installation))
|
|
- # We only need to check both, if a python install has a LIBPC. It might point to the wrong location,
|
|
- # e.g. relocated / cross compilation, but the presence of LIBPC indicates we should definitely look for something.
|
|
- if pkg_libdir is not None:
|
|
- candidates.append(functools.partial(PythonPkgConfigDependency, pkg_name, env, kwargs, installation))
|
|
else:
|
|
candidates.append(functools.partial(PkgConfigDependency, 'python3', env, kwargs))
|
|
|