* lib/m4sugar/m4sh.m4 (AS_MKDIR_P):

Test for dir before calling mkdir -p.  (trivial changes)
* doc/autoconf.texi: Document this.
This commit is contained in:
Paul Eggert 2004-01-14 20:27:30 +00:00
parent 39da25a1d2
commit 3cbad6e408
3 changed files with 22 additions and 5 deletions

View File

@ -1,9 +1,18 @@
2004-01-14 Paul Eggert <eggert@twinsun.com>
* doc/autoconf.texi (Programming in M4sh): Document that
AS_MKDIR_P succeeds if the destination is a symbolic link
to an existing directory.
(Limitations of Usual Tools): Note that mkdir -p might not
succeed on symlinks to directories.
2004-01-13 Paul Hilfinger <hilfinger@CS.Berkeley.EDU>
* lib/autoconf/autoupdate.m4 (AU_DEFUN): Grammar fix in comment.
* bin/autoheader.in: Grammar fix in message.
(trivial changes)
* lib/m4sugar/m4sh.m4 (AS_MKDIR_P):
Test for dir before calling mkdir -p. (trivial changes)
2004-01-13 Eric Blake <ebb9@byu.net>
* doc/autoconf.texi (Obsolete Macros): In AC_TRY_COMPILE and

View File

@ -8547,7 +8547,10 @@ RUN-IF-TRUE or RUN-IF-FALSE is empty.
Make the directory @var{filename}, including intervening directories
as necessary. This is equivalent to @samp{mkdir -p @var{filename}},
except that it is portable to older versions of @command{mkdir} that
lack support for the @option{-p} option.
lack support for the @option{-p} option. Also, @code{AS_MKDIR_P}
succeeds if @var{filename} is a symbolic link to an existing directory,
even though @acronym{POSIX} is unclear whether @samp{mkdir -p} should
succeed in that case.
@end defmac
@defmac AS_SET_CATFILE (@var{var}, @var{dir}, @var{file})
@ -11237,10 +11240,15 @@ found"} if there are no @samp{.c} files.
@c ------------------
@prindex @command{mkdir}
@cindex Making directories
None of @command{mkdir}'s options are portable. Instead of
None of @command{mkdir}'s options are portable to older systems. Instead of
@samp{mkdir -p @var{filename}}, you should use use
@code{AS_MKDIR_P(@var{filename})} (@pxref{Programming in M4sh}).
@acronym{POSIX} does not clearly specify whether @samp{mkdir -p foo}
should succeed when @file{foo} is a symbolic link to an already-existing
directory. GNU Coreutils 5.1.0 @command{mkdir} succeeds, but Solaris 9
@command{mkdir} fails.
@item @command{mv}
@c ---------------
@prindex @command{mv}

View File

@ -788,7 +788,7 @@ fi
m4_define([AS_MKDIR_P],
[AS_REQUIRE([_$0_PREPARE])dnl
{ if $as_mkdir_p; then
mkdir -p $1
test -d $1 || mkdir -p $1
else
as_dir=$1
as_dirs=