You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@apache.org on 2001/12/07 18:48:36 UTC
cvs commit: httpd-2.0/build instdso.sh special.mk
trawick 01/12/07 09:48:36
Modified: . CHANGES
build special.mk
Added: build instdso.sh
Log:
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.
Revision Changes Path
1.469 +6 -0 httpd-2.0/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/httpd-2.0/CHANGES,v
retrieving revision 1.468
retrieving revision 1.469
diff -u -r1.468 -r1.469
--- CHANGES 2001/12/05 17:32:52 1.468
+++ CHANGES 2001/12/07 17:48:36 1.469
@@ -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
1.17 +1 -1 httpd-2.0/build/special.mk
Index: special.mk
===================================================================
RCS file: /home/cvs/httpd-2.0/build/special.mk,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- special.mk 2001/10/16 17:51:11 1.16
+++ special.mk 2001/12/07 17:48:36 1.17
@@ -68,7 +68,7 @@
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
1.1 httpd-2.0/build/instdso.sh
Index: instdso.sh
===================================================================
#!/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