summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorSven Eden <yamakuzure@gmx.net>2017-02-16 06:16:10 +0100
committerSven Eden <yamakuzure@gmx.net>2017-03-14 10:23:13 +0100
commitc190efa0e56ab46fd484e489f31a7622bf041de6 (patch)
tree197a7c434e620d519439b0345bc9ce526985c729 /configure.ac
parent99015227d48e9e04fe72ecf1f0a09a7c79ac575e (diff)
Detect running cgroup controller.
elogind has to run on any system, no matter which init system is in control of the cgroups. So instead of hardcoding "name=foo", configure now greps 1: in /proc/self/cgroup - which is hopefully the right choice. (Well, to be honest, if it isn't, something is really wrong with the running system...)
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac12
1 files changed, 12 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 351dda27e..5da0e12ca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -109,6 +109,16 @@ if test -z "$GPERF" ; then
AC_MSG_ERROR([*** gperf not found])
fi
+
+# ------------------------------------------------------------------------------
+# Find running cgroup controller
+with_cgroupctrl=
+AS_IF( [test -f /proc/self/cgroup],
+ [with_cgroupctrl=`grep "^1:" /proc/self/cgroup | cut -d ':' -f 2`])
+AS_IF( [test -z "$with_cgroupctrl"],
+ AC_MSG_ERROR([No running cgroup controller found]))
+
+
# ------------------------------------------------------------------------------
address_sanitizer_cflags=
address_sanitizer_cppflags=
@@ -691,6 +701,7 @@ AC_SUBST([pamlibdir], [$with_pamlibdir])
AC_SUBST([pamconfdir], [$with_pamconfdir])
AC_SUBST([rootprefix], [$with_rootprefix])
AC_SUBST([rootlibdir], [$with_rootlibdir])
+AC_SUBST([cgroup_controller], [$with_cgroupctrl])
AC_CONFIG_FILES([
Makefile
@@ -712,6 +723,7 @@ AC_MSG_RESULT([
test coverage: ${have_coverage}
Split /usr: ${enable_split_usr}
extra debugging: ${enable_debug}
+ cgroup controller: ${with_cgroupctrl}
prefix: ${prefix}
rootprefix: ${with_rootprefix}