[libvirt PATCH 126/351] meson: add runutf8 env vars and meson-python.sh script

Pavel Hrdina phrdina at redhat.com
Thu Jul 16 09:56:02 UTC 2020


With meson we have to use both env vars and wrapper script to run python
with correct LANG settings.

run_command() and test() have 'env' attribute so we can use it, but
custom_target() doesn't support that attribute. Environment variables
cannot by configured using 'command' because meson checks if the first
item in the list is executable so we have to use a wrapper.

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 configure.ac            | 7 -------
 meson.build             | 7 +++++++
 scripts/meson-python.sh | 3 +++
 scripts/meson.build     | 1 +
 4 files changed, 11 insertions(+), 7 deletions(-)
 create mode 100755 scripts/meson-python.sh

diff --git a/configure.ac b/configure.ac
index 5f931071b06..e6c7e50bb14 100644
--- a/configure.ac
+++ b/configure.ac
@@ -90,13 +90,6 @@ dnl Need to test if pkg-config exists
 PKG_PROG_PKG_CONFIG
 
 
-dnl Python3 < 3.7 treats the C locale as 7-bit only.
-dnl We must force env vars so it treats it as UTF-8
-dnl regardless of the user's locale.
-RUNUTF8="LC_ALL= LANG=C LC_CTYPE=en_US.UTF-8"
-AC_SUBST(RUNUTF8)
-
-
 dnl MinGW checks
 LIBVIRT_WIN_CHECK_SYMBOLS
 LIBVIRT_WIN_CHECK_WINDRES
diff --git a/meson.build b/meson.build
index 9e0cbbad6d7..48db9aa0d0a 100644
--- a/meson.build
+++ b/meson.build
@@ -2182,6 +2182,13 @@ endif
 conf.set_quoted('TLS_PRIORITY', get_option('tls_priority'))
 
 
+# Various definitions
+
+# Python3 < 3.7 treats the C locale as 7-bit only. We must force env vars so
+# it treats it as UTF-8 regardless of the user's locale.
+runutf8 = [ 'LC_ALL=', 'LANG=C', 'LC_CTYPE=en_US.UTF-8' ]
+
+
 # define top include directory
 
 top_inc_dir = include_directories('.')
diff --git a/scripts/meson-python.sh b/scripts/meson-python.sh
new file mode 100755
index 00000000000..9ba670fc1a5
--- /dev/null
+++ b/scripts/meson-python.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+LC_ALL= LANG=C LC_CTYPE=en_US.UTF-8 "$@"
diff --git a/scripts/meson.build b/scripts/meson.build
index 941e40a0917..5d3f0af4793 100644
--- a/scripts/meson.build
+++ b/scripts/meson.build
@@ -18,6 +18,7 @@ scripts = [
   'header-ifdef.py',
   'hvsupport.py',
   'hyperv_wmi_generator.py',
+  'meson-python.sh',
   'mock-noinline.py',
   'prohibit-duplicate-header.py',
   'test-wrap-argv.py',
-- 
2.26.2




More information about the libvir-list mailing list