]> granicus.if.org Git - apache/commitdiff
prepare to add mod_serf to NetWare build.
authorGuenter Knauf <fuankg@apache.org>
Thu, 1 Oct 2009 01:32:06 +0000 (01:32 +0000)
committerGuenter Knauf <fuankg@apache.org>
Thu, 1 Oct 2009 01:32:06 +0000 (01:32 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@820505 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/NWGNUmakefile
modules/proxy/NWGNUserf [new file with mode: 0644]
modules/proxy/mod_serf.h

index ec60474bc99b083e8765d3b85c552cf9ac807c13..41d8db7910b13eb21ba99f590acbff47db59c89e 100644 (file)
@@ -162,6 +162,15 @@ TARGET_nlm = \
        $(OBJDIR)/proxyscgi.nlm \
        $(EOLIST)
 
+# If WITH_MOD_SERF and SERFSRC have been defined then build the mod_serf module
+ifdef WITH_MOD_SERF
+ifneq "$(SERFSRC)" ""
+TARGET_nlm += \
+       $(OBJDIR)/serf.nlm \
+       $(EOLIST)
+endif
+endif
+
 #
 # If there is an LIB target, put it here
 #
diff --git a/modules/proxy/NWGNUserf b/modules/proxy/NWGNUserf
new file mode 100644 (file)
index 0000000..6de2164
--- /dev/null
@@ -0,0 +1,323 @@
+#\r
+# Make sure all needed macro's are defined\r
+#\r
+\r
+OSSLINC = $(OSSLSDK)/outinc_nw_libc\r
+OSSLLIB = $(OSSLSDK)/out_nw_libc\r
+OSSLAPP = $(OSSLSDK)/apps\r
+\r
+#\r
+# Get the 'head' of the build environment if necessary.  This includes default\r
+# targets and paths to tools\r
+#\r
+\r
+ifndef EnvironmentDefined\r
+include $(AP_WORK)\build\NWGNUhead.inc\r
+endif\r
+\r
+V_PATH = \\r
+                       $(SERFSRC) \\r
+                       $(SERFSRC)/buckets \\r
+                       $(ZLIBSDK) \\r
+                       $(EOLIST)\r
+#\r
+# These directories will be at the beginning of the include list, followed by\r
+# INCDIRS\r
+#\r
+XINCDIRS       += \\r
+                       $(V_PATH) \\r
+                       $(OSSLINC) \\r
+                       $(OSSLINC)/openssl \\r
+                       $(AP_WORK)/include \\r
+                       $(NWOS) \\r
+                       $(AP_WORK)/modules/http \\r
+                       $(AP_WORK)/modules/arch/netware \\r
+                       $(AP_WORK)/modules/ssl \\r
+                       $(AP_WORK)/modules/generators \\r
+                       $(APR)/include \\r
+                       $(APRUTIL)/include \\r
+                       $(APR) \\r
+                       $(EOLIST)\r
+\r
+#\r
+# These flags will come after CFLAGS\r
+#\r
+XCFLAGS                += \\r
+                       -relax_pointers \\r
+                       $(EOLIST)\r
+\r
+#\r
+# These defines will come after DEFINES\r
+#\r
+XDEFINES       += \\r
+                       -DHAVE_SERF_H \\r
+                       -DHAVE_OPENSSL \\r
+                       $(EOLIST)\r
+\r
+#\r
+# These flags will be added to the link.opt file\r
+#\r
+XLFLAGS                += \\r
+                       -l $(OSSLLIB) \\r
+                       $(EOLIST)\r
+\r
+#\r
+# These values will be appended to the correct variables based on the value of\r
+# RELEASE\r
+#\r
+ifeq "$(RELEASE)" "debug"\r
+XINCDIRS       += \\r
+                       $(EOLIST)\r
+\r
+XCFLAGS                += \\r
+                       $(EOLIST)\r
+\r
+XDEFINES       += \\r
+                       $(EOLIST)\r
+\r
+XLFLAGS                += \\r
+                       $(EOLIST)\r
+endif\r
+\r
+ifeq "$(RELEASE)" "noopt"\r
+XINCDIRS       += \\r
+                       $(EOLIST)\r
+\r
+XCFLAGS                += \\r
+                       $(EOLIST)\r
+\r
+XDEFINES       += \\r
+                       $(EOLIST)\r
+\r
+XLFLAGS                += \\r
+                       $(EOLIST)\r
+endif\r
+\r
+ifeq "$(RELEASE)" "release"\r
+XINCDIRS       += \\r
+                       $(EOLIST)\r
+\r
+XCFLAGS                += \\r
+                       $(EOLIST)\r
+\r
+XDEFINES       += \\r
+                       $(EOLIST)\r
+\r
+XLFLAGS                += \\r
+                       $(EOLIST)\r
+endif\r
+\r
+#\r
+# These are used by the link target if an NLM is being generated\r
+# This is used by the link 'name' directive to name the nlm.  If left blank\r
+# TARGET_nlm (see below) will be used.\r
+#\r
+NLM_NAME       = serf\r
+\r
+#\r
+# This is used by the link '-desc ' directive.\r
+# If left blank, NLM_NAME will be used.\r
+#\r
+NLM_DESCRIPTION        = Apache $(VERSION_STR) Serf Module\r
+\r
+#\r
+# This is used by the '-threadname' directive.  If left blank,\r
+# NLM_NAME Thread will be used.\r
+#\r
+NLM_THREAD_NAME        = Serf Module\r
+\r
+#\r
+# If this is specified, it will override VERSION value in\r
+# $(AP_WORK)\build\NWGNUenvironment.inc\r
+#\r
+NLM_VERSION    =\r
+\r
+#\r
+# If this is specified, it will override the default of 64K\r
+#\r
+NLM_STACK_SIZE = 8192\r
+\r
+\r
+#\r
+# If this is specified it will be used by the link '-entry' directive\r
+#\r
+NLM_ENTRY_SYM  = _LibCPrelude\r
+\r
+#\r
+# If this is specified it will be used by the link '-exit' directive\r
+#\r
+NLM_EXIT_SYM   = _LibCPostlude\r
+\r
+#\r
+# If this is specified it will be used by the link '-check' directive\r
+#\r
+NLM_CHECK_SYM  =\r
+\r
+#\r
+# If these are specified it will be used by the link '-flags' directive\r
+#\r
+NLM_FLAGS      = AUTOUNLOAD, PSEUDOPREEMPTION\r
+\r
+#\r
+# If this is specified it will be linked in with the XDCData option in the def\r
+# file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled\r
+# by setting APACHE_UNIPROC in the environment\r
+#\r
+XDCDATA                =\r
+\r
+#\r
+# If there is an NLM target, put it here\r
+#\r
+TARGET_nlm = \\r
+       $(OBJDIR)/$(NLM_NAME).nlm \\r
+       $(EOLIST)\r
+\r
+#\r
+# If there is an LIB target, put it here\r
+#\r
+TARGET_lib = \\r
+       $(EOLIST)\r
+\r
+#\r
+# These are the OBJ files needed to create the NLM target above.\r
+# Paths must all use the '/' character\r
+#\r
+FILES_nlm_objs = \\r
+       $(OBJDIR)/mod_serf.o \\r
+       $(EOLIST)\r
+\r
+# Build serf from source\r
+FILES_nlm_objs += \\r
+       $(OBJDIR)/context.o \\r
+       $(OBJDIR)/aggregate_buckets.o \\r
+       $(OBJDIR)/allocator.o \\r
+       $(OBJDIR)/barrier_buckets.o \\r
+       $(OBJDIR)/buckets.o \\r
+       $(OBJDIR)/chunk_buckets.o \\r
+       $(OBJDIR)/dechunk_buckets.o \\r
+       $(OBJDIR)/deflate_buckets.o \\r
+       $(OBJDIR)/file_buckets.o \\r
+       $(OBJDIR)/headers_buckets.o \\r
+       $(OBJDIR)/limit_buckets.o \\r
+       $(OBJDIR)/mmap_buckets.o \\r
+       $(OBJDIR)/request_buckets.o \\r
+       $(OBJDIR)/response_buckets.o \\r
+       $(OBJDIR)/simple_buckets.o \\r
+       $(OBJDIR)/socket_buckets.o \\r
+       $(OBJDIR)/ssl_buckets.o \\r
+       $(EOLIST)\r
+\r
+# Build zlib from source\r
+FILES_nlm_objs += \\r
+       $(OBJDIR)/adler32.o \\r
+       $(OBJDIR)/crc32.o \\r
+       $(OBJDIR)/deflate.o \\r
+       $(OBJDIR)/inflate.o \\r
+       $(OBJDIR)/inffast.o \\r
+       $(OBJDIR)/inftrees.o \\r
+       $(OBJDIR)/trees.o \\r
+       $(OBJDIR)/zutil.o \\r
+       $(EOLIST)\r
+\r
+ifeq "$(wildcard $(ZLIBSDK)/infblock.c)" "$(ZLIBSDK)/infblock.c"\r
+FILES_nlm_objs += \\r
+       $(OBJDIR)/infblock.o \\r
+       $(OBJDIR)/infcodes.o \\r
+       $(OBJDIR)/infutil.o \\r
+       $(EOLIST)\r
+endif\r
+\r
+#\r
+# These are the LIB files needed to create the NLM target above.\r
+# These will be added as a library command in the link.opt file.\r
+#\r
+FILES_nlm_libs = \\r
+       $(OSSLLIB)/crypto.lib \\r
+       $(OSSLLIB)/ssl.lib \\r
+       libcpre.o \\r
+       $(EOLIST)\r
+\r
+#\r
+# These are the modules that the above NLM target depends on to load.\r
+# These will be added as a module command in the link.opt file.\r
+#\r
+FILES_nlm_modules = \\r
+       aprlib \\r
+       libc \\r
+       $(EOLIST)\r
+\r
+#\r
+# If the nlm has a msg file, put it's path here\r
+#\r
+FILE_nlm_msg =\r
+\r
+#\r
+# If the nlm has a hlp file put it's path here\r
+#\r
+FILE_nlm_hlp =\r
+\r
+#\r
+# If this is specified, it will override $(NWOS)\copyright.txt.\r
+#\r
+FILE_nlm_copyright =\r
+\r
+#\r
+# Any additional imports go here\r
+#\r
+FILES_nlm_Ximports = \\r
+       @$(APR)/aprlib.imp \\r
+       @$(NWOS)/httpd.imp \\r
+       @libc.imp \\r
+       GetProcessSwitchCount \\r
+       RunningProcess \\r
+       GetSuperHighResolutionTimer \\r
+       $(EOLIST)\r
+\r
+# Don't link with Winsock if standard sockets are being used\r
+ifndef USE_STDSOCKETS\r
+FILES_nlm_Ximports += @ws2nlm.imp \\r
+       $(EOLIST)\r
+endif\r
+\r
+#\r
+# Any symbols exported to here\r
+#\r
+FILES_nlm_exports = \\r
+       serf_module \\r
+       $(EOLIST)\r
+\r
+#\r
+# These are the OBJ files needed to create the LIB target above.\r
+# Paths must all use the '/' character\r
+#\r
+FILES_lib_objs = \\r
+       $(EOLIST)\r
+\r
+#\r
+# implement targets and dependancies (leave this section alone)\r
+#\r
+\r
+libs :: $(OBJDIR) $(TARGET_lib)\r
+\r
+nlms :: libs $(TARGET_nlm)\r
+\r
+#\r
+# Updated this target to create necessary directories and copy files to the\r
+# correct place.  (See $(AP_WORK)\build\NWGNUhead.inc for examples)\r
+#\r
+install :: nlms FORCE\r
+\r
+#\r
+# Any specialized rules here\r
+#\r
+\r
+vpath %.c $(V_PATH)\r
+\r
+#\r
+# Include the 'tail' makefile that has targets that depend on variables defined\r
+# in this makefile\r
+#\r
+\r
+include $(AP_WORK)\build\NWGNUtail.inc\r
+\r
+\r
index de0e3abe4c07a4c38e927d428579c279526fcbe1..2aaaa3dc3bde93d5658653f1b1d87a33d8c44e01 100644 (file)
@@ -23,7 +23,9 @@
 
 #include "httpd.h"
 #include "http_config.h"
+#if !defined(WIN32) && !defined(NETWARE)
 #include "ap_config_auto.h"
+#endif
 #ifdef HAVE_SERF_H
 #include "serf.h"
 #ifndef AP_HAS_SERF