aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-08-27 23:16:20 +0300
committerGitHub <noreply@github.com>2017-08-27 23:16:20 +0300
commit3276882bbd98bb8fa1c8b5fa8467bbaab1d7b224 (patch)
tree9bb99c294950b13c19955f929970d9df5b37c5d8
parent858c1d4f30123673a6db37efdb820b49148a70e4 (diff)
parent987e5b743c511d79fd5f512f33fe9664cad58e74 (diff)
downloadmeson-3276882bbd98bb8fa1c8b5fa8467bbaab1d7b224.zip
meson-3276882bbd98bb8fa1c8b5fa8467bbaab1d7b224.tar.gz
meson-3276882bbd98bb8fa1c8b5fa8467bbaab1d7b224.tar.bz2
Merge pull request #2196 from arteymix/patch-4
python3: Fix 'sysconfig_path' for platform-dependant paths
-rw-r--r--mesonbuild/modules/python3.py2
-rw-r--r--test cases/python3/1 basic/meson.build14
2 files changed, 14 insertions, 2 deletions
diff --git a/mesonbuild/modules/python3.py b/mesonbuild/modules/python3.py
index 6431047..94db75c 100644
--- a/mesonbuild/modules/python3.py
+++ b/mesonbuild/modules/python3.py
@@ -68,7 +68,7 @@ class Python3Module(ExtensionModule):
raise mesonlib.MesonException('{} is not a valid path name {}.'.format(path_name, valid_names))
# Get a relative path without a prefix, e.g. lib/python3.6/site-packages
- path = sysconfig.get_path(path_name, vars={'base': ''})[1:]
+ path = sysconfig.get_path(path_name, vars={'base': '', 'platbase': '', 'installed_base': ''})[1:]
return ModuleReturnValue(path, [])
diff --git a/test cases/python3/1 basic/meson.build b/test cases/python3/1 basic/meson.build
index 111b717..4b8567d 100644
--- a/test cases/python3/1 basic/meson.build
+++ b/test cases/python3/1 basic/meson.build
@@ -9,10 +9,22 @@ if py3_version.version_compare('< 3.2')
endif
py3_purelib = py3_mod.sysconfig_path('purelib')
-if not py3_purelib.endswith('site-packages')
+if not py3_purelib.to_lower().startswith('lib') or not py3_purelib.endswith('site-packages')
error('Python3 purelib path seems invalid?')
endif
+# could be 'lib64' or 'Lib' on some systems
+py3_platlib = py3_mod.sysconfig_path('platlib')
+if not py3_platlib.to_lower().startswith('lib') or not py3_platlib.endswith('site-packages')
+ error('Python3 platlib path seems invalid?')
+endif
+
+# could be 'Include' on Windows
+py3_include = py3_mod.sysconfig_path('include')
+if not py3_include.to_lower().startswith('include')
+ error('Python3 include path seems invalid?')
+endif
+
main = files('prog.py')
test('toplevel', py3, args : main)