dnl Misc type-related macros for coreutils.
-# Copyright (C) 1998, 2000-2011 Free Software Foundation, Inc.
+# Copyright (C) 1998-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Used by sort.c.
AC_CHECK_FUNCS_ONCE([nl_langinfo])
# Used by timeout.c
- AC_CHECK_FUNCS_ONCE([setrlimit])
+ AC_CHECK_FUNCS_ONCE([setrlimit prctl])
# Used by tail.c.
AC_CHECK_FUNCS([inotify_init],
[AC_DEFINE([HAVE_INOTIFY], [1],
[Define to 1 if you have usable inotify support.])])
- AC_CHECK_FUNCS_ONCE( \
- endgrent \
- endpwent \
- fchown \
- fchmod \
- ftruncate \
- iswspace \
- mkfifo \
- mbrlen \
- setgroups \
- sethostname \
- siginterrupt \
- sync \
- sysctl \
- sysinfo \
- tcgetpgrp \
- )
+ AC_CHECK_FUNCS_ONCE([
+ endgrent
+ endpwent
+ fchown
+ fchmod
+ ftruncate
+ iswspace
+ mkfifo
+ mbrlen
+ setgroups
+ sethostname
+ siginterrupt
+ sync
+ sysctl
+ sysinfo
+ tcgetpgrp
+ ])
+
+ # These checks are for Interix, to avoid its getgr* functions, in favor
+ # of these replacements. The replacement functions are much more efficient
+ # because they do not query the domain controller for user information
+ # when it is not needed.
+ AC_CHECK_FUNCS_ONCE([
+ getgrgid_nomembers
+ getgrnam_nomembers
+ getgrent_nomembers
+ ])
dnl This can't use AC_REQUIRE; I'm not quite sure why.
cu_PREREQ_STAT_PROG
# for dd.c and shred.c
- coreutils_saved_libs=$LIBS
- LIB_FDATASYNC=
+ #
+ # Use fdatasync only if declared. On MacOS X 10.7, fdatasync exists but
+ # is not declared, and is ineffective.
+ LIB_FDATASYNC=
+ AC_SUBST([LIB_FDATASYNC])
+ AC_CHECK_DECLS_ONCE([fdatasync])
+ if test $ac_cv_have_decl_fdatasync = yes; then
+ coreutils_saved_libs=$LIBS
AC_SEARCH_LIBS([fdatasync], [rt posix4],
[test "$ac_cv_search_fdatasync" = "none required" ||
LIB_FDATASYNC=$ac_cv_search_fdatasync])
- AC_SUBST([LIB_FDATASYNC])
AC_CHECK_FUNCS([fdatasync])
- LIBS=$coreutils_saved_libs
+ LIBS=$coreutils_saved_libs
+ fi
# Check whether libcap is usable -- for ls --color support
LIB_CAP=
fi
AC_SUBST([LIB_CAP])
- # See if linking `seq' requires -lm.
+ # 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])
+
+ # See if linking 'seq' requires -lm.
# It does on nearly every system. The single exception (so far) is
# BeOS which has all the math functions in the normal runtime library
# and doesn't have a separate math library.
AC_DEFUN([gl_CHECK_ALL_HEADERS],
[
- AC_CHECK_HEADERS_ONCE( \
- hurd.h \
- paths.h \
- priv.h \
- stropts.h \
- sys/param.h \
- sys/resource.h \
- sys/systeminfo.h \
- syslog.h \
- )
+ AC_CHECK_HEADERS_ONCE([
+ hurd.h
+ paths.h
+ priv.h
+ stropts.h
+ sys/param.h
+ sys/systeminfo.h
+ syslog.h
+ ])
AC_CHECK_HEADERS([sys/sysctl.h], [], [],
[AC_INCLUDES_DEFAULT
[#if HAVE_SYS_PARAM_H
# This macro must be invoked before any tests that run the compiler.
AC_DEFUN([gl_CHECK_ALL_TYPES],
[
- dnl This test must precede tests of compiler characteristics like
- dnl that for the inline keyword, since it may change the degree to
- dnl which the compiler supports such features.
- AC_REQUIRE([AM_C_PROTOTYPES])
-
dnl Checks for typedefs, structures, and compiler characteristics.
AC_REQUIRE([gl_BIGENDIAN])
AC_REQUIRE([AC_C_VOLATILE])