1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # euidaccess.m4 serial 15
- dnl Copyright (C) 2002-2016 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
- dnl with or without modifications, as long as this notice is preserved.
- AC_DEFUN([gl_FUNC_NONREENTRANT_EUIDACCESS],
- [
- AC_REQUIRE([gl_FUNC_EUIDACCESS])
- AC_CHECK_DECLS([setregid])
- AC_DEFINE([PREFER_NONREENTRANT_EUIDACCESS], [1],
- [Define this if you prefer euidaccess to return the correct result
- even if this would make it nonreentrant. Define this only if your
- entire application is safe even if the uid or gid might temporarily
- change. If your application uses signal handlers or threads it
- is probably not safe.])
- ])
- AC_DEFUN([gl_FUNC_EUIDACCESS],
- [
- AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
- dnl Persuade glibc <unistd.h> to declare euidaccess().
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
- AC_CHECK_FUNCS([euidaccess])
- if test $ac_cv_func_euidaccess = no; then
- HAVE_EUIDACCESS=0
- fi
- ])
- # Prerequisites of lib/euidaccess.c.
- AC_DEFUN([gl_PREREQ_EUIDACCESS], [
- dnl Prefer POSIX faccessat over non-standard euidaccess.
- AC_CHECK_FUNCS_ONCE([faccessat])
- dnl Try various other non-standard fallbacks.
- AC_CHECK_HEADERS([libgen.h])
- AC_FUNC_GETGROUPS
- # Solaris 9 and 10 need -lgen to get the eaccess function.
- # Save and restore LIBS so -lgen isn't added to it. Otherwise, *all*
- # programs in the package would end up linked with that potentially-shared
- # library, inducing unnecessary run-time overhead.
- LIB_EACCESS=
- AC_SUBST([LIB_EACCESS])
- gl_saved_libs=$LIBS
- AC_SEARCH_LIBS([eaccess], [gen],
- [test "$ac_cv_search_eaccess" = "none required" ||
- LIB_EACCESS=$ac_cv_search_eaccess])
- AC_CHECK_FUNCS([eaccess])
- LIBS=$gl_saved_libs
- ])
|