Move the code dealing with init scripts to a separate file
so configure.ac itself can be a little bit smaller.
---
First time writing an autoconf macro, so I might very possibly
have gotten something wrong. It seems to be working, though
configure.ac | 63 ++-----------------------------------
m4/virt-init-script.m4 | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 86 insertions(+), 61 deletions(-)
create mode 100644 m4/virt-init-script.m4
diff --git a/configure.ac b/configure.ac
index f5cb1c3..88e2e20 100644
--- a/configure.ac
+++ b/configure.ac
@@ -616,66 +616,7 @@ if test x"$enable_debug" = x"yes"; then
AC_DEFINE([ENABLE_DEBUG], [], [whether debugging is enabled])
fi
-
-
-dnl
-dnl init script flavor
-dnl
-AC_MSG_CHECKING([for init script flavor])
-AC_ARG_WITH([init-script],
- [AS_HELP_STRING([--with-init-script@<:@=STYLE@:>@],
- [Style of init script to install: redhat, systemd, systemd+redhat,
- upstart, check, none @<:@default=check@:>@])],
- [],[with_init_script=check])
-init_redhat=no
-init_systemd=no
-init_upstart=no
-if test "$with_init_script" = check; then
- if test "$cross_compiling" = yes; then
- with_init_script=none
- fi
- if type systemctl >/dev/null 2>&1; then
- if test "$with_init_script" = check; then
- with_init_script=systemd
- fi
- fi
- if test -f /etc/redhat-release; then
- if test "$with_init_script" = systemd; then
- with_init_script=systemd+redhat
- fi
- if test "$with_init_script" = check; then
- with_init_script=redhat
- fi
- fi
- if test "$with_init_script" = check; then
- with_init_script=none
- fi
-fi
-case "$with_init_script" in
- systemd+redhat)
- init_redhat=yes
- init_systemd=yes
- ;;
- systemd)
- init_systemd=yes
- ;;
- upstart)
- init_upstart=yes
- ;;
- redhat)
- init_redhat=yes
- ;;
- none)
- ;;
- *)
- AC_MSG_ERROR([Unknown initscript flavour $with_init_script])
- ;;
-esac
-AM_CONDITIONAL([LIBVIRT_INIT_SCRIPT_RED_HAT], test "$init_redhat" =
"yes")
-AM_CONDITIONAL([LIBVIRT_INIT_SCRIPT_UPSTART], test "$init_upstart" =
"yes")
-AM_CONDITIONAL([LIBVIRT_INIT_SCRIPT_SYSTEMD], test "$init_systemd" =
"yes")
-AC_MSG_RESULT($with_init_script)
-
+LIBVIRT_CHECK_INIT_SCRIPT
AC_MSG_CHECKING([for whether to install sysctl config])
AC_ARG_WITH([sysctl],
@@ -2959,7 +2900,7 @@ AC_MSG_NOTICE([ Warning Flags: $WARN_CFLAGS])
AC_MSG_NOTICE([ DTrace: $with_dtrace])
AC_MSG_NOTICE([ numad: $with_numad])
AC_MSG_NOTICE([ XML Catalog: $XML_CATALOG_FILE])
-AC_MSG_NOTICE([ Init script: $with_init_script])
+LIBVIRT_RESULT_INIT_SCRIPT
AC_MSG_NOTICE([ Char device locks: $with_chrdev_lock_files])
AC_MSG_NOTICE([ Default Editor: $DEFAULT_EDITOR])
AC_MSG_NOTICE([ Loader/NVRAM: $with_loader_nvram])
diff --git a/m4/virt-init-script.m4 b/m4/virt-init-script.m4
new file mode 100644
index 0000000..9d0d5c7
--- /dev/null
+++ b/m4/virt-init-script.m4
@@ -0,0 +1,84 @@
+dnl Init script type
+dnl
+dnl Copyright (C) 2005-2016 Red Hat, Inc.
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Lesser General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2.1 of the License, or (at your option) any later version.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Lesser General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU Lesser General Public
+dnl License along with this library. If not, see
+dnl <
http://www.gnu.org/licenses/>.
+dnl
+
+AC_DEFUN([LIBVIRT_CHECK_INIT_SCRIPT],[
+ AC_ARG_WITH([init-script],
+ [AS_HELP_STRING([--with-init-script@<:@=STYLE@:>@],
+ [Style of init script to install: redhat, systemd, systemd+redhat,
+ upstart, check, none @<:@default=check@:>@])],
+ [],[with_init_script=check])
+
+ AC_MSG_CHECKING([for init script type])
+
+ init_redhat=no
+ init_systemd=no
+ init_upstart=no
+
+ if test "$with_init_script" = check; then
+ if test "$cross_compiling" = yes; then
+ with_init_script=none
+ fi
+ fi
+ if type systemctl >/dev/null 2>&1; then
+ if test "$with_init_script" = check; then
+ with_init_script=systemd
+ fi
+ fi
+ if test -f /etc/redhat-release; then
+ if test "$with_init_script" = systemd; then
+ with_init_script=systemd+redhat
+ fi
+ if test "$with_init_script" = check; then
+ with_init_script=redhat
+ fi
+ fi
+ if test "$with_init_script" = check; then
+ with_init_script=none
+ fi
+
+ AS_CASE([$with_init_script],
+ [systemd+redhat],[
+ init_redhat=yes
+ init_systemd=yes
+ ],
+ [systemd],[
+ init_systemd=yes
+ ],
+ [upstart],[
+ init_upstart=yes
+ ],
+ [redhat],[
+ init_redhat=yes
+ ],
+ [none],[],
+ [*],[
+ AC_MSG_ERROR([Unknown initscript flavour $with_init_script])
+ ]
+ )
+
+ AM_CONDITIONAL([LIBVIRT_INIT_SCRIPT_RED_HAT], test "$init_redhat" =
"yes")
+ AM_CONDITIONAL([LIBVIRT_INIT_SCRIPT_UPSTART], test "$init_upstart" =
"yes")
+ AM_CONDITIONAL([LIBVIRT_INIT_SCRIPT_SYSTEMD], test "$init_systemd" =
"yes")
+
+ AC_MSG_RESULT($with_init_script)
+])
+
+AC_DEFUN([LIBVIRT_RESULT_INIT_SCRIPT],[
+ AC_MSG_NOTICE([ Init script: $with_init_script])
+])
--
2.5.5