[PATCH v3] meson: make wrapper options sub-command specific


Liam Beguin
 

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@...>
---
.../meson/meson/meson-wrapper | 21 +++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index c62007f5077e..fca64a569299 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -5,7 +5,7 @@ if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
fi

if [ -z "$SSL_CERT_DIR" ]; then
- export SSL_CERT_DIR="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/"
+ export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/etc/ssl/certs/"
fi

# If these are set to a cross-compile path, meson will get confused and try to
@@ -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 [ "$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" \
+ "
+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

base-commit: a2659cc2bf5d3f1cedf5c52c3b45e0427d40732d
--
2.37.1.223.g6a475b71f8c4


Liam Beguin
 

Hi,

On Wed, Sep 28, 2022 at 10:50:56PM -0400, Liam Beguin wrote:
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@...>
---
.../meson/meson/meson-wrapper | 21 +++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
Any comments on this patch?

Cheers,
Liam

diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index c62007f5077e..fca64a569299 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -5,7 +5,7 @@ if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
fi

if [ -z "$SSL_CERT_DIR" ]; then
- export SSL_CERT_DIR="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/"
+ export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/etc/ssl/certs/"
fi

# If these are set to a cross-compile path, meson will get confused and try to
@@ -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 [ "$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" \
+ "
+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

base-commit: a2659cc2bf5d3f1cedf5c52c3b45e0427d40732d
--
2.37.1.223.g6a475b71f8c4


Alexander Kanavin
 

No one seems to have objections, it's that there is no explicit
confirmation that your patch (or anyone's) is in staging branches, and
integration is currently on pause for a couple weeks.

Alex

On Tue, 11 Oct 2022 at 23:53, Liam Beguin <liambeguin@...> wrote:

Hi,

On Wed, Sep 28, 2022 at 10:50:56PM -0400, Liam Beguin wrote:
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@...>
---
.../meson/meson/meson-wrapper | 21 +++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
Any comments on this patch?

Cheers,
Liam

diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index c62007f5077e..fca64a569299 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -5,7 +5,7 @@ if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
fi

if [ -z "$SSL_CERT_DIR" ]; then
- export SSL_CERT_DIR="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/"
+ export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/etc/ssl/certs/"
fi

# If these are set to a cross-compile path, meson will get confused and try to
@@ -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 [ "$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" \
+ "
+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

base-commit: a2659cc2bf5d3f1cedf5c52c3b45e0427d40732d
--
2.37.1.223.g6a475b71f8c4


Liam Beguin
 

Hi Alex,

On Wed, Oct 12, 2022 at 09:46:46AM +0200, Alexander Kanavin wrote:
No one seems to have objections, it's that there is no explicit
confirmation that your patch (or anyone's) is in staging branches, and
integration is currently on pause for a couple weeks.
Understood, thanks for taking the time to explain.
I'll keep monitoring the tree.

Cheers,
Liam

Alex

On Tue, 11 Oct 2022 at 23:53, Liam Beguin <liambeguin@...> wrote:

Hi,

On Wed, Sep 28, 2022 at 10:50:56PM -0400, Liam Beguin wrote:
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@...>
---
.../meson/meson/meson-wrapper | 21 +++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
Any comments on this patch?

Cheers,
Liam

diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index c62007f5077e..fca64a569299 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -5,7 +5,7 @@ if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
fi

if [ -z "$SSL_CERT_DIR" ]; then
- export SSL_CERT_DIR="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/"
+ export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/etc/ssl/certs/"
fi

# If these are set to a cross-compile path, meson will get confused and try to
@@ -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 [ "$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" \
+ "
+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

base-commit: a2659cc2bf5d3f1cedf5c52c3b45e0427d40732d
--
2.37.1.223.g6a475b71f8c4


Alexandre Belloni
 

On 12/10/2022 18:01:26-0400, Liam Beguin wrote:
Hi Alex,

On Wed, Oct 12, 2022 at 09:46:46AM +0200, Alexander Kanavin wrote:
No one seems to have objections, it's that there is no explicit
confirmation that your patch (or anyone's) is in staging branches, and
integration is currently on pause for a couple weeks.
Understood, thanks for taking the time to explain.
I'll keep monitoring the tree.
It is actually the first oe-core patch we carry in master-next because
it didn't make langdale. It will get applied after the release.


Cheers,
Liam

Alex

On Tue, 11 Oct 2022 at 23:53, Liam Beguin <liambeguin@...> wrote:

Hi,

On Wed, Sep 28, 2022 at 10:50:56PM -0400, Liam Beguin wrote:
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@...>
---
.../meson/meson/meson-wrapper | 21 +++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
Any comments on this patch?

Cheers,
Liam

diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index c62007f5077e..fca64a569299 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -5,7 +5,7 @@ if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
fi

if [ -z "$SSL_CERT_DIR" ]; then
- export SSL_CERT_DIR="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/"
+ export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/etc/ssl/certs/"
fi

# If these are set to a cross-compile path, meson will get confused and try to
@@ -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 [ "$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" \
+ "
+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

base-commit: a2659cc2bf5d3f1cedf5c52c3b45e0427d40732d
--
2.37.1.223.g6a475b71f8c4

--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com