]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
AC_PROG_INSTALL: require installation of multiple files.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 22 Jan 2008 06:00:44 +0000 (07:00 +0100)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 22 Jan 2008 06:00:44 +0000 (07:00 +0100)
* lib/autoconf/programs.m4 (AC_PROG_INSTALL): Require that
`install -c file1 file2 dir' works.
* doc/autoconf.texi (Particular Programs): Document this.
* NEWS: Update.

ChangeLog
NEWS
doc/autoconf.texi
lib/autoconf/programs.m4

index d7fbdf5acd4aa1ba3d677000fc9816bda67f90de..5713903f8edec8a6fb4419092246fe6669f1d672 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * lib/autoconf/programs.m4 (AC_PROG_INSTALL): Require that
+       `install -c file1 file2 dir' works.
+       * doc/autoconf.texi (Particular Programs): Document this.
+       * NEWS: Update.
+
 2008-01-21  Eric Blake  <ebb9@byu.net>
 
        Improve documentation about default include directives.
diff --git a/NEWS b/NEWS
index 854c54a167674a442e01ff3713886baac2e4e003..ba278ade90de2e3376f68b500e622552ac018bf3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -60,6 +60,9 @@ GNU Autoconf NEWS - User visible changes.
    indent-column and wrap-column; these should not normally be needed,
    but can be used to fine-tune how the output text is wrapped.
 
+** AC_PROG_INSTALL now requires an install program that can install multiple
+   files into a target directory.
+
 ** The command 'autoconf -' now correctly processes a file from stdin.
 
 ** For all of the directory arguments for 'configure', such as '--prefix'
@@ -1669,7 +1672,7 @@ Various bug fixes.
 -----
 
 Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002,
-2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
index c71bffd5c9381295f0193bfb6104b917dc99a41e..4e32e0873d1e0e37e2f04e5bb8eca81e0d36589a 100644 (file)
@@ -183,7 +183,7 @@ a package for creating scripts to configure source code packages using
 templates and an M4 macro package.
 
 Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -3730,7 +3730,9 @@ This macro screens out various instances of @command{install} known not to
 work.  It prefers to find a C program rather than a shell script, for
 speed.  Instead of @file{install-sh}, it can also use @file{install.sh},
 but that name is obsolete because some @command{make} programs have a rule
-that creates @file{install} from it if there is no makefile.
+that creates @file{install} from it if there is no makefile.  Starting with
+Autoconf 2.62, this macro requires @command{install} to be able to install
+multiple files into a target directory in a single invocation.
 
 Autoconf comes with a copy of @file{install-sh} that you can use.  If
 you use @code{AC_PROG_INSTALL}, you must include either
index 9ebdf0397592e04df581d28866139c503ef30ed2..20fb479bf416a09f18779475ebe5278769a040ce 100644 (file)
@@ -2,7 +2,7 @@
 # Checking for programs.
 
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -560,6 +560,7 @@ AC_REQUIRE_AUX_FILE([install-sh])dnl
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
 AC_MSG_CHECKING([for a BSD-compatible install])
 if test -z "$INSTALL"; then
 AC_CACHE_VAL(ac_cv_path_install,
@@ -586,14 +587,26 @@ case $as_dir/ in
            # program-specific install script used by HP pwplus--don't use.
            :
          else
-           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-           break 3
+           rm -rf conftest.one conftest.two conftest.dir
+           echo one > conftest.one
+           echo two > conftest.two
+           mkdir conftest.dir
+           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+             test -s conftest.one && test -s conftest.two &&
+             test -s conftest.dir/conftest.one &&
+             test -s conftest.dir/conftest.two
+           then
+             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+             break 3
+           fi
          fi
        fi
       done
     done
     ;;
-esac])
+esac
+])
+rm -rf conftest.one conftest.two conftest.dir
 ])dnl
   if test "${ac_cv_path_install+set}" = set; then
     INSTALL=$ac_cv_path_install