X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fchown.m4;h=deae13b4176a058bb18ddb10712cfe24281877cc;hb=5f2ced190ce9c782d323276d092bba879cce69a6;hp=1fb6203e99a452e5e2e0db85c3df7ea826efcbbe;hpb=e7cf9a46ba67e8406bcdf12bc380d171bfe0e76f;p=gnulib.git diff --git a/m4/chown.m4 b/m4/chown.m4 index 1fb6203e9..deae13b41 100644 --- a/m4/chown.m4 +++ b/m4/chown.m4 @@ -1,14 +1,9 @@ -#serial 2 +#serial 4 dnl From Jim Meyering. dnl Determine whether chown accepts arguments of -1 for uid and gid. dnl If it doesn't, arrange to use the replacement function. dnl -dnl If you use this macro in a package, you should -dnl add the following two lines to acconfig.h: -dnl /* Define to rpl_chown if the replacement function should be used. */ -dnl #undef chown -dnl AC_DEFUN(jm_FUNC_CHOWN, [AC_REQUIRE([AC_TYPE_UID_T])dnl @@ -17,7 +12,7 @@ AC_DEFUN(jm_FUNC_CHOWN, AC_CACHE_CHECK([for working chown], jm_cv_func_working_chown, [AC_TRY_RUN([ # include -# include +# include # include # ifdef HAVE_UNISTD_H # include @@ -27,6 +22,8 @@ AC_DEFUN(jm_FUNC_CHOWN, main () { char *f = "conftestchown"; + struct stat before, after; + if (creat (f, 0600) < 0) exit (1); if (stat (f, &before) < 0) @@ -45,7 +42,9 @@ AC_DEFUN(jm_FUNC_CHOWN, jm_cv_func_working_chown=no) ]) if test $jm_cv_func_working_chown = no; then - LIBOBJS="$LIBOBJS chown.o" - AC_DEFINE_UNQUOTED(chown, rpl_chown) + AC_SUBST(LIBOBJS) + LIBOBJS="$LIBOBJS chown.$ac_objext" + AC_DEFINE_UNQUOTED(chown, rpl_chown, + [Define to rpl_chown if the replacement function should be used.]) fi ])