OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [readline/] [support/] [shlib-install] - Rev 1779

Go to most recent revision | Compare with Previous | Blame | View Log

#! /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 requires that a shared library have execute permission
case "$host_os" in
hpux*)  if [ -z "$uninstall" ]; then
                chmod 755 ${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
        ;;
esac

#
# Create symlinks to the installed library.  This section is incomplete.
#
case "$host_os" in
*linux*|bsdi4*)
        # libname.so.M -> libname.so.M.N
        ${echo} ${RM} ${INSTALLDIR}/$LINK2
        if [ -z "$uninstall" ]; then
                ${echo} ln -s $INSTALLDIR/$LIBNAME ${INSTALLDIR}/$LINK2
        fi

        # libname.so -> libname.so.M.N
        ${echo} ${RM} ${INSTALLDIR}/$LINK1
        if [ -z "$uninstall" ]; then
                ${echo} ln -s $INSTALLDIR/$LIBNAME ${INSTALLDIR}/$LINK1
        fi
        ;;

solaris2*|aix4.[2-9]*|osf*|irix[56]*)
        # libname.so -> libname.so.M
        ${echo} ${RM} ${INSTALLDIR}/$LINK1
        if [ -z "$uninstall" ]; then
                ${echo} ln -s $INSTALLDIR/$LIBNAME ${INSTALLDIR}/$LINK1
        fi
        ;;


# FreeBSD 3.x can have either a.out or ELF shared libraries
freebsd3*)
        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 $INSTALLDIR/$LIBNAME ${INSTALLDIR}/$LINK1
                fi
        else
                # libname.so.M -> libname.so.M.N
                ${echo} ${RM} ${INSTALLDIR}/$LINK2
                if [ -z "$uninstall" ]; then
                        ${echo} ln -s $INSTALLDIR/$LIBNAME ${INSTALLDIR}/$LINK2
                fi

                # libname.so -> libname.so.M.N
                ${echo} ${RM} ${INSTALLDIR}/$LINK1
                if [ -z "$uninstall" ]; then
                        ${echo} ln -s $INSTALLDIR/$LIBNAME ${INSTALLDIR}/$LINK1
                fi
        fi
        ;;

hpux1*)
        # libname.sl -> libname.M
        ${echo} ${RM} ${INSTALLDIR}/$LINK1.sl
        if [ -z "$uninstall" ]; then
                ${echo} ln -s $INSTALLDIR/$LIBNAME ${INSTALLDIR}/${LINK1}.sl
        fi
        ;;

*)      ;;
esac

exit 0

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.