From 4d3289dc87befbca0cb5fcdfa6489110779f7422 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Thu, 16 Jan 2020 12:40:35 +0800 Subject: MSVC.README.rst: Add note about Python 3.8.x or later Let the people know how _giscanner.pyd handles looking up for dependent DLLs on Python 3.8.x or later on Windows. --- MSVC.README.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'MSVC.README.rst') diff --git a/MSVC.README.rst b/MSVC.README.rst index be1988b6..d8941de4 100644 --- a/MSVC.README.rst +++ b/MSVC.README.rst @@ -68,6 +68,22 @@ Note that for this setting, Python-2.7.x or Python-3.4.x or later is supported. When Meson completes configuring and generating the build files, proceed building using Ninja or the generated Visual Studio projects. +Additional notes for building and running against Python 3.8.x and later +------------------------------------------------------------------------ +Python 3.8.x and later made restrictions on where DLLs are searched for third-party +modules, which will therefore affect how the Python tools in tools/ look for dependent +DLLs, as they rely on a C Python module, _giscanner.pyd, as the paths in %PATH% are +no longer referred to, except for system-supplied DLLs in their designated locations +on the system. In order to cope with this, DLLs are being searched for in the +locations indicated by the 'bindir' entry in the pkg-config files that are being +required for the individual packages, followed by locations (note the plural form-multiple +paths are supported by GI_EXTRA_BASE_DLL_DIRS, separated by Python's os.pathsep, which is +';' on Windows cmd.exe) that are indicated through the envvar GI_EXTRA_BASE_DLL_DIRS. +This means, if there are any DLLs required (including their dependent non-system DLLs) for +the .gir files being generated or queried, they must be in the locations indicated by the +'bindir' entries in the dependent packages' .pc files of the current package, and/or in +the locations indicated by GI_EXTRA_BASE_DLL_DIRS. + Additional notes for building with Visual Studio 2008 only ---------------------------------------------------------- Due to its use of security manifests, after Meson completes configuring and -- cgit v1.2.1