summaryrefslogtreecommitdiff
path: root/readline/support/shlib-install
diff options
context:
space:
mode:
Diffstat (limited to 'readline/support/shlib-install')
-rwxr-xr-xreadline/support/shlib-install30
1 files changed, 20 insertions, 10 deletions
diff --git a/readline/support/shlib-install b/readline/support/shlib-install
index 2cd252a3658..3d0fb3c9c13 100755
--- a/readline/support/shlib-install
+++ b/readline/support/shlib-install
@@ -3,7 +3,7 @@
# shlib-install - install a shared library and do any necessary host-specific
# post-installation configuration (like ldconfig)
#
-# usage: shlib-install [-D] -O host_os -d installation-dir [-b bin-dir] -i install-prog [-U] library
+# usage: shlib-install [-D] -O host_os [-V host_vendor] -d installation-dir [-b bin-dir] -i install-prog [-U] library
#
# Chet Ramey
# chet@po.cwru.edu
@@ -15,13 +15,14 @@ INSTALLDIR=/usr/local/lib
LDCONFIG=ldconfig
PROGNAME=`basename $0`
-USAGE="$PROGNAME [-D] -O host_os -d installation-dir [-b bin-dir] -i install-prog [-U] library"
+USAGE="$PROGNAME [-D] -O host_os [-V host_vendor] -d installation-dir [-b bin-dir] -i install-prog [-U] library"
# process options
while [ $# -gt 0 ]; do
case "$1" in
-O) shift; host_os="$1"; shift ;;
+ -V) shift; host_vendor="$1"; shift ;;
-d) shift; INSTALLDIR="$1"; shift ;;
-b) shift; BINDIR="$1" ; shift ;;
-i) shift; INSTALLPROG="$1" ; shift ;;
@@ -65,14 +66,15 @@ fi
# post-install/uninstall
# HP-UX and Darwin/MacOS X require that a shared library have execute permission
+# Linux does, too, and ldd warns about it
# Cygwin installs both a dll (which must go in $BINDIR) and an implicit
# link library (in $libdir)
case "$host_os" in
-hpux*|darwin*|macosx*)
+hpux*|darwin*|macosx*|linux*)
if [ -z "$uninstall" ]; then
chmod 555 ${INSTALLDIR}/${LIBNAME}
fi ;;
-cygwin*)
+cygwin*|mingw*)
IMPLIBNAME=`echo ${LIBNAME} \
| sed -e 's,^cyg,lib,' -e 's,[0-9]*.dll$,.dll.a,'`
if [ -z "$uninstall" ]; then
@@ -114,8 +116,8 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK2'
#
# Create symlinks to the installed library. This section is incomplete.
#
-case "$host_os" in
-*linux*)
+case "$host_os-$host_vendor" in
+*linux*|freebsd*-gentoo)
# libname.so.M -> libname.so.M.N
${echo} ${RM} ${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
@@ -129,7 +131,7 @@ case "$host_os" in
fi
;;
-bsdi4*|*gnu*|darwin*|macosx*|k*bsd*-gnu)
+bsdi4*|*gnu*|darwin*|macosx*|netbsd*)
# libname.so.M -> libname.so.M.N
${echo} ${RM} ${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
@@ -143,7 +145,7 @@ bsdi4*|*gnu*|darwin*|macosx*|k*bsd*-gnu)
fi
;;
-solaris2*|aix4.[2-9]*|osf*|irix[56]*|sysv[45]*|dgux*)
+solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|irix[56]*|sysv[45]*|dgux*|interix*)
# libname.so -> libname.so.M
${echo} ${RM} ${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
@@ -153,7 +155,7 @@ solaris2*|aix4.[2-9]*|osf*|irix[56]*|sysv[45]*|dgux*)
# FreeBSD 3.x and above can have either a.out or ELF shared libraries
-freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*)
+freebsd3*|freebsdaout*)
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
# libname.so -> libname.so.M
${echo} ${RM} ${INSTALLDIR}/$LINK1
@@ -175,6 +177,14 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*)
fi
;;
+freebsd[4-9]*|freebsdelf*|dragonfly*)
+ # libname.so -> libname.so.M
+ ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ if [ -z "$uninstall" ]; then
+ eval $INSTALL_LINK1
+ fi
+ ;;
+
hpux1*)
# libname.sl -> libname.M
${echo} ${RM} ${INSTALLDIR}/$LINK1.sl
@@ -183,7 +193,7 @@ hpux1*)
fi
;;
-cygwin*)
+cygwin*|mingw*)
# Links to .dlls don't work. Hence shobj-conf used DLLVERSION.dll
# instead of so.SHLIB_MAJOR.SHLIB_MINOR. The postinstall above
# took care of everything else.