]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
build-sys: use pkg-config for selinux
authorKarel Zak <kzak@redhat.com>
Fri, 30 Nov 2012 11:48:44 +0000 (12:48 +0100)
committerKarel Zak <kzak@redhat.com>
Fri, 30 Nov 2012 11:48:44 +0000 (12:48 +0100)
- we need libselinux 2.x (where is security_get_initial_context())
- the latest selinux versions are linked with -lpcre

Reported-by: Gregory Nietsky <gregory@distrotech.co.za>
Signed-off-by: Karel Zak <kzak@redhat.com>
configure.ac

index 727113a530624d35145da9f1c92fbb205cf46ee6..30fb5e2de231e7a2762d74d84e80082a198dde8f 100644 (file)
@@ -543,21 +543,17 @@ AC_ARG_WITH([selinux],
 if test "x$with_selinux" = xno; then
   AM_CONDITIONAL(HAVE_SELINUX, false)
 else
-  UL_CHECK_LIB(selinux, getprevcon)
+  PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
+       [AC_DEFINE(HAVE_SELINUX, 1, [Define if SELinux is available])
+        UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
+        AM_CONDITIONAL(HAVE_SELINUX, true)
+        have_selinux=yes],
+       [have_selinux=no])
+
   case "$with_selinux:$have_selinux" in
-  yes:no) AC_MSG_ERROR([SELinux selected but libselinux not found]);;
+  yes:no) AC_MSG_ERROR([SELinux selected but libselinux not found or too old]);;
   esac
 fi
-
-if test "x$have_selinux" = xyes; then
-  SELINUX_LIBS="-lselinux -lsepol"
-  SELINUX_LIBS_STATIC="-lselinux -lsepol"
-  old_LDFLAGS="$LDFLAGS"
-  LDFLAGS="$LDFLAGS $SELINUX_LIBS"
-  # This function is missing in old libselinux 1.xx versions
-  AC_CHECK_FUNCS([security_get_initial_context])
-  LDFLAGS="$old_LDFLAGS"
-fi
 AC_SUBST([SELINUX_LIBS])
 AC_SUBST([SELINUX_LIBS_STATIC])