conf: Ship default configuration and systemd units
Two configurations are supported:
1. A socket-activated, single-port client service arrangement, and
2. A port-templated client service
systemd's template-unit constraints prevent us from mapping ports to a
daemon configuration for the socket-activated case. To support multiple
concurrent console servers we have to revert to a standard daemon
arrangement where dropbear binds, listens and accepts its own
connections. This brings with it immediate memory overhead of running
dropbear before connections are received. As such configuration 2 is
opt-in as there are very few systems that require it.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Ifbcac1b1ca75ab3ff08c73855d7ed2ebabc27c0a
diff --git a/configure.ac b/configure.ac
index f720c7c..8f37250 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,6 +12,8 @@
AC_PROG_MAKE_SET
# Checks for libraries.
+PKG_PROG_PKG_CONFIG
+
PKG_CHECK_MODULES([SYSTEMD], [libsystemd > 221])
# Checks for header files.
@@ -22,6 +24,21 @@
# Checks for library functions.
LT_INIT # Removes 'unrecognized options: --with-libtool-sysroot'
+AC_ARG_WITH([systemdsystemunitdir],
+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
+ [], [with_systemdsystemunitdir=${prefix}$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
+if test "x$with_systemdsystemunitdir" != xno; then
+ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+fi
+AM_CONDITIONAL(WITH_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
+
+AC_ARG_ENABLE([concurrent-servers],
+ [AS_HELP_STRING([--enable-concurrent-servers],
+ [Configure applications and systemd units for concurrent server instances])],
+ [],
+ [enable_concurrent_servers="no"])
+AM_CONDITIONAL([ENABLE_CONCURRENT_SERVERS], [test "x$enable_concurrent_servers" = "xyes"])
+
# Check/set gtest specific functions.
AX_PTHREAD([GTEST_CPPFLAGS="-DGTEST_HAS_PTHREAD=1"],[GTEST_CPP_FLAGS="-DGTEST_HAS_PTHREAD=0"])
AC_SUBST(GTEST_CPPFLAGS)
@@ -45,5 +62,14 @@
)
# Create configured output
-AC_CONFIG_FILES([Makefile test/Makefile])
+AC_CONFIG_FILES([
+ conf/client.2200.conf
+ conf/obmc-console@.service
+ conf/obmc-console-ssh@.service
+ conf/obmc-console-ssh@.service.d/use-socket.conf
+ conf/obmc-console-ssh.socket
+ conf/server.ttyVUART0.conf
+ Makefile
+ test/Makefile
+ ])
AC_OUTPUT