[OE-core] [PATCH] classes/meson.bbclass: Explicitly mark functions as missing in MinGW
Khem Raj
raj.khem at gmail.com
Thu Feb 20 22:59:15 UTC 2020
On Thu, 2020-02-20 at 16:50 -0600, Joshua Watt wrote:
> On Thu, Feb 20, 2020 at 2:44 PM Joshua Watt <jpewhacker at gmail.com>
> wrote:
> >
> >
> > On Thu, Feb 20, 2020, 1:30 PM Khem Raj <raj.khem at gmail.com> wrote:
> > >
> > >
> > > On 2/20/20 10:51 AM, Joshua Watt wrote:
> > > > meson (with some help from GCC) misdetects certain builtin
> > > > functions as
> > > > being present on MinGW, when in fact they are not. Fix it by
> > > > explicitly
> > > > marking the functions as missing. This requires rearranging the
> > > > meson.cross file to put the [properties] section at the end so
> > > > the
> > > > append works properly (meson can't handle duplicate sections).
> > > >
> > >
> > > patch is fine workaround, but I think meson should look for
> > > strndup in
> > > string.h
> >
> > Agreed. I think the upstream fix would be better, and I will look
> > at that also.
>
> Fixed in
> http://lists.openembedded.org/pipermail/openembedded-core/2020-February/293233.html
> if that is preferable.
sounds good. Thanks for taking time to fix it
>
> > > > Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
> > > > ---
> > > > meta/classes/meson.bbclass | 25 +++++++++++++++++--------
> > > > 1 file changed, 17 insertions(+), 8 deletions(-)
> > > >
> > > > diff --git a/meta/classes/meson.bbclass
> > > > b/meta/classes/meson.bbclass
> > > > index 06034e8b47..5c74658d01 100644
> > > > --- a/meta/classes/meson.bbclass
> > > > +++ b/meta/classes/meson.bbclass
> > > > @@ -96,14 +96,6 @@ readelf = ${@meson_array('READELF', d)}
> > > > pkgconfig = 'pkg-config'
> > > > llvm-config = 'llvm-config${LLVMVERSION}'
> > > >
> > > > -[properties]
> > > > -needs_exe_wrapper = true
> > > > -c_args = ${@meson_array('CFLAGS', d)}
> > > > -c_link_args = ${@meson_array('LDFLAGS', d)}
> > > > -cpp_args = ${@meson_array('CXXFLAGS', d)}
> > > > -cpp_link_args = ${@meson_array('LDFLAGS', d)}
> > > > -gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper'
> > > > -
> > > > [host_machine]
> > > > system = '${@meson_operating_system('HOST_OS', d)}'
> > > > cpu_family = '${@meson_cpu_family('HOST_ARCH', d)}'
> > > > @@ -115,6 +107,23 @@ system = '${@meson_operating_system('TARGE
> > > > T_OS', d)}'
> > > > cpu_family = '${@meson_cpu_family('TARGET_ARCH', d)}'
> > > > cpu = '${TARGET_ARCH}'
> > > > endian = '${@meson_endian('TARGET', d)}'
> > > > +
> > > > +[properties]
> > > > +needs_exe_wrapper = true
> > > > +c_args = ${@meson_array('CFLAGS', d)}
> > > > +c_link_args = ${@meson_array('LDFLAGS', d)}
> > > > +cpp_args = ${@meson_array('CXXFLAGS', d)}
> > > > +cpp_link_args = ${@meson_array('LDFLAGS', d)}
> > > > +gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper'
> > > > +EOF
> > > > +}
> > > > +
> > > > +do_write_config_append_mingw32() {
> > > > + # meson mis-detects the presence of several builtin
> > > > functions in MinGW
> > > > + # (see https://github.com/mesonbuild/meson/issues/3672).
> > > > + # Explicitly mark these functions as missing in the cross
> > > > file
> > > > + cat >>${WORKDIR}/meson.cross <<EOF
> > > > +has_function_strndup = false
> > > > EOF
> > > > }
> > > >
> > > >
> > > --
> > > _______________________________________________
> > > 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