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

Łukasz Stelmach l.stelmach at samsung.com
Wed Jun 26 09:18:05 PDT 2013


Signed-off-by: Łukasz Stelmach <l.stelmach at samsung.com>
---
 configure.ac |   32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/configure.ac b/configure.ac
index 53335b1..a58cde6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -825,6 +825,38 @@ 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
+	SAVE_LIBS=$LIBS
+	SAVE_CFLAGS=$CFLAGS
+	CFLAGS="$systemd_CFLAGS -DHAVE_SYSTEMD"
+	LIBS="$systemd_LIBS"
+	AC_CHECK_FUNCS([sd_listen_fds], [], [AC_MSG_ERROR([sd_listen_fds() is missing from libsystemd-daemon])])
+	LIBS=$SAVE_LIBS
+	CFLAGS="$SAVE_CFLAGS"
+	XSERVER_CFLAGS="$XSERVER_CFLAGS -DHAVE_SYSTEMD"
+	REQUIRED_LIBS="$REQUIRED_LIBS libsystemd-daemon"
+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.7.9.5



More information about the xorg-devel mailing list