summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2012-08-19 15:40:11 -0400
committerDave Reisner <dreisner@archlinux.org>2012-08-19 22:04:42 -0400
commit9836d6d22ac22fe7be584da2006ae8d9479096cc (patch)
treecbda2a521c77e590c728b1dc54c9d4b4b519719d /configure.ac
parent0c93fa9ef0e014ff3504f098ed5d0cf6c23641d2 (diff)
downloadfcgiwrap-9836d6d22ac22fe7be584da2006ae8d9479096cc.tar.xz
fcgiwrap-9836d6d22ac22fe7be584da2006ae8d9479096cc.zip
Add support for socket activation via systemd
This prevents the need for starting fcgiwrap explicitly, or using a tool such as spawn-fcgi. The type of socket does not matter, we merely accept a single FD passed from pid 1 and listen on it.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac17
1 files changed, 17 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 899c219..4388cd4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,6 +14,7 @@ AC_SUBST([AM_CFLAGS])
# Checks for programs.
AC_PROG_CC
+PKG_PROG_PKG_CONFIG
# Create the config.h.
AC_CONFIG_HEADERS([config.h])
@@ -21,6 +22,22 @@ AC_CONFIG_HEADERS([config.h])
# Checks for libraries.
AC_CHECK_LIB([fcgi], [FCGX_Init],, [AC_MSG_ERROR([FastCGI library is missing])])
+# systemd support.
+AC_ARG_WITH([systemd],
+ AS_HELP_STRING([--with-systemd], [support systemd socket activation]),
+ [], [with_systemd=check])
+have_systemd=no
+if test "x$with_systemd" != "xno"; then
+ PKG_CHECK_MODULES(systemd, [libsystemd-daemon],
+ [AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is available])
+ have_systemd=yes],
+ have_systemd=no)
+ if test "x$have_systemd" = xno -a "x$with_systemd" = xyes; then
+ AC_MSG_ERROR([systemd support requested but libraries not found])
+ fi
+fi
+AM_CONDITIONAL(HAVE_LIBSSL, [test "x$have_systemd" = "xyes"])
+
# Checks for header files.
AC_CHECK_HEADERS([fcntl.h],, [AC_MSG_ERROR([fcntl.h header missing])])
AC_CHECK_HEADERS([limits.h stdlib.h string.h unistd.h],, [AC_MSG_ERROR([at least one important system header file is missing])])