summaryrefslogtreecommitdiffstats
path: root/readline-4.3/support/shlib-install
diff options
context:
space:
mode:
Diffstat (limited to 'readline-4.3/support/shlib-install')
-rwxr-xr-xreadline-4.3/support/shlib-install156
1 files changed, 156 insertions, 0 deletions
diff --git a/readline-4.3/support/shlib-install b/readline-4.3/support/shlib-install
new file mode 100755
index 0000000..654cfa9
--- /dev/null
+++ b/readline-4.3/support/shlib-install
@@ -0,0 +1,156 @@
+#! /bin/sh
+#
+# 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 -i install-prog [-U] library
+#
+# Chet Ramey
+# chet@po.cwru.edu
+
+#
+# defaults
+#
+INSTALLDIR=/usr/local/lib
+LDCONFIG=ldconfig
+
+PROGNAME=`basename $0`
+USAGE="$PROGNAME [-D] -O host_os -d installation-dir -i install-prog [-U] library"
+
+# process options
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -O) shift; host_os="$1"; shift ;;
+ -d) shift; INSTALLDIR="$1"; shift ;;
+ -i) shift; INSTALLPROG="$1" ; shift ;;
+ -D) echo=echo ; shift ;;
+ -U) uninstall=true ; shift ;;
+ -*) echo "$USAGE" >&2 ; exit 2;;
+ *) break ;;
+ esac
+done
+
+# set install target name
+LIBNAME="$1"
+
+if [ -z "$LIBNAME" ]; then
+ echo "$USAGE" >&2
+ exit 2
+fi
+
+OLDSUFF=old
+MV=mv
+RM="rm -f"
+LN="ln -s"
+
+# pre-install
+
+if [ -z "$uninstall" ]; then
+ ${echo} $RM ${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
+ if [ -f "$INSTALLDIR/$LIBNAME" ]; then
+ ${echo} $MV $INSTALLDIR/$LIBNAME ${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
+ fi
+fi
+
+# install/uninstall
+
+if [ -z "$uninstall" ] ; then
+ ${echo} eval ${INSTALLPROG} $LIBNAME ${INSTALLDIR}/${LIBNAME}
+else
+ ${echo} ${RM} ${INSTALLDIR}/${LIBNAME}
+fi
+
+# post-install/uninstall
+
+# HP-UX and Darwin/MacOS X require that a shared library have execute permission
+case "$host_os" in
+hpux*|darwin*|macosx*)
+ if [ -z "$uninstall" ]; then
+ chmod 555 ${INSTALLDIR}/${LIBNAME}
+ fi ;;
+*) ;;
+esac
+
+case "$LIBNAME" in
+*.*.[0-9].[0-9]) # libname.so.M.N
+ LINK2=`echo $LIBNAME | sed 's:\(.*\..*\.[0-9]\)\.[0-9]:\1:'` # libname.so.M
+ LINK1=`echo $LIBNAME | sed 's:\(.*\..*\)\.[0-9]\.[0-9]:\1:'` # libname.so
+ ;;
+*.*.[0-9]) # libname.so.M
+ LINK1=`echo $LIBNAME | sed 's:\(.*\..*\)\.[0-9]:\1:'` # libname.so
+ ;;
+*.[0-9]) # libname.M
+ LINK1=`echo $LIBNAME | sed 's:\(.*\)\.[0-9]:\1:'` # libname
+ ;;
+*.[0-9].[0-9].dylib) # libname.M.N.dylib
+ LINK2=`echo $LIBNAME | sed 's:\(.*\.[0-9]\)\.[0-9]:\1:'` # libname.M.dylib
+ LINK1=`echo $LIBNAME | sed 's:\(.*\)\.[0-9]\.[0-9]:\1:'` # libname.dylib
+esac
+
+INSTALL_LINK1='cd $INSTALLDIR ; ln -s $LIBNAME $LINK1'
+INSTALL_LINK2='cd $INSTALLDIR ; ln -s $LIBNAME $LINK2'
+
+#
+# Create symlinks to the installed library. This section is incomplete.
+#
+case "$host_os" in
+*linux*|bsdi4*|*gnu*|darwin*|macosx*)
+ # libname.so.M -> libname.so.M.N
+ ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ if [ -z "$uninstall" ]; then
+ ${echo} ln -s $LIBNAME ${INSTALLDIR}/$LINK2
+ fi
+
+ # libname.so -> libname.so.M.N
+ ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ if [ -z "$uninstall" ]; then
+ ${echo} ln -s $LIBNAME ${INSTALLDIR}/$LINK1
+ fi
+ ;;
+
+solaris2*|aix4.[2-9]*|osf*|irix[56]*|sysv[45]*|dgux*)
+ # libname.so -> libname.so.M
+ ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ if [ -z "$uninstall" ]; then
+ ${echo} ln -s $LIBNAME ${INSTALLDIR}/$LINK1
+ fi
+ ;;
+
+
+# FreeBSD 3.x and above can have either a.out or ELF shared libraries
+freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*)
+ if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
+ # libname.so -> libname.so.M
+ ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ if [ -z "$uninstall" ]; then
+ ${echo} ln -s $LIBNAME ${INSTALLDIR}/$LINK1
+ fi
+ else
+ # libname.so.M -> libname.so.M.N
+ ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ if [ -z "$uninstall" ]; then
+ ${echo} ln -s $LIBNAME ${INSTALLDIR}/$LINK2
+ fi
+
+ # libname.so -> libname.so.M.N
+ ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ if [ -z "$uninstall" ]; then
+ ${echo} ln -s $LIBNAME ${INSTALLDIR}/$LINK1
+ fi
+ fi
+ ;;
+
+hpux1*)
+ # libname.sl -> libname.M
+ ${echo} ${RM} ${INSTALLDIR}/$LINK1.sl
+ if [ -z "$uninstall" ]; then
+# ${echo} ln -s $LIBNAME ${INSTALLDIR}/${LINK1}.sl
+ ${echo} ln -s $LIBNAME ${INSTALLDIR}/${LINK1}
+ fi
+ ;;
+
+*) ;;
+esac
+
+exit 0