memmove: Move AC_LIBOBJ invocations to module description.
[gnulib.git] / m4 / getcwd.m4
index 55f9372..269fdd7 100644 (file)
@@ -6,7 +6,7 @@
 # with or without modifications, as long as this notice is preserved.
 
 # Written by Paul Eggert.
-# serial 5
+# serial 7
 
 AC_DEFUN([gl_FUNC_GETCWD_NULL],
   [
@@ -20,7 +20,8 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
 #        endif
 ]], [[
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* mingw cwd does not start with '/', but getcwd does allocate.  */
+/* mingw cwd does not start with '/', but getcwd does allocate.
+   However, mingw fails to honor non-zero size.  */
 #else
            if (chdir ("/") != 0)
              return 1;
@@ -36,6 +37,9 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
                return 0;
              }
 #endif
+         /* If size is non-zero, allocation must fail if size is too small */
+         if (getcwd (NULL, 1))
+           return 5;
          ]])],
         [gl_cv_func_getcwd_null=yes],
         [gl_cv_func_getcwd_null=no],
@@ -45,8 +49,6 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
          *-gnu*)               gl_cv_func_getcwd_null="guessing yes";;
                                # Guess yes on Cygwin.
          cygwin*)              gl_cv_func_getcwd_null="guessing yes";;
-                               # Guess yes on mingw.
-         mingw*)               gl_cv_func_getcwd_null="guessing yes";;
                                # If we don't know, assume the worst.
          *)                    gl_cv_func_getcwd_null="guessing no";;
        esac
@@ -69,9 +71,8 @@ AC_DEFUN([gl_FUNC_GETCWD_LGPL],
   case $gl_cv_func_getcwd_null in
   *yes) ;;
   *)
-    dnl Minimal replacement
+    dnl Minimal replacement lib/getcwd-lgpl.c.
     REPLACE_GETCWD=1
-    AC_LIBOBJ([getcwd-lgpl])
     ;;
   esac
 ])
@@ -96,10 +97,8 @@ AC_DEFUN([gl_FUNC_GETCWD],
   case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_path_max,$gl_abort_bug in
   *yes,yes,no) ;;
   *)
-    dnl Full replacement, overrides LGPL replacement.
-    REPLACE_GETCWD=1
-    AC_LIBOBJ([getcwd])
-    gl_PREREQ_GETCWD;;
+    dnl Full replacement lib/getcwd.c, overrides LGPL replacement.
+    REPLACE_GETCWD=1;;
   esac
 ])