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

Khem Raj raj.khem at gmail.com
Tue Mar 26 18:08:06 UTC 2019


On Tue, Mar 26, 2019 at 5:02 AM Ross Burton <ross.burton at intel.com> wrote:
>
> 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

this is mostly true for arches we support but maybe a comment
to check it when doing explicit arch ports ( e.g. arm can grown both ways)


> 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
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list