[OE-core] [PATCH] glib: set glib-specific cross properties

Ross Burton ross.burton at intel.com
Tue Mar 26 12:01:57 UTC 2019


GLib wants to execute code to identify several properties of the system, for
example is vsprintf() broken and what direction does the stack grow. In
cross-compiled environments these fallback to the default values which are not
always correct (our vsprintf() is fine, but the test assumes it isn't) so set
these properties explicitly.

Ideally this happens magically by meson.bbclass using the same logic as
siteinfo.bbclass, but we need to fix glib now.

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross | 6 ++++++
 meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb        | 1 +
 meta/recipes-core/glib-2.0/glib.inc                  | 1 +
 3 files changed, 8 insertions(+)
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross

diff --git a/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross b/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross
new file mode 100644
index 00000000000..8420f9874e1
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross
@@ -0,0 +1,6 @@
+[properties]
+have_c99_vsnprintf = true
+have_c99_snprintf = true
+have_unix98_printf = true
+va_val_copy = true
+growing_stack = false
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
index 2de2affa51a..c872c749202 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
@@ -16,6 +16,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
            file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
            file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
            file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \
+           file://glib-meson.cross \
            "
 
 SRC_URI_append_class-native = " file://relocate-modules.patch"
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index 6f0ec1ad2e9..574bb38557b 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -53,6 +53,7 @@ PACKAGECONFIG[libelf] = ",,elfutils"
 PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus"
 
 EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false"
+EXTRA_OEMESON_append_class-target = " --cross-file ${WORKDIR}/glib-meson.cross"
 
 do_configure_prepend() {
 	sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
-- 
2.11.0



More information about the Openembedded-core mailing list