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

Andre McCurdy armccurdy at gmail.com
Tue Mar 26 19:41:21 UTC 2019


On Tue, Mar 26, 2019 at 11:08 AM Khem Raj <raj.khem at gmail.com> wrote:
> 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)

Not on EABI or any other ARM ABI which could possibly be targeted by
OE... unless you have evidence to prove otherwise?

> > 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
> --
> _______________________________________________
> 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