summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1997-09-02 01:46:30 +0000
committerJim Meyering <jim@meyering.net>1997-09-02 01:46:30 +0000
commit262b5c6bb69f30a015df1e73e8f75421a01cd587 (patch)
treedc1dd0f4131422d7ef6bd937b035372efd9dbd01 /m4
parentdbc71f8be4648242efc2451be2aa7c4c0adfc324 (diff)
downloadcoreutils-262b5c6bb69f30a015df1e73e8f75421a01cd587.tar.xz
.
Diffstat (limited to 'm4')
-rw-r--r--m4/stat.m438
1 files changed, 38 insertions, 0 deletions
diff --git a/m4/stat.m4 b/m4/stat.m4
new file mode 100644
index 000000000..6ac3e02e3
--- /dev/null
+++ b/m4/stat.m4
@@ -0,0 +1,38 @@
+#serial 1
+
+dnl From Jim Meyering.
+dnl Determine whether stat has the bug that it succeeds when given the
+dnl zero-length file name argument. The stat from SunOS4.1.4 does this.
+dnl
+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_stat if the replacement function should be used. */
+dnl #undef stat
+dnl
+
+AC_DEFUN(jm_FUNC_STAT,
+[
+ AC_CACHE_CHECK([for working stat], jm_cv_func_working_stat,
+ [AC_TRY_RUN([
+# include <sys/types.h>
+# include <sys/stat.h>
+
+ int
+ main ()
+ {
+ struct stat sbuf;
+ exit (stat ("", &sbuf) == 0 ? 1 : 0);
+ }
+ ],
+ jm_cv_func_working_stat=yes,
+ jm_cv_func_working_stat=no,
+ dnl When crosscompiling, assume stat is broken.
+ jm_cv_func_working_stat=no)
+ ])
+ if test $jm_cv_func_working_stat = no; then
+ LIBOBJS="$LIBOBJS stat.o"
+ AC_DEFINE_UNQUOTED(stat, rpl_stat)
+ fi
+])