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:
6
CHANGES
6
CHANGES
@@ -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
54
build/instdso.sh
Executable 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
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user