1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-26 19:01:35 +03:00

Do special install processing for Apache DSO modules on HP-UX, Tru64,

and AIX so that we get mod_foo.so installed instead of the stuff that
libtool installed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92370 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jeff Trawick
2001-12-07 17:48:36 +00:00
parent f967c4ff54
commit 210d01fd95
3 changed files with 61 additions and 1 deletions

View File

@@ -1,5 +1,11 @@
Changes with Apache 2.0.30-dev
*) Change make install processing of DSO modules to perform special
handling on platforms where libtool doesn't install mod_foo.so.
This fixes some wonkiness on HP-UX, Tru64, and AIX which
prevented standard LoadModule statements from working.
[Jeff Trawick]
*) Whenever mod_so is enabled (not just when there are DSOs for
our modules), do whatever special magic is required for compiling/
loading third-party modules. This allows third-party DSOs to

54
build/instdso.sh Executable file
View File

@@ -0,0 +1,54 @@
#!/bin/sh
#
# instdso.sh - install Apache DSO modules
#
# usually this just passes through to libtool but on a few
# platforms libtool doesn't install DSOs exactly like we'd
# want so more effort is required
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"
# special logic for systems where libtool doesn't install
# the DSO exactly like we'd want
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 $?
;;
*)
CMD="$SH_LIBTOOL --mode=install cp $DSOARCHIVE $TARGETDIR"
echo $CMD
$CMD || exit $?
;;
esac
exit 0

View File

@@ -68,7 +68,7 @@ install-modules:
if [ "x$$has_mod_so" = "xhas_mod_so" ]; then \
list='$(shared)'; \
for i in $$list; do \
$(SH_LIBTOOL) --mode=install cp $$i $(libexecdir); \
$(top_builddir)/build/instdso.sh SH_LIBTOOL='$(SH_LIBTOOL)' $$i $(libexecdir); \
done; \
fi