Merge from gcc.
[binutils.git] / config / proginstall.m4
bloba78a3d4b6cea41d6486e343fcc23efd8f48fb00d
1 # AC_PROG_INSTALL
2 # ---------------
4 # This macro is stolen from Autoconf 2.61a-341.
5 # It requires `install' to be able to install multiple files at once.
6 # This file will be obsolete when GCC moves to Autoconf 2.62.
8 m4_version_prereq([2.62], [],
10 AC_DEFUN([AC_PROG_INSTALL],
11 [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
12 dnl AC_REQUIRE_AUX_FILE([install-sh])dnl  This line does not work with 2.59.
13 # Find a good install program.  We prefer a C program (faster),
14 # so one script is as good as another.  But avoid the broken or
15 # incompatible versions:
16 # SysV /etc/install, /usr/sbin/install
17 # SunOS /usr/etc/install
18 # IRIX /sbin/install
19 # AIX /bin/install
20 # AmigaOS /C/install, which installs bootblocks on floppy discs
21 # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
22 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
23 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
24 # OS/2's system install, which has a completely different semantic
25 # ./install, which can be erroneously created by make from ./install.sh.
26 # Reject install programs that cannot install multiple files.
27 AC_MSG_CHECKING([for a BSD-compatible install])
28 if test -z "$INSTALL"; then
29 AC_CACHE_VAL(ac_cv_path_install,
30 [_AS_PATH_WALK([$PATH],
31 [# Account for people who put trailing slashes in PATH elements.
32 case $as_dir/ in
33   ./ | .// | /[cC]/* | \
34   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
35   ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
36   /usr/ucb/* ) ;;
37   *)
38     # OSF1 and SCO ODT 3.0 have their own names for install.
39     # Don't use installbsd from OSF since it installs stuff as root
40     # by default.
41     for ac_prog in ginstall scoinst install; do
42       for ac_exec_ext in '' $ac_executable_extensions; do
43         if AS_EXECUTABLE_P(["$as_dir/$ac_prog$ac_exec_ext"]); then
44           if test $ac_prog = install &&
45             grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
46             # AIX install.  It has an incompatible calling convention.
47             :
48           elif test $ac_prog = install &&
49             grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
50             # program-specific install script used by HP pwplus--don't use.
51             :
52           else
53             rm -rf conftest.one conftest.two conftest.dir
54             echo one > conftest.one
55             echo two > conftest.two
56             mkdir conftest.dir
57             if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
58               test -s conftest.one && test -s conftest.two &&
59               test -s conftest.dir/conftest.one &&
60               test -s conftest.dir/conftest.two
61             then
62               ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
63               break 3
64             fi
65           fi
66         fi
67       done
68     done
69     ;;
70 esac])
71 rm -rf conftest.one conftest.two conftest.dir
72 ])dnl
73   if test "${ac_cv_path_install+set}" = set; then
74     INSTALL=$ac_cv_path_install
75   else
76     # As a last resort, use the slow shell script.  Don't cache a
77     # value for INSTALL within a source directory, because that will
78     # break other packages using the cache if that directory is
79     # removed, or if the value is a relative name.
80     INSTALL=$ac_install_sh
81   fi
83 dnl Do special magic for INSTALL instead of AC_SUBST, to get
84 dnl relative names right.
85 AC_MSG_RESULT([$INSTALL])
87 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
88 # It thinks the first close brace ends the variable substitution.
89 test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
90 AC_SUBST(INSTALL_PROGRAM)dnl
92 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
93 AC_SUBST(INSTALL_SCRIPT)dnl
95 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
96 AC_SUBST(INSTALL_DATA)dnl
97 ])# AC_PROG_INSTALL