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