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
commit16863fa14ecca5509442b578d7ce541325137698 (patch)
tree4428863622419b6d95d76e4e5cebb83d59aef76c
parentc957bbdeae923fc8889d688061ffefec6fe2cde9 (diff)
downloadcoreutils-16863fa14ecca5509442b578d7ce541325137698.tar.xz
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 000000000..cba3cd242
--- /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
+])