1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-02-17 12:52:16 +02:00
Files
coreutils/gl/modules/smack
Pádraig Brady 5fb93f635b maint: refactor SMACK interface to a separate module
Consolidate all smack routines and checks in a module.
We replace and wrap the most commonly used smack routines,
which allows removing ifdefs throughout the code.

* gl/lib/smack.h: A new header containing the implementation
of the wrapped and replacement routines.  Note the is_smack_enabled()
routine should be optimized out at compile time when compiled
on a system without libsmack.
* gl/modules/smack: Describe the new module and move the
configure time code here from ...
* m4/jm-macros.m4: ... here.
* bootstrap.conf: Reference the new module.
* src/id.c: Use the routines without ifdefs where possible.
* src/ls.c: Likewise.
* src/mkdir.c: Likewise.
* src/mkfifo.c: Likewise.
* src/mknod.c: Likewise.
2013-07-02 09:47:32 +01:00

43 lines
895 B
Plaintext

Description:
Include and determine the availability of smack routines
Files:
lib/smack.h
Depends-on:
configure.ac:
# Check whether libsmack is available
LIB_SMACK=
AC_ARG_ENABLE([libsmack],
AC_HELP_STRING([--disable-libsmack], [disable libsmack support]))
if test "X$enable_libsmack" != "Xno"; then
AC_CHECK_LIB([smack], [smack_new_label_from_self],
[AC_CHECK_LIB([smack], [smack_new_label_from_path],
[AC_CHECK_HEADER([sys/smack.h],
[LIB_SMACK=-lsmack
AC_DEFINE([HAVE_SMACK], [1], [libsmack usability])]
)])])
if test "X$LIB_SMACK" = "X"; then
if test "X$enable_libsmack" = "Xyes"; then
AC_MSG_ERROR([libsmack library was not found or not usable])
fi
fi
else
AC_MSG_WARN([libsmack support disabled by user])
fi
AC_SUBST([LIB_SMACK])
Makefile.am:
lib_SOURCES += smack.h
Include:
"smack.h"
License:
LGPL
Maintainer:
Pádraig Brady