source: trunk/src/sed/m4/selinux-selinux-h.m4@ 3669

Last change on this file since 3669 was 3611, checked in by bird, 10 months ago

vendor/sed/current: GNU sed 4.9 (sed-4.9.tar.xz sha256:6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181)

File size: 2.5 KB
Line 
1# serial 5 -*- Autoconf -*-
2# Copyright (C) 2006-2007, 2009-2022 Free Software Foundation, Inc.
3# This file is free software; the Free Software Foundation
4# gives unlimited permission to copy and/or distribute it,
5# with or without modifications, as long as this notice is preserved.
6
7# From Jim Meyering
8# Provide <selinux/selinux.h>, if necessary.
9# If it is already present, provide wrapper functions to guard against
10# misbehavior from getfilecon, lgetfilecon, and fgetfilecon.
11
12AC_DEFUN([gl_HEADERS_SELINUX_SELINUX_H],
13[
14 AC_REQUIRE([gl_LIBSELINUX])
15 if test "$with_selinux" != no; then
16 AC_CHECK_HEADERS([selinux/selinux.h])
17
18 if test "$ac_cv_header_selinux_selinux_h" = yes; then
19 # We do have <selinux/selinux.h>, so do compile getfilecon.c
20 # and arrange to use its wrappers.
21 gl_CHECK_NEXT_HEADERS([selinux/selinux.h])
22 AC_DEFINE([getfilecon], [rpl_getfilecon],
23 [Always use our getfilecon wrapper.])
24 AC_DEFINE([lgetfilecon], [rpl_lgetfilecon],
25 [Always use our lgetfilecon wrapper.])
26 AC_DEFINE([fgetfilecon], [rpl_fgetfilecon],
27 [Always use our fgetfilecon wrapper.])
28 fi
29
30 case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in
31 no:*) # already warned
32 ;;
33 *:no)
34 AC_MSG_WARN([libselinux was found but selinux/selinux.h is missing.])
35 AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.])
36 esac
37 else
38 # Do as if <selinux/selinux.h> does not exist, even if
39 # AC_CHECK_HEADERS_ONCE has already determined that it exists.
40 AC_DEFINE([HAVE_SELINUX_SELINUX_H], [0])
41 fi
42])
43
44AC_DEFUN([gl_LIBSELINUX],
45[
46 AC_REQUIRE([AC_CANONICAL_HOST])
47 AC_REQUIRE([AC_CANONICAL_BUILD])
48
49 AC_ARG_WITH([selinux],
50 AS_HELP_STRING([--without-selinux], [do not use SELinux, even on systems with SELinux]),
51 [], [with_selinux=maybe])
52
53 LIB_SELINUX=
54 if test "$with_selinux" != no; then
55 gl_save_LIBS=$LIBS
56 AC_SEARCH_LIBS([setfilecon], [selinux],
57 [test "$ac_cv_search_setfilecon" = "none required" ||
58 LIB_SELINUX=$ac_cv_search_setfilecon])
59 LIBS=$gl_save_LIBS
60 fi
61 AC_SUBST([LIB_SELINUX])
62
63 # Warn if SELinux is found but libselinux is absent;
64 if test "$ac_cv_search_setfilecon" = no; then
65 if test "$host" = "$build" && test -d /selinux; then
66 AC_MSG_WARN([This system supports SELinux but libselinux is missing.])
67 AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.])
68 fi
69 with_selinux=no
70 fi
71])
Note: See TracBrowser for help on using the repository browser.