X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Flchown.m4;h=743ed5b0c3f1a145be71d5590da9ac1706f6f33d;hb=2d49283816a71d5451b43c7c9d1c80308c3aef73;hp=68398ed7a04c446c8c0e8f700dc095f840860d1f;hpb=ad605daf6131aa99227d3b85e648fa02f5387989;p=gnulib.git diff --git a/m4/lchown.m4 b/m4/lchown.m4 index 68398ed7a..743ed5b0c 100644 --- a/m4/lchown.m4 +++ b/m4/lchown.m4 @@ -1,10 +1,38 @@ -#serial 1 +# serial 17 +# Determine whether we need the lchown wrapper. + +dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2014 Free Software Foundation, +dnl 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. dnl From Jim Meyering. -dnl Provide lchown on systems that lack it. +dnl Provide lchown on systems that lack it, and work around bugs +dnl on systems that have it. -AC_DEFUN(jm_FUNC_LCHOWN, +AC_DEFUN([gl_FUNC_LCHOWN], [ - AC_REQUIRE([AC_TYPE_UID_T]) - AC_REPLACE_FUNCS(lchown) + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + AC_REQUIRE([gl_FUNC_CHOWN]) + AC_CHECK_FUNCS_ONCE([lchmod]) + AC_CHECK_FUNCS([lchown]) + if test $ac_cv_func_lchown = no; then + HAVE_LCHOWN=0 + else + dnl Trailing slash and ctime bugs in chown also occur in lchown. + case "$gl_cv_func_chown_slash_works" in + *yes) ;; + *) + REPLACE_LCHOWN=1 + ;; + esac + case "$gl_cv_func_chown_ctime_works" in + *yes) ;; + *) + REPLACE_LCHOWN=1 + ;; + esac + fi ])