From: Paolo Bonzini Date: Fri, 10 Oct 2008 06:20:33 +0000 (+0200) Subject: use a shell function for AS_MKDIR_P X-Git-Tag: v2.63b~269 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9de80b2dc49d3a7550b10a121093782f59618ac;p=thirdparty%2Fautoconf.git use a shell function for AS_MKDIR_P 2008-10-10 Paolo Bonzini * 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. --- diff --git a/ChangeLog b/ChangeLog index 258315b1..93058495 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-10-10 Paolo Bonzini + + * 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 Only prepare $as_me if it will be used. diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4 index 6926f02d..c0a1e30d 100644 --- a/lib/m4sugar/m4sh.m4 +++ b/lib/m4sugar/m4sh.m4 @@ -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