Hi,
On 11/29/2013 06:00 AM, Peter Hutterer wrote:
On Thu, Nov 28, 2013 at 04:23:07PM +0100, Hans de Goede wrote:
From: Łukasz Stelmach <l.stelm...@samsung.com>
Signed-off-by: Łukasz Stelmach <l.stelm...@samsung.com>
Signed-off-by: Hans de Goede <hdego...@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.
Done.
+ 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
Agreed I've dropped the check.
+ 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).
I think it would be better / easier to just bump the XTRANS requirement
when this goes upstream, iow change line 804 from:
XTRANS="xtrans >= 1.3.2"
to:
XTRANS="xtrans >= 1.3.3"
Once the new xtrans is released. Having HAVE_SYSTEMD in config.h won't hurt
with the old xtrans anyways, as there is no new API added, all changes which
it enables / disabled are contained within xtrans.
And I'm not a big fan of autotools (not that I know of anything better). So
I would like to keep the autotools stuff as KISS as possible.
Regards,
Hans
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel