]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
use a shell function for AS_MKDIR_P
authorPaolo Bonzini <bonzini@gnu.org>
Fri, 10 Oct 2008 06:20:33 +0000 (08:20 +0200)
committerPaolo Bonzini <bonzini@gnu.org>
Fri, 10 Oct 2008 13:03:22 +0000 (15:03 +0200)
2008-10-10  Paolo Bonzini  <bonzini@gnu.org>

* m4sugar/m4sh.m4 (_AS_MKDIR_P): New, from AS_MKDIR_P.  Adjust
meaning of as_mkdir_p to be `false' or a full `mkdir -p' command.
(AS_MKDIR_P): Just dispatch to as_func_mkdir_p.
(_AS_PREPARE): Define shell functions.
(_AS_MKDIR_P_PREPARE): Set as_mkdir_p according to the above change.
Define shell functions.

ChangeLog
lib/m4sugar/m4sh.m4

index 258315b101711e4240de6926a63f6ae7e0a4514d..93058495d55d56ba85fc6d591d38a9867c697129 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-10-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       * m4sugar/m4sh.m4 (_AS_MKDIR_P): New, from AS_MKDIR_P.  Adjust
+       meaning of as_mkdir_p to be `false' or a full `mkdir -p' command.
+       (AS_MKDIR_P): Just dispatch to as_func_mkdir_p.
+       (_AS_PREPARE): Define shell functions.
+       (_AS_MKDIR_P_PREPARE): Set as_mkdir_p according to the above change.
+       Define shell functions.
+
 2008-10-09  Eric Blake  <ebb9@byu.net>
 
        Only prepare $as_me if it will be used.
index 6926f02ddf20c081dd93c2c3d8f77d1474d71980..c0a1e30d942957bd5e5731eeae99d11383f84dae 100644 (file)
@@ -256,7 +256,11 @@ fi
 # there are so many _AS_PREPARE_* below, and that's also why it is
 # important not to forget some: config.status needs them.
 m4_defun([_AS_PREPARE],
-[_AS_EXPR_PREPARE
+[as_func_mkdir_p() {
+  _AS_MKDIR_P([$[]1])
+}
+
+_AS_EXPR_PREPARE
 _AS_BASENAME_PREPARE
 _AS_DIRNAME_PREPARE
 _AS_ME_PREPARE
@@ -1029,16 +1033,14 @@ $as_ln_s $1 $2
 ])
 
 
-# AS_MKDIR_P(DIR)
-# ---------------
-# Emulate `mkdir -p' with plain `mkdir'.
-m4_define([AS_MKDIR_P],
-[AS_REQUIRE([_$0_PREPARE])dnl
-{ as_dir=$1
-  case $as_dir in #(
+# _AS_MKDIR_P(DIR)
+# ----------------
+# Emulate `mkdir -p` with plain `mkdir'.
+m4_define([_AS_MKDIR_P],
+[case $as_dir in #(
   -*) as_dir=./$as_dir;;
   esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+  test -d "$as_dir" || eval $as_mkdir_p || {
     as_dirs=
     while :; do
       case $as_dir in #(
@@ -1050,15 +1052,25 @@ m4_define([AS_MKDIR_P],
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || AS_ERROR([cannot create directory $as_dir]); }dnl
-])# AS_MKDIR_P
+  } || test -d "$as_dir" || AS_ERROR([cannot create directory $as_dir])
+])
+
+# AS_MKDIR_P(DIR)
+# ---------------
+# Emulate `mkdir -p' with plain `mkdir' if needed.
+m4_define([AS_MKDIR_P],
+[AS_REQUIRE([_$0_PREPARE])dnl
+as_dir=$1; as_func_mkdir_p])# AS_MKDIR_P
 
 
 # _AS_MKDIR_P_PREPARE
 # -------------------
 m4_defun([_AS_MKDIR_P_PREPARE],
-[if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
+[AS_REQUIRE_SHELL_FN([as_func_mkdir_p], [
+  _AS_MKDIR_P([$[]1])
+])
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
 else
   test -d ./-p && rmdir ./-p
   as_mkdir_p=false