[PATCH v6 1/6] meson: Allow user to override setup command options

Tom Hochstein
2025-04-11T17:28:52Z

The user cannot override the setup command options --cross-file and
--native-file because the meson-wrapper places these options on the
command line after the user options. This problem was noticed when
trying to build with an SDK using a custom cross-file.

Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
---
meta/recipes-devtools/meson/meson/meson-wrapper | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index 7455985297..3aa1a93520 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -14,8 +14,14 @@ fi
unset CC CXX CPP LD AR NM STRIP

case "$1" in
-setup|configure|dist|install|introspect|init|test|wrap|subprojects|rewrite|compile|devenv|env2mfile|help) MESON_CMD="$1" ;;
-*) echo meson-wrapper: Implicit setup command assumed; MESON_CMD=setup ;;
+setup|configure|dist|install|introspect|init|test|wrap|subprojects|rewrite|compile|devenv|env2mfile|help)
+ MESON_CMD="$1"
+ shift
+ ;;
+*)
+ MESON_CMD=setup
+ echo meson-wrapper: Implicit setup command assumed
+ ;;
esac

if [ "$MESON_CMD" = "setup" ]; then
@@ -27,5 +33,6 @@ if [ "$MESON_CMD" = "setup" ]; then
fi

exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
- "$@" \
- $MESON_SETUP_OPTS
+ $MESON_CMD \
+ $MESON_SETUP_OPTS \
+ "$@"
--
2.34.1