[PATCH][weston] build: Require dbus for systemd-login

Bryce Harrington bryce at osg.samsung.com
Wed Feb 17 06:22:27 UTC 2016


On Wed, Nov 04, 2015 at 12:13:08PM +0100, Manuel Bachmann wrote:
> systemd-login support requires dbus (see "dbus.h" header in
> "launcher-logind.c") but the configure script was only
> checking libsystemd-login availability to define the
> HAVE_SYSTEMD_LOGIN macro, which results in undefined
> symbols in launcher-unit.
> 
> Put the systemd-login checks after the dbus ones, and only
> run the checks if it is present. Also mention dbus in the
> error message if "--enable-systemd-login" was forced.
> 
> Signed-off-by: Manuel Bachmann <manuel.bachmann at iot.bzh>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>

and pushed:

To ssh://git.freedesktop.org/git/wayland/weston
   bbde643..f989c38  master -> master


> ---
>  configure.ac | 66 +++++++++++++++++++++++++++++++-----------------------------
>  1 file changed, 34 insertions(+), 32 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index e5afbc0..9e29098 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -380,38 +380,6 @@ AC_ARG_ENABLE(resize-optimization,
>  AS_IF([test "x$enable_resize_optimization" = "xyes"],
>        [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
>  
> -AC_ARG_ENABLE(systemd-login,
> -              AS_HELP_STRING([--enable-systemd-login],
> -                             [Enable logind support]),,
> -              enable_systemd_login=auto)
> -if test x$enable_systemd_login != xno; then
> -  PKG_CHECK_MODULES(SYSTEMD_LOGIN,
> -                    [libsystemd >= 209],
> -                    [have_systemd_login_209=yes;have_systemd_login=yes],
> -                    [have_systemd_login_209=no;have_systemd_login=no])
> -
> -  # Older versions of systemd package systemd-login separately. Fall back on that
> -  AS_IF([test x$have_systemd_login != xyes],[
> -        PKG_CHECK_MODULES(SYSTEMD_LOGIN,
> -                          [libsystemd-login >= 198],
> -                          [have_systemd_login=yes],
> -                          [have_systemd_login=no])
> -        ])
> -else
> -  have_systemd_login=no
> -fi
> -
> -if test "x$have_systemd_login" = "xno" -a "x$enable_systemd_login" = "xyes"; then
> -  AC_MSG_ERROR([systemd-login support explicitly enabled, but can't find libsystemd>=209 or libsystemd-login])
> -fi
> -
> -AS_IF([test "x$have_systemd_login" = "xyes"],
> -      [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
> -AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes")
> -
> -AS_IF([test "x$have_systemd_login_209" = "xyes"],
> -      [AC_DEFINE([HAVE_SYSTEMD_LOGIN_209], [1], [Have systemd-login >= 209])])
> -
>  AC_ARG_ENABLE(weston-launch, [  --enable-weston-launch],, enable_weston_launch=yes)
>  AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch == xyes)
>  if test x$enable_weston_launch == xyes; then
> @@ -484,6 +452,40 @@ if test "x$enable_dbus" != "xno"; then
>  fi
>  AM_CONDITIONAL(ENABLE_DBUS, test "x$enable_dbus" = "xyes")
>  
> +# systemd-login support
> +AC_ARG_ENABLE(systemd-login,
> +              AS_HELP_STRING([--enable-systemd-login],
> +                             [Enable logind support]),,
> +              enable_systemd_login=auto)
> +if test x$enable_systemd_login != xno -a x$have_dbus != xno; then
> +  PKG_CHECK_MODULES(SYSTEMD_LOGIN,
> +                    [libsystemd >= 209],
> +                    [have_systemd_login_209=yes;have_systemd_login=yes],
> +                    [have_systemd_login_209=no;have_systemd_login=no])
> +
> +  # Older versions of systemd package systemd-login separately. Fall back on that
> +  AS_IF([test x$have_systemd_login != xyes],[
> +        PKG_CHECK_MODULES(SYSTEMD_LOGIN,
> +                          [libsystemd-login >= 198],
> +                          [have_systemd_login=yes],
> +                          [have_systemd_login=no])
> +        ])
> +else
> +  have_systemd_login=no
> +fi
> +
> +if test "x$have_systemd_login" = "xno" -a "x$enable_systemd_login" = "xyes"; then
> +  AC_MSG_ERROR([systemd-login support explicitly enabled, but can't find libsystemd>=209, libsystemd-login or dbus])
> +fi
> +
> +AS_IF([test "x$have_systemd_login" = "xyes"],
> +      [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
> +AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes")
> +
> +AS_IF([test "x$have_systemd_login_209" = "xyes"],
> +      [AC_DEFINE([HAVE_SYSTEMD_LOGIN_209], [1], [Have systemd-login >= 209])])
> +
> +
>  # Note that other features might want libxml2, or this feature might use
>  # alternative xml libraries at some point. Therefore the feature and
>  # pre-requisite concepts are split.
> -- 
> 1.8.3.1
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list