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(a)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