diff mbox series

[v2] meson: make wrapper options sub-command specific

Message ID 20220928025205.1286043-1-liambeguin@gmail.com
State Accepted, archived
Commit 7bcda141f2019862b4fb5d8dec7956cd8344b420
Headers show
Series [v2] meson: make wrapper options sub-command specific | expand

Commit Message

Liam Beguin Sept. 28, 2022, 2:52 a.m. UTC
The meson-wrapper adds setup options to facilitate cross-compilation.
The current options are exclusive to the setup sub-command and might
cause issues with other sub-commands.

Update the wrapper to make options sub-command specific.

Signed-off-by: Liam Beguin <liambeguin@gmail.com>
---
 .../meson/meson/meson-wrapper                 | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)


base-commit: a2659cc2bf5d3f1cedf5c52c3b45e0427d40732d

Comments

Peter Kjellerstedt Sept. 28, 2022, 9:08 a.m. UTC | #1
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Liam Beguin
> Sent: den 28 september 2022 04:52
> To: liambeguin@gmail.com; openembedded-core@lists.openembedded.org
> Cc: alexandre.belloni@bootlin.com
> Subject: [OE-core] [PATCH v2] meson: make wrapper options sub-command specific
> 
> The meson-wrapper adds setup options to facilitate cross-compilation.
> The current options are exclusive to the setup sub-command and might
> cause issues with other sub-commands.
> 
> Update the wrapper to make options sub-command specific.
> 
> Signed-off-by: Liam Beguin <liambeguin@gmail.com>
> ---
>  .../meson/meson/meson-wrapper                 | 19 ++++++++++++++++---
>  1 file changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
> index c62007f5077e..866dc33cf4be 100755
> --- a/meta/recipes-devtools/meson/meson/meson-wrapper
> +++ b/meta/recipes-devtools/meson/meson/meson-wrapper
> @@ -13,7 +13,20 @@ fi
>  # config is already in meson.cross.
>  unset CC CXX CPP LD AR NM STRIP
> 
> +for arg in "${@}"; do
> +    case ${arg} in
> +    -*) continue ;;
> +    *) SUBCMD=${arg}; break ;;
> +    esac
> +done

Change all "${...}" to "$..." above.

> +
> +if [ "x${SUBCMD}" == "xsetup" ] || [ -d ${SUBCMD} ]; then

== is a bashism, use = instead. Also, you know that $SUBCMD will never 
have a - as its first character (due to the case statement above) so it 
is safe to simplify the above to:

if [ "$SUBCMD" = setup ] || [ -d "$SUBCMD" ]; then

> +    MESON_SUB_OPTS=" \
> +        --cross-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
> +        --native-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \

Change "${OECORE_NATIVE_SYSROOT}" to "$OECORE_NATIVE_SYSROOT". 
And while at it, change it in the export line earlier in the file 
as well.

> +        "
> +fi
> +
>  exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
> -     --cross-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
> -     --native-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \
> -     "$@"
> +    "$@" \
> +    ${MESON_SUB_OPTS}

Change "${MESON_SUB_OPTS}" to "$MESON_SUB_OPTS".

> 
> base-commit: a2659cc2bf5d3f1cedf5c52c3b45e0427d40732d
> --
> 2.37.1.223.g6a475b71f8c4

//Peter
diff mbox series

Patch

diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index c62007f5077e..866dc33cf4be 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -13,7 +13,20 @@  fi
 # config is already in meson.cross.
 unset CC CXX CPP LD AR NM STRIP
 
+for arg in "${@}"; do
+    case ${arg} in
+    -*) continue ;;
+    *) SUBCMD=${arg}; break ;;
+    esac
+done
+
+if [ "x${SUBCMD}" == "xsetup" ] || [ -d ${SUBCMD} ]; then
+    MESON_SUB_OPTS=" \
+        --cross-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
+        --native-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \
+        "
+fi
+
 exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
-     --cross-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
-     --native-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \
-     "$@"
+    "$@" \
+    ${MESON_SUB_OPTS}