[PATCH] configure.ac: enable systemd socket activation in libxtrans

Łukasz Stelmach l.stelmach at samsung.com
Fri Nov 29 01:36:07 PST 2013


It was <2013-11-29 pią 06:00>, when Peter Hutterer wrote:
> On Thu, Nov 28, 2013 at 04:23:07PM +0100, Hans de Goede wrote:
>> From: Łukasz Stelmach <l.stelmach at samsung.com>
>> 
>> Signed-off-by: Łukasz Stelmach <l.stelmach at samsung.com>
>> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
>> ---
>>  configure.ac | 28 ++++++++++++++++++++++++++++
>>  1 file changed, 28 insertions(+)
>> 
>> diff --git a/configure.ac b/configure.ac
>> index 6c4a609..ab246d6 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -832,6 +832,34 @@ AC_SUBST(SDK_REQUIRED_MODULES)
>>  
>>  REQUIRED_MODULES="$FIXESPROTO $DAMAGEPROTO $XCMISCPROTO $XTRANS
>> $BIGREQSPROTO $SDK_REQUIRED_MODULES"
>>  
>> +#
>> +# systemd socket activation
>> +#
>> +# activate the code in libxtrans that grabs sockets' file-descriptors
>> +# instead of creating them.
>> +#
>> +AC_ARG_WITH([systemd],
>> +	AS_HELP_STRING([--with-systemd], [support systemd socket activation]),
>> +	[], [with_systemd=check])
>> +have_systemd=check
>> +if test "x$with_systemd" != "xno"; then
>> +	PKG_CHECK_MODULES([systemd], [libsystemd-daemon],
>> +		[AC_DEFINE(HAVE_SYSTEMD, 1, [Define if libsystemd-daemon is available])
>> +		have_systemd=yes;],
>> +		[have_systemd=no])
>> +	if test "x$with_systemd" = "xyes" -a "x$have_systemd" = "xno"; then
>> +		AC_MSG_ERROR([systemd support requested but no library has been found])
>> +	fi
>> +fi
>> +AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = "xyes"])
>> +if test "x$have_systemd" = "xyes"; then
>
> while the above is fine, I'd prefer if base logic of the check is the same
> as all the other checks for misc "auto" stuff. which seems to be
>
> PKG_CHECK_MODULES(foo, foo, [have_foo=yes], [have_foo=no])
> if test "x$foo" = xauto; then
>    foo=$have_foo
> fi
> if test "x$foo" = xyes; then
>      if "xhave_foo" = xno; then
>         error
>      fi
>      AC_DEFINE(...)
>      other stuff
> fi
> AM_CONDITIONAL()
>
> there are multiple versions of this floating around in the configure file
> but the majority seems to go about it this way. it also helps re-using the
> have_systemd if it's needed elsewhere in the future.
>
>
>> +	SAVE_LIBS=$LIBS
>> +	LIBS="$systemd_LIBS"
>> + AC_CHECK_FUNCS([sd_listen_fds], [], [AC_MSG_ERROR([sd_listen_fds()
>> is missing from libsystemd-daemon])])
>
> can this even happen? quick check of the systemd code doesn't seem like it's
> easily disabled. and the history of it is back long enough that we don't
> need to require a specific version 


This is not the latest version of the patch. The latest version[1]
has the message changed to

    sd_listen_fds() is missing or libsystemd-daemon is not available

It may happen if there is something wrong with paths and for some reason
the library is not available to the linker. Personally I encountered
this when I was developing the patches with the systemd libraries not
installed in the system but rather laying in the source directory. 

Once again, please make sure you take the v4 patches [2][3][4].

>> +	LIBS=$SAVE_LIBS
>> +	REQUIRED_LIBS="$REQUIRED_LIBS libsystemd-daemon"
>
> this should also check for the matching version of libxtrans (which would
> have to be released first, of course).
>
> Cheers,
>    Peter
>
>> +fi
>> +
>>  if test "x$CONFIG_UDEV" = xyes &&
>>   { test "x$CONFIG_DBUS_API" = xyes || test "x$CONFIG_HAL" = xyes; }; then
>>  	AC_MSG_ERROR([Hotplugging through both libudev and dbus/hal not allowed])
>> -- 
>> 1.8.4.2

[1] http://thread.gmane.org/gmane.comp.freedesktop.xorg.devel/36092/focus=37696
[2] http://thread.gmane.org/gmane.comp.freedesktop.xorg.devel/36092/focus=37693
[3] http://lists.x.org/archives/xorg-devel/2013-October/038276.html
[4] curl -s http://lists.x.org/archives/xorg-devel/2013-October.txt.gz | gzip -dc  | sed -n -e 23359,23647\ \{ -e 's/?ukasz/Łukasz/' -e p -e \}

-- 
Łukasz Stelmach
Samsung R&D Institute Poland
Samsung Electronics
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20131129/211b2046/attachment.pgp>


More information about the xorg-devel mailing list