Alexandre Julliard : configure: Use the standard MKDIR_P macro to create directories.

Alexandre Julliard julliard at winehq.org
Mon Oct 7 14:17:10 CDT 2013


Module: wine
Branch: master
Commit: 69b9c4b1989daaa2e076dc119004f9fd6c5abb5b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=69b9c4b1989daaa2e076dc119004f9fd6c5abb5b

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Oct  4 22:12:22 2013 +0200

configure: Use the standard MKDIR_P macro to create directories.

---

 Make.rules.in       |    2 +-
 Make.vars.in        |    2 +-
 configure           |   56 +++++++++++++++++++++++++++---
 configure.ac        |   12 ++----
 tools/mkinstalldirs |   97 ---------------------------------------------------
 5 files changed, 57 insertions(+), 112 deletions(-)

diff --git a/Make.rules.in b/Make.rules.in
index 7760778..130abbd 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -180,7 +180,7 @@ clean:: $(EXTRASUBDIRS:%=%/__clean__)
 # Rules for installing
 
 $(INSTALLDIRS):
-	$(MKINSTALLDIRS) $@
+	$(MKDIR_P) -m 755 $@
 
 install install-lib install-dev uninstall::
 
diff --git a/Make.vars.in b/Make.vars.in
index 01498d2..b5cca68 100644
--- a/Make.vars.in
+++ b/Make.vars.in
@@ -41,6 +41,7 @@ ARFLAGS         = @ARFLAGS@
 RANLIB          = @RANLIB@
 STRIP           = @STRIP@
 LN_S            = @LN_S@
+MKDIR_P         = @MKDIR_P@
 TOOLSDIR        = @TOOLSDIR@
 LDFLAGS         = @LDFLAGS@
 PRELINK         = @PRELINK@
@@ -57,7 +58,6 @@ ALL_MO_FILES    = $(LINGUAS:%=@top_builddir@/po/%.mo)
 PORCFLAGS       = @PORCFLAGS@
 CROSSAR         = $(CROSSTARGET)-ar
 CROSSRANLIB     = $(CROSSTARGET)-ranlib
-MKINSTALLDIRS   = $(top_srcdir)/tools/mkinstalldirs -m 755
 WINAPI_CHECK    = $(top_srcdir)/tools/winapi/winapi_check
 BUILDIMAGE      = $(top_srcdir)/tools/buildimage
 C2MAN           = $(top_srcdir)/tools/c2man.pl
diff --git a/configure b/configure
index 73aabf2..8c4175d 100755
--- a/configure
+++ b/configure
@@ -731,6 +731,7 @@ INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
 LDCONFIG
+MKDIR_P
 EGREP
 GREP
 LN_S
@@ -5360,6 +5361,48 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if ${ac_cv_path_mkdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
 # Extract the first word of "ldconfig", so it can be a program name with args.
 set dummy ldconfig; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -5402,7 +5445,7 @@ fi
 
 
 
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM="env STRIPPROG=\"\$(STRIP)\" \$(top_srcdir)/tools/install-sh"
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM="STRIPPROG=\"\$(STRIP)\" \$(top_srcdir)/tools/install-sh"
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
@@ -5496,10 +5539,6 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-case "$INSTALL" in
-  [\\/$]* | ?:[\\/]* ) ;;
-  *)  INSTALL="\\\$(top_srcdir)/$INSTALL" ;;
-esac
 
 for ac_prog in lclint lint
 do
@@ -18000,6 +18039,7 @@ gives unlimited permission to copy, distribute and modify it."
 ac_pwd='$ac_pwd'
 srcdir='$srcdir'
 INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
 test -n "\$AWK" || AWK=awk
 _ACEOF
 
@@ -18631,6 +18671,11 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
   *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
   esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -18685,6 +18730,7 @@ s&@builddir@&$ac_builddir&;t t
 s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
diff --git a/configure.ac b/configure.ac
index 5bbb5bf..c98e0ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -262,16 +262,12 @@ AC_SUBST(ARFLAGS,rc)
 AC_PROG_RANLIB
 AC_PROG_LN_S
 AC_PROG_EGREP
+AC_PROG_MKDIR_P
 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
 
 dnl Use the correct strip to install programs
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM="env STRIPPROG=\"\$(STRIP)\" \$(top_srcdir)/tools/install-sh"
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM="STRIPPROG=\"\$(STRIP)\" \$(top_srcdir)/tools/install-sh"
 AC_PROG_INSTALL
-dnl Prepend src dir to install path dir if it's a relative path
-case "$INSTALL" in
-  [[\\/$]]* | ?:[[\\/]]* ) ;;
-  *)  INSTALL="\\\$(top_srcdir)/$INSTALL" ;;
-esac
 
 dnl Check for lint
 AC_CHECK_PROGS(LINT, lclint lint)
@@ -2561,7 +2557,7 @@ AH_BOTTOM([#endif /* WINE_CROSSTEST */
 #endif /* __WINE_CONFIG_H */])
 
 AC_CONFIG_COMMANDS([include/stamp-h], [echo timestamp > include/stamp-h])
-_AS_ECHO_N([creating Makefile rules...])
+AS_ECHO_N("creating Makefile rules...") >&AS_MESSAGE_FD
 
 WINE_APPEND_RULE([
 # Rules automatically generated by configure
@@ -3423,7 +3419,7 @@ clean::
 	\$(RM) fonts server tools $with_wine64/loader/wine $with_wine64/loader/wine-preloader])
 fi
 
-_AS_ECHO([ done])
+AS_ECHO(" done") >&AS_MESSAGE_FD
 AC_OUTPUT
 
 if test "$no_create" = "yes"
diff --git a/tools/mkinstalldirs b/tools/mkinstalldirs
deleted file mode 100755
index ec700bd..0000000
--- a/tools/mkinstalldirs
+++ /dev/null
@@ -1,97 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman at prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-errstatus=0
-dirmode=""
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
-
-# process command line arguments
-while test $# -gt 0 ; do
-   case "${1}" in
-     -h | --help | --h* )			# -h for help
-	echo "${usage}" 1>&2; exit 0 ;;
-     -m )					# -m PERM arg
-	shift
-	test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
-	dirmode="${1}"
-	shift ;;
-     -- ) shift; break ;;			# stop option processing
-     -* ) echo "${usage}" 1>&2; exit 1 ;;	# unknown option
-     * )  break ;;				# first non-opt arg
-   esac
-done
-
-for file
-do
-  if test -d "$file"; then
-    shift
-  else
-    break
-  fi
-done
-
-case $# in
-0) exit 0 ;;
-esac
-
-case $dirmode in
-'')
-  if mkdir -p -- . 2>/dev/null; then
-    echo "mkdir -p -- $*"
-    exec mkdir -p -- "$@"
-  fi ;;
-*)
-  # We cannot trust mkdir to set the proper permissions on
-  # parent directories. So create them manually.
-  ;;
-esac
-
-for file
-do
-   case "$file" in
-     /* ) pathcomp="/" ;;
-     -* ) pathcomp="./" ;;
-      * ) pathcomp="" ;;
-   esac
-
-   saved_IFS="$IFS"
-   IFS="/"
-   for d in $file
-   do
-      IFS="$saved_IFS"
-      if test -n "$d"; then
-         pathcomp="$pathcomp$d"
-         if test ! -d "$pathcomp"; then
-            echo "mkdir $pathcomp"
-            mkdir "$pathcomp" || lasterr=$?
-
-            if test ! -d "$pathcomp"; then
-               errstatus=$lasterr
-               break
-            elif test -n "$dirmode"; then
-               echo "chmod $dirmode $pathcomp"
-               lasterr=""
-               chmod "$dirmode" "$pathcomp" || lasterr=$?
-               if test -n "$lasterr"; then
-                  errstatus=$lasterr
-                  break
-               fi
-            fi
-         fi
-         pathcomp="$pathcomp/"
-      fi
-   done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 3
-# End:
-# mkinstalldirs ends here




More information about the wine-cvs mailing list