You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by or...@apache.org on 2001/06/07 12:03:31 UTC
cvs commit: httpd-2.0/support Makefile.in
orlikowski 01/06/07 03:03:30
Modified: . CHANGES configure.in
modules/mappers mod_so.c
server .cvsignore Makefile.in
. configure.in
include/arch/unix networkio.h
network_io/unix poll.c
support Makefile.in
Log:
Generate httpd.exp on the fly.
This should allow DSOs to work on AIX, without the headache of maintaining
the httpd.exp file.
This is adapted from OS/2's generation of ApacheCoreOS2.def.
There exist a few bugs still:
1) mod_dav and mod_proxy may not yet work, due to certain namespace issues.
2) Some symbols may need to be added, a la core_header.def
Once these have been fixed, the old httpd.exp file will be deleted.
Revision Changes Path
1.219 +2 -0 httpd-2.0/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/httpd-2.0/CHANGES,v
retrieving revision 1.218
retrieving revision 1.219
diff -u -r1.218 -r1.219
--- CHANGES 2001/06/07 03:02:00 1.218
+++ CHANGES 2001/06/07 10:03:04 1.219
@@ -1,4 +1,6 @@
Changes with Apache 2.0.19-dev
+ *) Automatically generate httpd.exp for AIX.
+ [Victor J. Orlikowski]
*) Add a new request hook, error_log. This phase allows modules
to act on the error log string _after_ it has been written
1.160 +2 -2 httpd-2.0/configure.in
Index: configure.in
===================================================================
RCS file: /home/cvs/httpd-2.0/configure.in,v
retrieving revision 1.159
retrieving revision 1.160
diff -u -r1.159 -r1.160
--- configure.in 2001/05/18 02:36:34 1.159
+++ configure.in 2001/06/07 10:03:05 1.160
@@ -234,8 +234,8 @@
$SHELL $ac_aux_dir/ltconfig --output=shlibtool --disable-static --srcdir=$ac_aux_dir --cache-file=./config.cache $ac_aux_dir/ltmain.sh
case "$host" 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"
+ HTTPD_LDFLAGS="$HTTPD_LDFLAGS -Wl,-bE:$abs_srcdir/server/httpd.exp"
+ SH_LDFLAGS="$SH_LDFLAGS -Wl,-bI:$abs_srcdir/server/httpd.exp"
;;
*beos)
SH_LDFLAGS='$(top_builddir)/_APP_'
1.40 +2 -2 httpd-2.0/modules/mappers/mod_so.c
Index: mod_so.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/mappers/mod_so.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- mod_so.c 2001/03/03 02:01:30 1.39
+++ mod_so.c 2001/06/07 10:03:09 1.40
@@ -238,7 +238,7 @@
apr_dso_error(modhandle, my_error, sizeof(my_error)),
NULL);
}
- ap_log_perror(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, cmd->pool,
+ ap_log_error(APLOG_MARK, APLOG_DEBUG | APLOG_NOERRNO, 0, cmd->server,
"loaded module %s", modname);
/*
@@ -309,7 +309,7 @@
NULL);
}
- ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
+ ap_log_error(APLOG_MARK, APLOG_DEBUG | APLOG_NOERRNO, 0, cmd->server,
"loaded file %s", filename);
return NULL;
1.8 +1 -0 httpd-2.0/server/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/httpd-2.0/server/.cvsignore,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- .cvsignore 2000/12/22 12:02:43 1.7
+++ .cvsignore 2001/06/07 10:03:13 1.8
@@ -12,3 +12,4 @@
Debug
Release
apache.exports
+httpd.exp
1.47 +7 -2 httpd-2.0/server/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/httpd-2.0/server/Makefile.in,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- Makefile.in 2001/06/06 19:37:06 1.46
+++ Makefile.in 2001/06/07 10:03:13 1.47
@@ -1,7 +1,7 @@
TARGET_EXPORTS = apache.exports
CLEAN_TARGETS = gen_test_char test_char.h gen_uri_delims uri_delims.h \
- $(TARGET_EXPORTS) ApacheCoreOS2.def
+ $(TARGET_EXPORTS) ApacheCoreOS2.def httpd.exp
EXTRACLEAN_TARGETS = exports.c
SUBDIRS = mpm
@@ -16,7 +16,7 @@
util_filter.c exports.c buildmark.c scoreboard.c \
error_bucket.c protocol.c core.c request.c
-TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE)
+TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) httpd.exp
include $(top_srcdir)/build/rules.mk
include $(top_srcdir)/build/library.mk
@@ -59,3 +59,8 @@
ApacheCoreOS2.def: exports.c $(top_srcdir)/os/$(OS_DIR)/core_header.def
cat $(top_srcdir)/os/$(OS_DIR)/core_header.def > $@
$(CPP) $< $(ALL_CPPFLAGS) $(ALL_INCLUDES) | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/ "\1"/' >> $@
+
+# Rule to make exp file for AIX DSOs
+httpd.exp: exports.c
+ echo "#! ." > $@
+ $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
1.312 +2 -0 apr/configure.in
Index: configure.in
===================================================================
RCS file: /home/cvs/apr/configure.in,v
retrieving revision 1.311
retrieving revision 1.312
diff -u -r1.311 -r1.312
--- configure.in 2001/06/01 02:58:31 1.311
+++ configure.in 2001/06/07 10:03:17 1.312
@@ -330,6 +330,7 @@
AC_SUBST(threads)
AC_SUBST(have_sigwait)
+AC_CHECK_FUNCS(kqueue)
AC_CHECK_FUNCS(poll)
dnl #----------------------------- Checking for missing POSIX thread functions
@@ -556,6 +557,7 @@
net/errno.h \
netinet/in.h \
sys/file.h \
+ sys/event.h \
sys/mman.h \
sys/poll.h \
sys/resource.h \
1.43 +3 -0 apr/include/arch/unix/networkio.h
Index: networkio.h
===================================================================
RCS file: /home/cvs/apr/include/arch/unix/networkio.h,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- networkio.h 2001/05/10 17:21:01 1.42
+++ networkio.h 2001/06/07 10:03:21 1.43
@@ -69,6 +69,9 @@
#if APR_HAVE_SYS_UIO_H
#include <sys/uio.h>
#endif
+#ifdef HAVE_SYS_EVENT_H
+#include <sys/event.h>
+#endif
#ifdef HAVE_SYS_POLL_H
#include <sys/poll.h>
#endif
1.46 +39 -1 apr/network_io/unix/poll.c
Index: poll.c
===================================================================
RCS file: /home/cvs/apr/network_io/unix/poll.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- poll.c 2001/03/22 21:50:08 1.45
+++ poll.c 2001/06/07 10:03:25 1.46
@@ -55,7 +55,45 @@
#include "networkio.h"
#include "fileio.h"
-#ifdef HAVE_POLL /* We can just use poll to do our socket polling. */
+#if defined(HAVE_KQUEUE) /* FreeBSD provides kqueue, let's use it :) */
+
+apr_status_t apr_poll_setup(apr_pollfd_t **new, apr_int32_t num, apr_pool_t *cont)
+{
+ (*new) = (apr_pollfd_t *)apr_pcalloc(cont, sizeof(apr_pollfd_t) * num);
+ if ((*new) == NULL) {
+ return APR_ENOMEM;
+ }
+
+}
+
+apr_status_t apr_poll_socket_add(apr_pollfd_t *aprset,
+ apr_socket_t *sock, apr_int16_t event)
+{
+}
+
+apr_status_t apr_poll(apr_pollfd_t *aprset, apr_int32_t *nsds,
+ apr_interval_time_t timeout)
+{
+}
+
+apr_status_t apr_poll_revents_get(apr_int16_t *event, apr_socket_t *sock, apr_pollfd_t *aprset)
+{
+}
+
+apr_status_t apr_poll_socket_mask(apr_pollfd_t *aprset,
+ apr_socket_t *sock, apr_int16_t events)
+{
+}
+
+apr_status_t apr_poll_socket_remove(apr_pollfd_t *aprset, apr_socket_t *sock)
+{
+}
+
+apr_status_t apr_poll_socket_clear(apr_pollfd_t *aprset, apr_int16_t events)
+{
+}
+
+#elif defined(HAVE_POLL) /* We can just use poll to do our socket polling. */
apr_status_t apr_poll_setup(apr_pollfd_t **new, apr_int32_t num, apr_pool_t *cont)
{
1.16 +1 -1 httpd-2.0/support/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/httpd-2.0/support/Makefile.in,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- Makefile.in 2001/05/18 00:48:57 1.15
+++ Makefile.in 2001/06/07 10:03:29 1.16
@@ -12,7 +12,7 @@
install:
@test -d $(bindir) || $(MKINSTALLDIRS) $(bindir)
- @cp -p httpd.exp $(bindir)
+ @cp -p $(top_srcdir)/server/httpd.exp $(bindir)
@cp -p apachectl $(bindir)
chmod 755 $(bindir)/apachectl
@if test -f $(builddir)/apxs; then \
Re: cvs commit: httpd-2.0/support Makefile.in
Posted by "Victor J. Orlikowski" <v....@gte.net>.
My apologies. Been up most of the night.
Thanks for the catch, Greg. Caught it myself seconds before you did.
That'll teach me to commit on little sleep :)
And no, I'm leaving the old httpd.exp in there temporarily, until any
missing symbols are verified as such (unless you believe that I should
simply leave it to the cvs history, Greg).
Victor
--
Victor J. Orlikowski
======================
v.j.orlikowski@gte.net
orlikowski@apache.org
vjo@us.ibm.com
Re: cvs commit: httpd-2.0/support Makefile.in
Posted by Ben Laurie <be...@algroup.co.uk>.
Greg Stein wrote:
>
> On Thu, Jun 07, 2001 at 10:03:31AM -0000, orlikowski@apache.org wrote:
> > orlikowski 01/06/07 03:03:30
> >
> > Modified: . CHANGES configure.in
> > modules/mappers mod_so.c
> > server .cvsignore Makefile.in
> > . configure.in
> > include/arch/unix networkio.h
> > network_io/unix poll.c
> > support Makefile.in
>
> You accidentally slipped in some kqueue work with this.
>
> [ when will people stop doing a commit from the top of their tree without
> specifying the files? it seems every couple months, somebody goes to the
> top of their tree and does "cvs commit" and we end up with random stuff
> going in... sigh :-) ]
I always commit from the top - but I also (almost) always precede it
with a cvs diff -u so I check what I'm about to commit!
Selective commiting is dangerous - how do you know what you are
committing works?
Cheers,
Ben.
--
http://www.apache-ssl.org/ben.html
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff
Re: cvs commit: httpd-2.0/support Makefile.in
Posted by Greg Stein <gs...@lyra.org>.
On Thu, Jun 07, 2001 at 10:03:31AM -0000, orlikowski@apache.org wrote:
> orlikowski 01/06/07 03:03:30
>
> Modified: . CHANGES configure.in
> modules/mappers mod_so.c
> server .cvsignore Makefile.in
> . configure.in
> include/arch/unix networkio.h
> network_io/unix poll.c
> support Makefile.in
You accidentally slipped in some kqueue work with this.
[ when will people stop doing a commit from the top of their tree without
specifying the files? it seems every couple months, somebody goes to the
top of their tree and does "cvs commit" and we end up with random stuff
going in... sigh :-) ]
Also, shouldn't the old httpd.exp be removed?
>...
> --- Makefile.in 2001/06/06 19:37:06 1.46
> +++ Makefile.in 2001/06/07 10:03:13 1.47
> @@ -1,7 +1,7 @@
>
> TARGET_EXPORTS = apache.exports
> CLEAN_TARGETS = gen_test_char test_char.h gen_uri_delims uri_delims.h \
> - $(TARGET_EXPORTS) ApacheCoreOS2.def
> + $(TARGET_EXPORTS) ApacheCoreOS2.def httpd.exp
> EXTRACLEAN_TARGETS = exports.c
>
> SUBDIRS = mpm
> @@ -16,7 +16,7 @@
> util_filter.c exports.c buildmark.c scoreboard.c \
> error_bucket.c protocol.c core.c request.c
>
> -TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE)
> +TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) httpd.exp
It would be nice to generate this only for the AIX platform. i.e. create a
configure rule to substitute this in when needed. Something like:
TARGETS = ... @EXP_TARGET@
configure.in would leave it blank, or insert httpd.exp
>...
> --- Makefile.in 2001/05/18 00:48:57 1.15
> +++ Makefile.in 2001/06/07 10:03:29 1.16
> @@ -12,7 +12,7 @@
>
> install:
> @test -d $(bindir) || $(MKINSTALLDIRS) $(bindir)
> - @cp -p httpd.exp $(bindir)
> + @cp -p $(top_srcdir)/server/httpd.exp $(bindir)
> @cp -p apachectl $(bindir)
> chmod 755 $(bindir)/apachectl
> @if test -f $(builddir)/apxs; then \
Hmm. Now that httpd.exp is no longer in support, shouldn't its installation
be handled by a different makefile?
Cheers,
-g
--
Greg Stein, http://www.lyra.org/