summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2001-01-14 11:07:28 +0000
committerJim Meyering <jim@meyering.net>2001-01-14 11:07:28 +0000
commit867b2d7180d6dba514349b533fe0f359b5714541 (patch)
treeb644cda9e1328f6f9ef54c6b158e1b240f7a43c6
parentc7833c442217aea7923679a1338f3e39f3353266 (diff)
downloadgnulib-867b2d7180d6dba514349b533fe0f359b5714541.tar.gz
check for SunOS4.1.1U bug in rename
-rw-r--r--m4/rename.m440
1 files changed, 40 insertions, 0 deletions
diff --git a/m4/rename.m4 b/m4/rename.m4
new file mode 100644
index 0000000000..cba3cd2420
--- /dev/null
+++ b/m4/rename.m4
@@ -0,0 +1,40 @@
+#serial 1
+
+dnl From Volker Borchert.
+dnl Determine whether rename works for source paths with a trailing slash.
+dnl The rename from SunOS 4.1.1_U1 doesn't.
+dnl
+dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
+dnl to compile the wrapper function.
+dnl
+
+AC_DEFUN(vb_FUNC_RENAME,
+[
+ AC_CACHE_CHECK([whether rename is broken],
+ vb_cv_func_rename_trailing_slash_bug,
+ [AC_TRY_RUN([
+# include <stdio.h>
+
+ int
+ main ()
+ {
+ if (mkdir ("foo") < 0)
+ exit (1);
+ if (rename ("foo/", "bar") < 0)
+ { rmdir ("foo"); exit (1); }
+ else
+ { rmdir ("bar"); exit (0); }
+ }
+ ],
+ vb_cv_func_rename_trailing_slash_bug=no,
+ vb_cv_func_rename_trailing_slash_bug=yes,
+ dnl When crosscompiling, assume rename is broken.
+ vb_cv_func_rename_trailing_slash_bug=yes)
+ ])
+ if test $vb_cv_func_rename_trailing_slash_bug = yes; then
+ AC_LIBOBJ(rename)
+ AC_DEFINE_UNQUOTED(RENAME_TRAILING_SLASH_BUG, 1,
+[Define if rename does not work for source paths with a trailing slash,
+ like the one from SunOS 4.1.1_U1. ])
+ fi
+])