Import upstream version 1.27
[debian/tar] / m4 / mkdir.m4
index b6fd09de575fbc533a13102abd0e5ce7da69d8d4..bcbce18d698bb2ca348dde195cd4cb66baa25683 100644 (file)
@@ -1,6 +1,6 @@
-# serial 9
+# serial 11
 
-# Copyright (C) 2001, 2003-2004, 2006, 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2004, 2006, 2008-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,6 +11,7 @@
 AC_DEFUN([gl_FUNC_MKDIR],
 [dnl
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CHECK_HEADERS_ONCE([unistd.h])
   AC_CACHE_CHECK([whether mkdir handles trailing slash],
     [gl_cv_func_mkdir_trailing_slash_works],
@@ -21,14 +22,22 @@ AC_DEFUN([gl_FUNC_MKDIR],
 ]], [return mkdir ("conftest.dir/", 0700);])],
       [gl_cv_func_mkdir_trailing_slash_works=yes],
       [gl_cv_func_mkdir_trailing_slash_works=no],
-      [gl_cv_func_mkdir_trailing_slash_works="guessing no"])
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_mkdir_trailing_slash_works="guessing no" ;;
+       esac
+      ])
     rm -rf conftest.dir
     ]
   )
-  if test "$gl_cv_func_mkdir_trailing_slash_works" != yes; then
-    REPLACE_MKDIR=1
-    AC_LIBOBJ([mkdir])
-  fi
+  case "$gl_cv_func_mkdir_trailing_slash_works" in
+    *yes) ;;
+    *)
+      REPLACE_MKDIR=1
+      ;;
+  esac
 
   AC_CACHE_CHECK([whether mkdir handles trailing dot],
     [gl_cv_func_mkdir_trailing_dot_works],
@@ -39,14 +48,22 @@ AC_DEFUN([gl_FUNC_MKDIR],
 ]], [return !mkdir ("conftest.dir/./", 0700);])],
       [gl_cv_func_mkdir_trailing_dot_works=yes],
       [gl_cv_func_mkdir_trailing_dot_works=no],
-      [gl_cv_func_mkdir_trailing_dot_works="guessing no"])
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
+       esac
+      ])
     rm -rf conftest.dir
     ]
   )
-  if test "$gl_cv_func_mkdir_trailing_dot_works" != yes; then
-    REPLACE_MKDIR=1
-    AC_LIBOBJ([mkdir])
-    AC_DEFINE([FUNC_MKDIR_DOT_BUG], [1], [Define to 1 if mkdir mistakenly
-      creates a directory given with a trailing dot component.])
-  fi
+  case "$gl_cv_func_mkdir_trailing_dot_works" in
+    *yes) ;;
+    *)
+      REPLACE_MKDIR=1
+      AC_DEFINE([FUNC_MKDIR_DOT_BUG], [1], [Define to 1 if mkdir mistakenly
+        creates a directory given with a trailing dot component.])
+      ;;
+  esac
 ])