Commit af60b7d2 authored by Victor J. Orlikowski's avatar Victor J. Orlikowski
Browse files

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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89288 13f79535-47bb-0310-9956-ffa450edef68
parent 21064e0b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
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
+2 −2
Original line number Diff line number Diff line
@@ -234,8 +234,8 @@ 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 "$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_'
+2 −2
Original line number Diff line number Diff line
@@ -238,7 +238,7 @@ static const char *load_module(cmd_parms *cmd, void *dummy,
			  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 @@ static const char *load_file(cmd_parms *cmd, void *dummy, const char *filename)
			  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 −0
Original line number Diff line number Diff line
@@ -12,3 +12,4 @@ exports.c
Debug
Release
apache.exports
httpd.exp
+7 −2
Original line number Diff line number Diff line

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 @@ LTLIBRARY_SOURCES = \
	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 @@ exports.lo: exports.c
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/' >> $@
Loading