summaryrefslogtreecommitdiffstats
path: root/build/instdso.sh
blob: 077647ecfdc92d54cf0fe0cd3441604aac95840f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/sh
#
# instdso.sh - install Apache DSO modules
#
# we use this instead of libtool --install because:
# 1) on a few platforms libtool doesn't install DSOs exactly like we'd
#    want (weird names, doesn't remove DSO first)
# 2) we never want the .la files copied, so we might as well copy
#    the .so files ourselves

if test "$#" != "3"; then
    echo "wrong number of arguments to instdso.sh"
    echo "Usage: instdso.sh SH_LIBTOOL-value dso-name path-to-modules"
    exit 1
fi

SH_LIBTOOL=`echo $1 | sed -e 's/^SH_LIBTOOL=//'`
DSOARCHIVE=$2
TARGETDIR=$3
DSOBASE=`echo $DSOARCHIVE | sed -e 's/\.la$//'`
TARGET_NAME="$DSOBASE.so"

SYS=`uname -s`
case $SYS in
    AIX)
        # on AIX, shared libraries remain in storage even when
        # all processes using them have exited; standard practice
        # prior to installing a shared library is to rm -f first
        CMD="rm -f $TARGETDIR/$TARGET_NAME"
        echo $CMD
        $CMD || exit $?
        CMD="cp .libs/lib$DSOBASE.so.0 $TARGETDIR/$TARGET_NAME"
        echo $CMD
        $CMD || exit $?
        ;;
    HP-UX)
        CMD="cp .libs/$DSOBASE.sl $TARGETDIR/$TARGET_NAME"
        echo $CMD
        $CMD || exit $?
        ;;
    OSF1)
        CMD="cp .libs/lib$DSOBASE.so $TARGETDIR/$TARGET_NAME"
        echo $CMD
        $CMD || exit $?
        ;;
    OS/2)
        CMD="$SH_LIBTOOL --mode=install cp $DSOARCHIVE $TARGETDIR/"
        echo $CMD
        $CMD || exit $?
        ;;
    *)
        CMD="cp .libs/$TARGET_NAME $TARGETDIR/$TARGET_NAME"
        echo $CMD
        $CMD || exit $?
        ;;
esac

exit 0