From 17fb047282a413aae5af991ecf5bbb225e19581e Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Sat, 4 Dec 2021 08:13:00 +0100 Subject: meson: configure and use generic exe_wrapper This replaces the specific gtkdoc wrapper setting (which was rejected by upstream in https://github.com/mesonbuild/meson/pull/9627) with a generic, officially supported and documented exe_wrapper, which is enabled subject to qemu usermode support (just as is done for g-i and gtk-doc with autotools). gtk-doc support is adjusted so that this wrapper is passed to meson's gtk-doc module, which passes it to gtk-doc. The adjusted patch is re-submitted upstream. The side effect of this is that meson is now able to run target binaries in a generic way when it wants to, so this may affect cross-builds - hopefully in a positive way. Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...ix-issues-that-arise-when-cross-compiling.patch | 27 ++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'meta/recipes-devtools/meson') diff --git a/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch b/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch index ab4d5969d9..b098c4a123 100644 --- a/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch +++ b/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch @@ -1,29 +1,38 @@ -From 2f9c59e0489e569c5382404667c10f5c200a72ad Mon Sep 17 00:00:00 2001 +From bbdd6679e49bcba5ec022b240ac234a87b451e41 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 4 Aug 2017 16:16:41 +0300 -Subject: [PATCH] gtkdoc: fix issues that arise when cross-compiling +Subject: [PATCH] gtkdoc: add support for a binary wrapper Make it possible to specify a wrapper for executing binaries +in cross-compiling scenarios. (usually, some kind of target hardware emulator, such as qemu) Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/9627] Signed-off-by: Alexander Kanavin --- - mesonbuild/modules/gnome.py | 4 ++++ - 1 file changed, 4 insertions(+) + mesonbuild/modules/gnome.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py -index dc2979e..c9ff9bd 100644 +index 1c6952d..5a6ff94 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py -@@ -1053,6 +1053,10 @@ class GnomeModule(ExtensionModule): +@@ -35,7 +35,7 @@ from ..mesonlib import ( + from ..dependencies import Dependency, PkgConfigDependency, InternalDependency + from ..interpreterbase import noPosargs, noKwargs, permittedKwargs, FeatureNew, FeatureNewKwargs, FeatureDeprecatedKwargs, FeatureDeprecated + from ..interpreterbase import typed_kwargs, KwargInfo, ContainerTypeInfo +-from ..programs import ExternalProgram, OverrideProgram ++from ..programs import ExternalProgram, OverrideProgram, EmptyExternalProgram + from ..build import CustomTarget, CustomTargetIndex, GeneratedList + + if T.TYPE_CHECKING: +@@ -1103,6 +1103,9 @@ class GnomeModule(ExtensionModule): args.append(f'--{program_name}={path}') if namespace: args.append('--namespace=' + namespace) -+ gtkdoc_exe_wrapper = state.environment.properties.host.get('gtkdoc_exe_wrapper', None) -+ if gtkdoc_exe_wrapper is not None: -+ args.append('--run=' + gtkdoc_exe_wrapper) ++ if state.environment.need_exe_wrapper() and not isinstance(state.environment.get_exe_wrapper(), EmptyExternalProgram): ++ args.append('--run=' + ' '.join(state.environment.get_exe_wrapper().get_command())) + args += self._unpack_args('--htmlargs=', 'html_args', kwargs) args += self._unpack_args('--scanargs=', 'scan_args', kwargs) -- cgit 1.2.3-korg