diff options
author | Rich Megginson <rmeggins@redhat.com> | 2007-02-19 23:55:04 +0000 |
---|---|---|
committer | Rich Megginson <rmeggins@redhat.com> | 2007-02-19 23:55:04 +0000 |
commit | 6ea6bd03b9d95fdc3f34a6892eb9d7bff580324f (patch) | |
tree | 1d8930b5a69d6b781f573a8b33aa8fea28185591 /install-sh | |
parent | 47d5f680b42c229bdeef0be7fe8a046a7443a41b (diff) | |
download | ds-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-x | install-sh | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -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: |