Add a configure option for SELinux support
authorSergey Kvachonok <ravenexp@gmail.com>
Fri, 13 Jan 2017 08:02:02 +0000 (11:02 +0300)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 13 Jan 2017 19:01:19 +0000 (11:01 -0800)
./configure --without-selinux :: unconditionally disable SELinux support

./configure --with-selinux :: enable SELinux support and abort if
libselinux is not found

When no configure option is specified the current libselinux
autodetection behaviour is preserved.

Signed-off-by: Sergey Kvachonok <ravenexp@gmail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
configure.ac

index 8781af1..b855afe 100644 (file)
@@ -45,6 +45,12 @@ AC_CHECK_HEADERS_ONCE([
        sys/mount.h
 ])
 
+# Test configure options.
+AC_ARG_WITH([selinux],
+       AS_HELP_STRING([--without-selinux],
+         [Ignore presence of libselinux and disable selinux support])
+)
+
 # Checks for programs.
 AC_PROG_CC
 AC_PROG_LIBTOOL
@@ -54,9 +60,19 @@ AC_PATH_PROG([LDCONFIG], [ldconfig],
 
 # Checks for libraries.
 PKG_CHECK_MODULES([libuuid], [uuid])
-PKG_CHECK_MODULES([libselinux], [libselinux],
+
+AS_IF([test "x$with_selinux" != "xno"],
+       [PKG_CHECK_MODULES([libselinux], [libselinux],
+                          [have_selinux=yes], [have_selinux=no])],
+       [have_selinux=no]
+)
+
+AS_IF([test "x$have_selinux" = "xyes"],
        [AC_DEFINE([HAVE_LIBSELINUX], [1], [Use libselinux])],
-       [AC_MSG_NOTICE([libselinux not found])])
+       [AS_IF([test "x$with_selinux" = "xyes"],
+               [AC_MSG_ERROR([selinux support requested but libselinux not found])]
+       )]
+)
 
 # Checks for header files.
 AC_CHECK_HEADERS([linux/fs.h linux/blkzoned.h fcntl.h mntent.h stdlib.h string.h \