I've posted a patch to the apr list to enable the use of libtool 1.3b,
the alpha release of libtool. This version of libtool is the only
current release that allows specifying flags to the linker, which is
needed to get DSOs working on AIX.
Basically, a linker flag needs to be added to the linking of the
httpd executable, and all modules compiled as DSOs, for AIX to have
working DSOs.
This patch takes care of that, in a way I find to be minimally
invasive; others may disagree. Please feel free to give any advice on
a better way to do this.
If no-one complains, I'll commit this. Just thought I'd give ample
warning, in case anyone vehemently objects.
With this taken care of, the only thing standing in the way of DSOs
working on AIX is getting the httpd.exp file in order; however, I'm
working on a script to read through the .exports files and create an
up-to-date symbol file so httpd.exp is not such a pain.
Index: Makefile.in
===================================================================
RCS file: /home/cvs/httpd-2.0/Makefile.in,v
retrieving revision 1.61
diff -u -d -r1.61 Makefile.in
--- Makefile.in 2001/03/11 14:54:12 1.61
+++ Makefile.in 2001/03/30 08:30:11
@@ -3,7 +3,8 @@
PROGRAM_NAME = $(progname)
PROGRAM_SOURCES = modules.c
-PROGRAM_LDADD = $(EXTRA_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(EXTRA_LIBS)
+PROGRAM_LDADD = $(EXTRA_LDFLAGS) $(HTTPD_LDFLAGS) \
+ $(PROGRAM_DEPENDENCIES) $(EXTRA_LIBS)
PROGRAM_DEPENDENCIES = \
$(BUILTIN_LIBS) \
$(MPM_LIB) \
Index: acinclude.m4
===================================================================
RCS file: /home/cvs/httpd-2.0/acinclude.m4,v
retrieving revision 1.70
diff -u -d -r1.70 acinclude.m4
--- acinclude.m4 2001/03/24 09:43:05 1.70
+++ acinclude.m4 2001/03/30 08:30:11
@@ -79,6 +79,8 @@
APACHE_SUBST(CXXFLAGS)
APACHE_SUBST(LTFLAGS)
APACHE_SUBST(LDFLAGS)
+ APACHE_SUBST(SH_LDFLAGS)
+ APACHE_SUBST(HTTPD_LDFLAGS)
APACHE_SUBST(DEFS)
APACHE_SUBST(LIBTOOL)
APACHE_SUBST(SHELL)
Index: configure.in
===================================================================
RCS file: /home/cvs/httpd-2.0/configure.in,v
retrieving revision 1.134
diff -u -d -r1.134 configure.in
--- configure.in 2001/03/27 10:54:09 1.134
+++ configure.in 2001/03/30 08:30:11
@@ -164,6 +164,10 @@
if test "$apache_need_shared" = "yes"; then
$SHELL $ac_aux_dir/ltconfig --output=shlibtool --disable-static
--srcdir=$ac_aux_dir --cache-file=./config.cache $ac_aux_dir/ltmain.sh
case $PLATFORM in
+ *-ibm-aix*)
+ HTTPD_LDFLAGS="$HTTPD_LDFLAGS -Wl,-bE:$abs_srcdir/support/httpd.exp"
+ SH_LDFLAGS="$SH_LDFLAGS -Wl,-bI:$abs_srcdir/support/httpd.exp"
+ ;;
*os390)
CFLAGS="$CFLAGS -Wc,DLL,EXPORTALL"
;;
Index: build/rules.mk
===================================================================
RCS file: /home/cvs/httpd-2.0/build/rules.mk,v
retrieving revision 1.44
diff -u -d -r1.44 rules.mk
--- build/rules.mk 2001/03/16 23:04:56 1.44
+++ build/rules.mk 2001/03/30 08:30:14
@@ -71,7 +71,7 @@
# Link-related commands
LINK = $(LIBTOOL) --mode=link $(COMPILE) $(LTFLAGS) $(LDFLAGS) $(NOTEST_LDFLAGS)
-o $@
-SH_LINK = $(SH_LIBTOOL) --mode=link $(COMPILE) $(LTFLAGS) $(LDFLAGS)
$(NOTEST_LDFLAGS) -o $@
+SH_LINK = $(SH_LIBTOOL) --mode=link $(COMPILE) $(LTFLAGS) $(LDFLAGS)
+$(NOTEST_LDFLAGS) $(SH_LDFLAGS) -o $@
MOD_LINK = $(LIBTOOL) --mode=link $(COMPILE) -module $(LTFLAGS) $(LDFLAGS)
$(NOTEST_LDFLAGS) -o $@
# Cross compile commands
Victor
--
Victor J. Orlikowski
======================
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]