From: Jim Meyering Date: Tue, 11 Mar 1997 05:02:11 +0000 (+0000) Subject: . X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=36077fe47aeaed71b110c9f411b9a0db9f831bcf;p=pspp . --- diff --git a/m4/chown.m4 b/m4/chown.m4 new file mode 100644 index 0000000000..59b4de7255 --- /dev/null +++ b/m4/chown.m4 @@ -0,0 +1,40 @@ +#serial 1 + +dnl From Jim Meyering. +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 + test -z "$ac_cv_header_unistd_h" \ + && AC_CHECK_HEADERS(unistd.h) + AC_CACHE_CHECK([for working chown], jm_cv_func_working_chown, + [AC_TRY_RUN([ +# include +# include +# ifdef HAVE_UNISTD_H +# include +# endif + + int + main () + { + char *f = "conftestchown"; + if (creat (f, 0600) < 0) + exit (1); + exit (chown (f, (gid_t) -1, (uid_t) -1) == -1 ? 1 : 0); + } + ], + jm_cv_func_working_chown=yes, + jm_cv_func_working_chown=no, + dnl When crosscompiling, assume chown is broken. + 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) + fi +])