From d08b641e4d4433cf3784b8b16f0ab40653a577b7 Mon Sep 17 00:00:00 2001
From: William Brown <firstyear@redhat.com>
Date: Wed, 24 Feb 2016 13:25:11 +1030
Subject: [PATCH] Ticket 47977 - Make systemd components depend on with-systemd

Bug Description:  The systemd unit files now depend on parts of the
dirsrv code base that depends on with-systemd (see, sd_notify)
As a result, it's possible to create a non-functional build of ds
by building without "with-systemd" and then attempting to run it.
The creates an issue where type=notify cannot be satisfied in the
start up procedure.

Fix Description: This makes all unit file components of systemd
depend on with-systemd in order to be processed and used.

https://fedorahosted.org/389/ticket/47977

Author: wibrown

Review by: ???
---
 Makefile.in   |   2 -
 aclocal.m4    | 200 ---------------------------------
 configure     | 350 +++++++++++++++++++---------------------------------------
 configure.ac  |  64 -----------
 m4/systemd.m4 |  70 +++++++++++-
 5 files changed, 181 insertions(+), 505 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index a2042b9..e7e7403 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1348,8 +1348,6 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 RANLIB = @RANLIB@
 RPM_RELEASE = @RPM_RELEASE@
 RPM_VERSION = @RPM_VERSION@
diff --git a/aclocal.m4 b/aclocal.m4
index 5b32a97..58e04a0 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -20,206 +20,6 @@ You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-# 
-# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
-m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
-AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
-AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=m4_default([$1], [0.9.0])
-	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		AC_MSG_RESULT([yes])
-	else
-		AC_MSG_RESULT([no])
-		PKG_CONFIG=""
-	fi
-fi[]dnl
-])# PKG_PROG_PKG_CONFIG
-
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists.  Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
-    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
-  m4_default([$2], [:])
-m4_ifvaln([$3], [else
-  $3])dnl
-fi])
-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
-m4_define([_PKG_CONFIG],
-[if test -n "$$1"; then
-    pkg_cv_[]$1="$$1"
- elif test -n "$PKG_CONFIG"; then
-    PKG_CHECK_EXISTS([$3],
-                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes ],
-		     [pkg_failed=yes])
- else
-    pkg_failed=untried
-fi[]dnl
-])# _PKG_CONFIG
-
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
-
-
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_MODULES],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
-
-if test $pkg_failed = yes; then
-   	AC_MSG_RESULT([no])
-        _PKG_SHORT_ERRORS_SUPPORTED
-        if test $_pkg_short_errors_supported = yes; then
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
-        else 
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
-	m4_default([$4], [AC_MSG_ERROR(
-[Package requirements ($2) were not met:
-
-$$1_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-_PKG_TEXT])[]dnl
-        ])
-elif test $pkg_failed = untried; then
-     	AC_MSG_RESULT([no])
-	m4_default([$4], [AC_MSG_FAILURE(
-[The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-_PKG_TEXT
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
-        ])
-else
-	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
-	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
-        AC_MSG_RESULT([yes])
-	$3
-fi[]dnl
-])# PKG_CHECK_MODULES
-
-
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
-AC_DEFUN([PKG_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
-m4_pushdef([pkg_description],
-    [pkg-config installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([pkgconfigdir],
-    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
-    [with_pkgconfigdir=]pkg_default)
-AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
-
-
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
-AC_DEFUN([PKG_NOARCH_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
-m4_pushdef([pkg_description],
-    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([noarch-pkgconfigdir],
-    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
-    [with_noarch_pkgconfigdir=]pkg_default)
-AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
-
 # Copyright (C) 2002-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
diff --git a/configure b/configure
index 2a88f1a..142d91a 100755
--- a/configure
+++ b/configure
@@ -693,6 +693,11 @@ OPENLDAP_TRUE
 SELINUX_FALSE
 SELINUX_TRUE
 PACKAGE_BASE_VERSION
+SYSTEMD_FALSE
+SYSTEMD_TRUE
+with_systemdgroupname
+with_systemdsystemconfdir
+with_systemdsystemunitdir
 with_selinux
 kerberos_libdir
 kerberos_lib
@@ -701,8 +706,7 @@ KRB5_CONFIG_BIN
 NETSNMP_CONFIG
 ICU_CONFIG
 ldap_lib_ldif
-SYSTEMD_FALSE
-SYSTEMD_TRUE
+PKG_CONFIG
 SOLARIS_FALSE
 SOLARIS_TRUE
 HPUX_FALSE
@@ -736,12 +740,6 @@ schemadir
 propertydir
 sampledatadir
 configdir
-with_systemdgroupname
-with_systemdsystemconfdir
-with_systemdsystemunitdir
-PKG_CONFIG_LIBDIR
-PKG_CONFIG_PATH
-PKG_CONFIG
 with_tmpfiles_d
 with_fhs_opt
 enable_nunc_stans_FALSE
@@ -933,9 +931,6 @@ with_fhs_opt
 with_tmpfiles_d
 with_perldir
 with_pythondir
-with_systemdsystemunitdir
-with_systemdsystemconfdir
-with_systemdgroupname
 with_instconfigdir
 with_initddir
 with_nspr
@@ -977,6 +972,9 @@ with_nunc_stans
 with_nunc_stans_inc
 with_nunc_stans_lib
 with_systemd
+with_systemdsystemunitdir
+with_systemdsystemconfdir
+with_systemdgroupname
 '
       ac_precious_vars='build_alias
 host_alias
@@ -992,10 +990,7 @@ CFLAGS
 CCAS
 CCASFLAGS
 CPP
-CXXCPP
-PKG_CONFIG
-PKG_CONFIG_PATH
-PKG_CONFIG_LIBDIR'
+CXXCPP'
 
 
 # Initialize some variables set by options.
@@ -1668,18 +1663,6 @@ Optional Packages:
 
   --with-pythondir=PATH   Directory for python)
 
-  --with-systemdsystemunitdir=PATH
-                          Directory for systemd service files (default:
-                          $with_systemdsystemunitdir)
-
-  --with-systemdsystemconfdir=PATH
-                          Directory for systemd service files (default:
-                          $with_systemdsystemconfdir)
-
-  --with-systemdgroupname=NAME
-                          Name of group target for all instances (default:
-                          $with_systemdgroupname)
-
   --with-instconfigdir=/path
                           Base directory for instance specific writable
                           configuration directories (default
@@ -1749,6 +1732,18 @@ Optional Packages:
   --with-nunc-stans-lib=PATH
                           nunc-stans library directory
   --with-systemd          Enable Systemd native integration.
+  --with-systemdsystemunitdir=PATH
+                          Directory for systemd service files (default:
+                          $with_systemdsystemunitdir)
+
+  --with-systemdsystemconfdir=PATH
+                          Directory for systemd service files (default:
+                          $with_systemdsystemconfdir)
+
+  --with-systemdgroupname=NAME
+                          Name of group target for all instances (default:
+                          $with_systemdgroupname)
+
 
 Some influential environment variables:
   CXX         C++ compiler command
@@ -1764,11 +1759,6 @@ Some influential environment variables:
   CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
   CPP         C preprocessor
   CXXCPP      C++ preprocessor
-  PKG_CONFIG  path to pkg-config utility
-  PKG_CONFIG_PATH
-              directories to add to pkg-config's search path
-  PKG_CONFIG_LIBDIR
-              path overriding pkg-config's built-in search path
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -18256,131 +18246,6 @@ $as_echo "$with_tmpfiles_d" >&6; }
 fi
 
 
-
-
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-	if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=0.9.0
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	else
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-		PKG_CONFIG=""
-	fi
-fi
-if test -n "$PKG_CONFIG" ; then
-   default_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
-   default_systemdsystemconfdir=`$PKG_CONFIG --variable=systemdsystemconfdir systemd`
-fi
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-perldir" >&5
 $as_echo_n "checking for --with-perldir... " >&6; }
 
@@ -18423,77 +18288,6 @@ else
   with_pythondir=
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-systemdsystemunitdir" >&5
-$as_echo_n "checking for --with-systemdsystemunitdir... " >&6; }
-
-# Check whether --with-systemdsystemunitdir was given.
-if test "${with_systemdsystemunitdir+set}" = set; then :
-  withval=$with_systemdsystemunitdir;
-fi
-
-if test "$with_systemdsystemunitdir" = yes ; then
-  if test -n "$default_systemdsystemunitdir" ; then
-    with_systemdsystemunitdir=$default_systemdsystemunitdir
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemunitdir" >&5
-$as_echo "$with_systemdsystemunitdir" >&6; }
-  else
-    as_fn_error $? "You must specify --with-systemdsystemconfdir=/full/path/to/systemd/system directory" "$LINENO" 5
-  fi
-elif test "$with_systemdsystemunitdir" = no ; then
-  with_systemdsystemunitdir=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemunitdir" >&5
-$as_echo "$with_systemdsystemunitdir" >&6; }
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-systemdsystemconfdir" >&5
-$as_echo_n "checking for --with-systemdsystemconfdir... " >&6; }
-
-# Check whether --with-systemdsystemconfdir was given.
-if test "${with_systemdsystemconfdir+set}" = set; then :
-  withval=$with_systemdsystemconfdir;
-fi
-
-if test "$with_systemdsystemconfdir" = yes ; then
-  if test -n "$default_systemdsystemconfdir" ; then
-    with_systemdsystemconfdir=$default_systemdsystemconfdir
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemconfdir" >&5
-$as_echo "$with_systemdsystemconfdir" >&6; }
-  else
-    as_fn_error $? "You must specify --with-systemdsystemconfdir=/full/path/to/systemd/system directory" "$LINENO" 5
-  fi
-elif test "$with_systemdsystemconfdir" = no ; then
-  with_systemdsystemconfdir=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemconfdir" >&5
-$as_echo "$with_systemdsystemconfdir" >&6; }
-fi
-
-
-if test -n "$with_systemdsystemunitdir" -o -n "$with_systemdsystemconfdir" ; then
-   if test -z "$with_systemdgroupname" ; then
-      with_systemdgroupname=$PACKAGE_NAME.target
-   fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-systemdgroupname" >&5
-$as_echo_n "checking for --with-systemdgroupname... " >&6; }
-
-# Check whether --with-systemdgroupname was given.
-if test "${with_systemdgroupname+set}" = set; then :
-  withval=$with_systemdgroupname;
-fi
-
-   if test "$with_systemdgroupname" = yes ; then
-      as_fn_error $? "You must specify --with-systemdgroupname=name.of.group" "$LINENO" 5
-   elif test "$with_systemdgroupname" = no ; then
-      as_fn_error $? "You must specify --with-systemdgroupname=name.of.group" "$LINENO" 5
-   else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdgroupname" >&5
-$as_echo "$with_systemdgroupname" >&6; }
-   fi
-
-fi
-
 
 
 
@@ -18883,14 +18677,6 @@ else
   SOLARIS_FALSE=
 fi
 
- if test -n "$with_systemdsystemunitdir" -o -n "$with_systemdsystemconfdir"; then
-  SYSTEMD_TRUE=
-  SYSTEMD_FALSE='#'
-else
-  SYSTEMD_TRUE='#'
-  SYSTEMD_FALSE=
-fi
-
 
 # Check for library dependencies
 # BEGIN COPYRIGHT BLOCK
@@ -21440,12 +21226,100 @@ $as_echo_n "checking for Systemd with pkg-config... " >&6; }
         systemd_lib=`$PKG_CONFIG --libs-only-l systemd libsystemd-journal libsystemd-daemon`
         systemd_defs="-DWITH_SYSTEMD"
     else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no Systemd pkg-config files" >&5
-$as_echo "no Systemd pkg-config files" >&6; }
+        as_fn_error $? "no Systemd / Journald pkg-config files" "$LINENO" 5
+    fi
+
+    # Check for the pkg config provided unit paths
+    if test -n "$PKG_CONFIG" ; then
+       default_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
+       default_systemdsystemconfdir=`$PKG_CONFIG --variable=systemdsystemconfdir systemd`
+    fi
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-systemdsystemunitdir" >&5
+$as_echo_n "checking for --with-systemdsystemunitdir... " >&6; }
+
+# Check whether --with-systemdsystemunitdir was given.
+if test "${with_systemdsystemunitdir+set}" = set; then :
+  withval=$with_systemdsystemunitdir;
+fi
+
+    if test "$with_systemdsystemunitdir" = yes ; then
+      if test -n "$default_systemdsystemunitdir" ; then
+        with_systemdsystemunitdir=$default_systemdsystemunitdir
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemunitdir" >&5
+$as_echo "$with_systemdsystemunitdir" >&6; }
+      else
+        as_fn_error $? "You must specify --with-systemdsystemconfdir=/full/path/to/systemd/system directory" "$LINENO" 5
+      fi
+    elif test "$with_systemdsystemunitdir" = no ; then
+      with_systemdsystemunitdir=
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemunitdir" >&5
+$as_echo "$with_systemdsystemunitdir" >&6; }
+    fi
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-systemdsystemconfdir" >&5
+$as_echo_n "checking for --with-systemdsystemconfdir... " >&6; }
+
+# Check whether --with-systemdsystemconfdir was given.
+if test "${with_systemdsystemconfdir+set}" = set; then :
+  withval=$with_systemdsystemconfdir;
+fi
+
+    if test "$with_systemdsystemconfdir" = yes ; then
+      if test -n "$default_systemdsystemconfdir" ; then
+        with_systemdsystemconfdir=$default_systemdsystemconfdir
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemconfdir" >&5
+$as_echo "$with_systemdsystemconfdir" >&6; }
+      else
+        as_fn_error $? "You must specify --with-systemdsystemconfdir=/full/path/to/systemd/system directory" "$LINENO" 5
+      fi
+    elif test "$with_systemdsystemconfdir" = no ; then
+      with_systemdsystemconfdir=
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdsystemconfdir" >&5
+$as_echo "$with_systemdsystemconfdir" >&6; }
     fi
 
+
+    if test -n "$with_systemdsystemunitdir" -o -n "$with_systemdsystemconfdir" ; then
+       if test -z "$with_systemdgroupname" ; then
+          with_systemdgroupname=$PACKAGE_NAME.target
+       fi
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-systemdgroupname" >&5
+$as_echo_n "checking for --with-systemdgroupname... " >&6; }
+
+# Check whether --with-systemdgroupname was given.
+if test "${with_systemdgroupname+set}" = set; then :
+  withval=$with_systemdgroupname;
 fi
 
+       if test "$with_systemdgroupname" = yes ; then
+          as_fn_error $? "You must specify --with-systemdgroupname=name.of.group" "$LINENO" 5
+       elif test "$with_systemdgroupname" = no ; then
+          as_fn_error $? "You must specify --with-systemdgroupname=name.of.group" "$LINENO" 5
+       else
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_systemdgroupname" >&5
+$as_echo "$with_systemdgroupname" >&6; }
+       fi
+
+    fi
+
+
+fi
+# End of with_systemd
+
+ if test -n "$with_systemd"; then
+  SYSTEMD_TRUE=
+  SYSTEMD_FALSE='#'
+else
+  SYSTEMD_TRUE='#'
+  SYSTEMD_FALSE=
+fi
+
+
+
 
 PACKAGE_BASE_VERSION=`echo $PACKAGE_VERSION | awk -F\. '{print $1"."$2}'`
 
diff --git a/configure.ac b/configure.ac
index 7f93b6a..b80a077 100644
--- a/configure.ac
+++ b/configure.ac
@@ -378,12 +378,6 @@ else
 fi
 AC_SUBST(with_tmpfiles_d)
 
-PKG_PROG_PKG_CONFIG
-if test -n "$PKG_CONFIG" ; then
-   default_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
-   default_systemdsystemconfdir=`$PKG_CONFIG --variable=systemdsystemconfdir systemd`
-fi
-
 AC_MSG_CHECKING(for --with-perldir)
 AC_ARG_WITH([perldir],
    AS_HELP_STRING([--with-perldir=PATH],
@@ -418,63 +412,6 @@ else
   with_pythondir=
 fi
 
-AC_MSG_CHECKING(for --with-systemdsystemunitdir)
-AC_ARG_WITH([systemdsystemunitdir],
-   AS_HELP_STRING([--with-systemdsystemunitdir=PATH],
-                  [Directory for systemd service files (default: $with_systemdsystemunitdir)])
-)
-if test "$with_systemdsystemunitdir" = yes ; then
-  if test -n "$default_systemdsystemunitdir" ; then
-    with_systemdsystemunitdir=$default_systemdsystemunitdir
-    AC_MSG_RESULT([$with_systemdsystemunitdir])
-  else
-    AC_MSG_ERROR([You must specify --with-systemdsystemconfdir=/full/path/to/systemd/system directory])
-  fi
-elif test "$with_systemdsystemunitdir" = no ; then
-  with_systemdsystemunitdir=
-else
-  AC_MSG_RESULT([$with_systemdsystemunitdir])
-fi
-AC_SUBST(with_systemdsystemunitdir)
-
-AC_MSG_CHECKING(for --with-systemdsystemconfdir)
-AC_ARG_WITH([systemdsystemconfdir],
-   AS_HELP_STRING([--with-systemdsystemconfdir=PATH],
-                  [Directory for systemd service files (default: $with_systemdsystemconfdir)])
-)
-if test "$with_systemdsystemconfdir" = yes ; then
-  if test -n "$default_systemdsystemconfdir" ; then
-    with_systemdsystemconfdir=$default_systemdsystemconfdir
-    AC_MSG_RESULT([$with_systemdsystemconfdir])
-  else
-    AC_MSG_ERROR([You must specify --with-systemdsystemconfdir=/full/path/to/systemd/system directory])
-  fi
-elif test "$with_systemdsystemconfdir" = no ; then
-  with_systemdsystemconfdir=
-else
-  AC_MSG_RESULT([$with_systemdsystemconfdir])
-fi
-AC_SUBST(with_systemdsystemconfdir)
-
-if test -n "$with_systemdsystemunitdir" -o -n "$with_systemdsystemconfdir" ; then
-   if test -z "$with_systemdgroupname" ; then
-      with_systemdgroupname=$PACKAGE_NAME.target
-   fi
-   AC_MSG_CHECKING(for --with-systemdgroupname)
-   AC_ARG_WITH([systemdgroupname],
-        AS_HELP_STRING([--with-systemdgroupname=NAME],
-                       [Name of group target for all instances (default: $with_systemdgroupname)])
-   )
-   if test "$with_systemdgroupname" = yes ; then
-      AC_MSG_ERROR([You must specify --with-systemdgroupname=name.of.group])
-   elif test "$with_systemdgroupname" = no ; then
-      AC_MSG_ERROR([You must specify --with-systemdgroupname=name.of.group])
-   else
-      AC_MSG_RESULT([$with_systemdgroupname])
-   fi
-   AC_SUBST(with_systemdgroupname)
-fi
-
 AC_SUBST(configdir)
 AC_SUBST(sampledatadir)
 AC_SUBST(propertydir)
@@ -701,7 +638,6 @@ AC_SUBST(initconfigdir)
 
 AM_CONDITIONAL([HPUX],[test "$platform" = "hpux"])
 AM_CONDITIONAL([SOLARIS],[test "$platform" = "solaris"])
-AM_CONDITIONAL([SYSTEMD],[test -n "$with_systemdsystemunitdir" -o -n "$with_systemdsystemconfdir"])
 
 # Check for library dependencies
 m4_include(m4/nspr.m4)
diff --git a/m4/systemd.m4 b/m4/systemd.m4
index 1c62076..d91a9da 100644
--- a/m4/systemd.m4
+++ b/m4/systemd.m4
@@ -30,7 +30,75 @@ if test "$with_systemd" = yes; then
         systemd_lib=`$PKG_CONFIG --libs-only-l systemd libsystemd-journal libsystemd-daemon`
         systemd_defs="-DWITH_SYSTEMD"
     else
-        AC_MSG_ERROR([no Systemd pkg-config files])
+        AC_MSG_ERROR([no Systemd / Journald pkg-config files])
     fi
 
+    # Check for the pkg config provided unit paths
+    if test -n "$PKG_CONFIG" ; then
+       default_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
+       default_systemdsystemconfdir=`$PKG_CONFIG --variable=systemdsystemconfdir systemd`
+    fi
+
+    AC_MSG_CHECKING(for --with-systemdsystemunitdir)
+    AC_ARG_WITH([systemdsystemunitdir],
+       AS_HELP_STRING([--with-systemdsystemunitdir=PATH],
+                      [Directory for systemd service files (default: $with_systemdsystemunitdir)])
+    )
+    if test "$with_systemdsystemunitdir" = yes ; then
+      if test -n "$default_systemdsystemunitdir" ; then
+        with_systemdsystemunitdir=$default_systemdsystemunitdir
+        AC_MSG_RESULT([$with_systemdsystemunitdir])
+      else
+        AC_MSG_ERROR([You must specify --with-systemdsystemconfdir=/full/path/to/systemd/system directory])
+      fi
+    elif test "$with_systemdsystemunitdir" = no ; then
+      with_systemdsystemunitdir=
+    else
+      AC_MSG_RESULT([$with_systemdsystemunitdir])
+    fi
+    AC_SUBST(with_systemdsystemunitdir)
+
+    AC_MSG_CHECKING(for --with-systemdsystemconfdir)
+    AC_ARG_WITH([systemdsystemconfdir],
+       AS_HELP_STRING([--with-systemdsystemconfdir=PATH],
+                      [Directory for systemd service files (default: $with_systemdsystemconfdir)])
+    )
+    if test "$with_systemdsystemconfdir" = yes ; then
+      if test -n "$default_systemdsystemconfdir" ; then
+        with_systemdsystemconfdir=$default_systemdsystemconfdir
+        AC_MSG_RESULT([$with_systemdsystemconfdir])
+      else
+        AC_MSG_ERROR([You must specify --with-systemdsystemconfdir=/full/path/to/systemd/system directory])
+      fi
+    elif test "$with_systemdsystemconfdir" = no ; then
+      with_systemdsystemconfdir=
+    else
+      AC_MSG_RESULT([$with_systemdsystemconfdir])
+    fi
+    AC_SUBST(with_systemdsystemconfdir)
+
+    if test -n "$with_systemdsystemunitdir" -o -n "$with_systemdsystemconfdir" ; then
+       if test -z "$with_systemdgroupname" ; then
+          with_systemdgroupname=$PACKAGE_NAME.target
+       fi
+       AC_MSG_CHECKING(for --with-systemdgroupname)
+       AC_ARG_WITH([systemdgroupname],
+            AS_HELP_STRING([--with-systemdgroupname=NAME],
+                           [Name of group target for all instances (default: $with_systemdgroupname)])
+       )
+       if test "$with_systemdgroupname" = yes ; then
+          AC_MSG_ERROR([You must specify --with-systemdgroupname=name.of.group])
+       elif test "$with_systemdgroupname" = no ; then
+          AC_MSG_ERROR([You must specify --with-systemdgroupname=name.of.group])
+       else
+          AC_MSG_RESULT([$with_systemdgroupname])
+       fi
+       AC_SUBST(with_systemdgroupname)
+    fi
+
+
 fi
+# End of with_systemd
+
+AM_CONDITIONAL([SYSTEMD],[test -n "$with_systemd"])
+
-- 
1.8.3.1

