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

Jussi Kukkonen jussi.kukkonen at intel.com
Tue Aug 4 08:23:13 UTC 2015


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):


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