summaryrefslogtreecommitdiffstats
path: root/install-sh
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2007-02-19 23:55:04 +0000
committerRich Megginson <rmeggins@redhat.com>2007-02-19 23:55:04 +0000
commit6ea6bd03b9d95fdc3f34a6892eb9d7bff580324f (patch)
tree1d8930b5a69d6b781f573a8b33aa8fea28185591 /install-sh
parent47d5f680b42c229bdeef0be7fe8a046a7443a41b (diff)
downloadds-6ea6bd03b9d95fdc3f34a6892eb9d7bff580324f.tar.gz
ds-6ea6bd03b9d95fdc3f34a6892eb9d7bff580324f.tar.xz
ds-6ea6bd03b9d95fdc3f34a6892eb9d7bff580324f.zip
Resolves: bug 229286
Bug Description: Solaris build: link shared libs correctly with libtool Reviewed by: nkinder, prowley (Thanks!) Fix Description: We have to use the $(CXXLINK) Makefile macro to build shared libs that use C++ code or link with C++ libs. In addition, Sun C++ link needs -lCstd and -lCrun. I added AC_DISABLE_STATIC so that we wouldn't generate all the .a libs we don't use. Lastly, but not leastly, libtool on rhel/fedora has a "feature" that adds several gcc-isms to the libtool script generated by configure. At best, these cause builds with non-gcc compilers to complain quite a bit, and at worst, cause the build to fail. I've added a sed command in configure to remove these gcc-isms from libtool on non-gcc platforms. Platforms tested: RHEL4, FC6, Solaris 9 Flag Day: no Doc impact: no
Diffstat (limited to 'install-sh')
-rwxr-xr-xinstall-sh17
1 files changed, 9 insertions, 8 deletions
diff --git a/install-sh b/install-sh
index dd97db7a..4d4a9519 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2004-09-10.20
+scriptversion=2005-05-14.22
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -109,7 +109,7 @@ while test -n "$1"; do
shift
continue;;
- --help) echo "$usage"; exit 0;;
+ --help) echo "$usage"; exit $?;;
-m) chmodcmd="$chmodprog $2"
shift
@@ -134,7 +134,7 @@ while test -n "$1"; do
shift
continue;;
- --version) echo "$0 $scriptversion"; exit 0;;
+ --version) echo "$0 $scriptversion"; exit $?;;
*) # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@@ -213,7 +213,7 @@ do
fi
# This sed command emulates the dirname command.
- dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+ dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
# Make sure that the destination directory exists.
@@ -226,7 +226,8 @@ do
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
- set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+ set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+ shift
IFS=$oIFS
pathcomp=
@@ -295,7 +296,7 @@ do
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit
+ (exit 1); exit 1
}
else
:
@@ -306,12 +307,12 @@ do
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
}
}
- fi || { (exit 1); exit; }
+ fi || { (exit 1); exit 1; }
done
# The final little trick to "correctly" pass the exit status to the exit trap.
{
- (exit 0); exit
+ (exit 0); exit 0
}
# Local variables: