diff --git a/config/install-sh b/config/install-sh index fdca6338c2..377bb8687f 100755 --- a/config/install-sh +++ b/config/install-sh @@ -1,9 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -# config/install-sh - -scriptversion=2009-08-26.20 +scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -37,7 +35,7 @@ scriptversion=2009-08-26.20 # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it +# 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written @@ -69,12 +67,6 @@ mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} -# Darwin normal strip removes symbols from shared libraries that are -# later needed for dynamic linking, so use strip -x. -# http://archives.postgresql.org/pgsql-hackers/2007-10/msg01470.php -case `uname -s` in - Darwin) stripprog="${STRIPPROG-strip -x}";; -esac posix_glob='?' initialize_posix_glob=' @@ -164,6 +156,10 @@ while test $# -ne 0; do -s) stripcmd=$stripprog;; -t) dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac shift;; -T) no_target_directory=true;; @@ -194,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then fi shift # arg dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac done fi @@ -202,13 +202,17 @@ if test $# -eq 0; then echo "$0: no input file specified." >&2 exit 1 fi - # It's OK to call `install-sh -d' without argument. + # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. @@ -236,9 +240,9 @@ fi for src do - # Protect names starting with `-'. + # Protect names problematic for 'test' and other utilities. case $src in - -*) src=./$src;; + -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then @@ -260,12 +264,7 @@ do echo "$0: no destination specified." >&2 exit 1 fi - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. @@ -355,7 +354,7 @@ do if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. + # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in @@ -393,7 +392,7 @@ do case $dstdir in /*) prefix='/';; - -*) prefix='./';; + [-=\(\)!]*) prefix='./';; *) prefix='';; esac @@ -411,7 +410,7 @@ do for d do - test -z "$d" && continue + test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then @@ -523,5 +522,6 @@ done # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff --git a/config/programs.m4 b/config/programs.m4 index 565195d06d..c70a0c2f7b 100644 --- a/config/programs.m4 +++ b/config/programs.m4 @@ -218,9 +218,19 @@ AC_DEFUN([PGAC_CHECK_STRIP], STRIP_SHARED_LIB="$STRIP --strip-unneeded" AC_MSG_RESULT(yes) else - STRIP_STATIC_LIB=: - STRIP_SHARED_LIB=: - AC_MSG_RESULT(no) + case $host_os in + darwin*) + STRIP="$STRIP -x" + STRIP_STATIC_LIB=$STRIP + STRIP_SHARED_LIB=$STRIP + AC_MSG_RESULT(yes) + ;; + *) + STRIP_STATIC_LIB=: + STRIP_SHARED_LIB=: + AC_MSG_RESULT(no) + ;; + esac fi AC_SUBST(STRIP_STATIC_LIB) AC_SUBST(STRIP_SHARED_LIB) diff --git a/configure b/configure index 5449d02c9b..5fd7651812 100755 --- a/configure +++ b/configure @@ -6480,10 +6480,21 @@ $as_echo_n "checking whether it is possible to strip libraries... " >&6; } { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - STRIP_STATIC_LIB=: - STRIP_SHARED_LIB=: - { $as_echo "$as_me:$LINENO: result: no" >&5 + case $host_os in + darwin*) + STRIP="$STRIP -x" + STRIP_STATIC_LIB=$STRIP + STRIP_SHARED_LIB=$STRIP + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + *) + STRIP_STATIC_LIB=: + STRIP_SHARED_LIB=: + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } + ;; + esac fi