[OE-core] [PATCH] libinput: add configure arg and PACKAGECONFIG for libunwind

Huang, Jie (Jackie) Jackie.Huang at windriver.com
Tue Aug 4 10:07:54 UTC 2015



> -----Original Message-----
> From: Jussi Kukkonen [mailto:jussi.kukkonen at intel.com]
> Sent: Tuesday, August 04, 2015 4:23 PM
> To: Huang, Jie (Jackie)
> Cc: Patches and discussions about the oe-core layer
> Subject: Re: [OE-core] [PATCH] libinput: add configure arg and PACKAGECONFIG for libunwind
> 
> On 4 August 2015 at 10:25,  <jackie.huang at windriver.com> wrote:
> > From: Jackie Huang <jackie.huang at windriver.com>
> >
> > libinput use pkg-config to check and decide whether to build
> > with libunwind, which causes undeterministic builds or error:
> >
> > | tmp/work/core2-64-wrs-linux/libinput/0.18.0-r0/libinput-0.18.0/test/litest.c:77:23:
> > | fatal error: libunwind.h: No such file or directory
> >
> > So add configure arg and PACKAGECONFIG for libunwind to make
> > deterministic build, but libunwind is disable by default.
> >
> > Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
> > ---
> >  ...input-configure.ac-add-arg-with-libunwind.patch | 44 ++++++++++++++++++++++
> >  meta/recipes-graphics/wayland/libinput_0.18.0.bb   |  7 +++-
> >  2 files changed, 50 insertions(+), 1 deletion(-)
> >  create mode 100644 meta/recipes-graphics/wayland/libinput/libinput-configure.ac-add-arg-with-
> libunwind.patch
> >
> > diff --git a/meta/recipes-graphics/wayland/libinput/libinput-configure.ac-add-arg-with-
> libunwind.patch b/meta/recipes-graphics/wayland/libinput/libinput-configure.ac-add-arg-with-
> libunwind.patch
> > new file mode 100644
> > index 0000000..4090c50
> > --- /dev/null
> > +++ b/meta/recipes-graphics/wayland/libinput/libinput-configure.ac-add-arg-with-libunwind.patch
> > @@ -0,0 +1,44 @@
> > +From 713a3892edc94f63e5968b1bb99ea2e08fecfa5d Mon Sep 17 00:00:00 2001
> > +From: Jackie Huang <jackie.huang at windriver.com>
> > +Date: Mon, 3 Aug 2015 20:33:44 -0700
> > +Subject: [PATCH] configure.ac: add arg --with-libunwind
> > +
> > +add arg --with-libunwind for configure so it's optional
> > +to check libunwind, and we can use it in bitbake's
> > +PACKAGECONFIG to make deterministic builds.
> > +
> > +Upstream-Status: Inappropriate [OE specific]
> 
> Are you sure? I would like to see this sent upstream: I expect they
> will take it as we are not the only people who care about
> deterministic builds.
> 
> That said, with "--with-libunwind" configure should fail if unwind is
> not found. Your patch does not seem to do this -- see comment below
> 
> Cheers,
>   Jussi
> 
> 
> > +
> > +Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
> > +---
> > + configure.ac | 11 ++++++++++-
> > + 1 file changed, 10 insertions(+), 1 deletion(-)
> > +
> > +diff --git a/configure.ac b/configure.ac
> > +index 314b0d4..7a31aa9 100644
> > +--- a/configure.ac
> > ++++ b/configure.ac
> > +@@ -60,10 +60,19 @@ PKG_PROG_PKG_CONFIG()
> > + PKG_CHECK_MODULES(MTDEV, [mtdev >= 1.1.0])
> > + PKG_CHECK_MODULES(LIBUDEV, [libudev])
> > + PKG_CHECK_MODULES(LIBEVDEV, [libevdev >= 0.4])
> > +-PKG_CHECK_MODULES(LIBUNWIND,
> > ++
> > ++AC_ARG_WITH(libunwind,
> > ++            AS_HELP_STRING([--with-libunwind],[Build with libunwind]))
> > ++
> > ++if test "x$with_libunwind" = "xyes"; then
> > ++      PKG_CHECK_MODULES(LIBUNWIND,
> > +                 [libunwind],
> > +                 [HAVE_LIBUNWIND=yes],
> > +                 [HAVE_LIBUNWIND=no])
> > ++else
> > ++      HAVE_LIBUNWIND=no
> > ++fi
> > ++
> > + if test "x$HAVE_LIBUNWIND" = "xyes"; then
> > +       AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support])
> > + fi
> 
> 
> Configure will succeed if --with-libunwind is set but unwind is not
> present: this should not happen.  Something like this should work
> correctly in both cases (please check that though: I wrote without
> testing):

Yes, you are right, this should be happen. I will check and re-patch, thanks!

Thanks,
Jackie

> 
> 
> AC_ARG_WITH([libunwind],
>     AS_HELP_STRING([--without-libunwind], [Do not use libunwind]))
> 
> AS_IF([test "x$with_libunwind" != "xno"],
>       [PKG_CHECK_MODULES(LIBUNWIND,
>                          [libunwind],
>                          [have_libunwind=yes],
>                          [have_libunwind=no])],
>       [have_libunwind=no])
> 
> AS_IF([test "x$have_libunwind" = "xyes"],
>       [AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support])],
>       [AS_IF([test "x$with_libunwind" = "xyes"],
>              [AC_MSG_ERROR([libunwind requested but not found])])])
> 
> > +--
> > +2.3.5
> > +
> > diff --git a/meta/recipes-graphics/wayland/libinput_0.18.0.bb b/meta/recipes-
> graphics/wayland/libinput_0.18.0.bb
> > index 0fe1c6c..8e8e6a7 100644
> > --- a/meta/recipes-graphics/wayland/libinput_0.18.0.bb
> > +++ b/meta/recipes-graphics/wayland/libinput_0.18.0.bb
> > @@ -7,11 +7,16 @@ LIC_FILES_CHKSUM =
> "file://COPYING;md5=2184aef38ff137ed33ce9a63b9d1eb8f"
> >
> >  DEPENDS = "libevdev udev mtdev"
> >
> > -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz"
> > +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
> > +           file://libinput-configure.ac-add-arg-with-libunwind.patch \
> > +"
> >  SRC_URI[md5sum] = "0ddbb0d53d58dec0a86de6791560011a"
> >  SRC_URI[sha256sum] = "64a70f96bab17a22eaf2fd7af17cf83def3388374096c7623be9448f62808cda"
> >
> >  inherit autotools pkgconfig
> >
> > +PACKAGECONFIG ??= ""
> > +PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
> > +
> >  FILES_${PN} += "${libdir}/udev/"
> >  FILES_${PN}-dbg += "${libdir}/udev/.debug"
> > --
> > 1.9.1
> >
> > --
> > _______________________________________________
> > 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