You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by fu...@apache.org on 2011/10/29 15:16:45 UTC

svn commit: r1194885 - in /httpd/httpd/trunk/modules/filters: NWGNUmakefile NWGNUproxyhtml NWGNUxml2enc

Author: fuankg
Date: Sat Oct 29 13:16:45 2011
New Revision: 1194885

URL: http://svn.apache.org/viewvc?rev=1194885&view=rev
Log:
Added proxy_html and xml2enc to NetWare build.

Added:
    httpd/httpd/trunk/modules/filters/NWGNUproxyhtml   (with props)
    httpd/httpd/trunk/modules/filters/NWGNUxml2enc   (with props)
Modified:
    httpd/httpd/trunk/modules/filters/NWGNUmakefile

Modified: httpd/httpd/trunk/modules/filters/NWGNUmakefile
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/NWGNUmakefile?rev=1194885&r1=1194884&r2=1194885&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/filters/NWGNUmakefile (original)
+++ httpd/httpd/trunk/modules/filters/NWGNUmakefile Sat Oct 29 13:16:45 2011
@@ -164,7 +164,7 @@ TARGET_nlm = \
 	$(OBJDIR)/reflector.nlm \
 	$(EOLIST)
 
-# If the zlib libraries source exists then build the mod_deflate module
+# If the zlib library source exists then build the mod_deflate module
 ifneq "$(ZLIBSDK)" ""
 ifeq "$(wildcard $(ZLIBSDK))" "$(ZLIBSDK)"
 TARGET_nlm += $(OBJDIR)/deflate.nlm \
@@ -172,6 +172,16 @@ TARGET_nlm += $(OBJDIR)/deflate.nlm \
 endif
 endif
 
+# If the libxml2 library source exists then build the mod_proxy_html module
+ifneq "$(LIBXML2SDK)" ""
+ifeq "$(wildcard $(LIBXML2SDK))" "$(LIBXML2SDK)"
+TARGET_nlm += \
+	$(OBJDIR)/proxyhtml.nlm \
+	$(OBJDIR)/xml2enc.nlm \
+	$(EOLIST)
+endif
+endif
+
 #
 # If there is an LIB target, put it here
 #

Added: httpd/httpd/trunk/modules/filters/NWGNUproxyhtml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/NWGNUproxyhtml?rev=1194885&view=auto
==============================================================================
--- httpd/httpd/trunk/modules/filters/NWGNUproxyhtml (added)
+++ httpd/httpd/trunk/modules/filters/NWGNUproxyhtml Sat Oct 29 13:16:45 2011
@@ -0,0 +1,261 @@
+#
+# Make sure all needed macro's are defined
+#
+
+#
+# Get the 'head' of the build environment if necessary.  This includes default
+# targets and paths to tools
+#
+
+ifndef EnvironmentDefined
+include $(AP_WORK)/build/NWGNUhead.inc
+endif
+
+#
+# These directories will be at the beginning of the include list, followed by
+# INCDIRS
+#
+XINCDIRS	+= \
+			$(LIBXML2SDK)/include \
+			$(APR)/include \
+			$(APRUTIL)/include \
+			$(AP_WORK)/include \
+			$(AP_WORK)/modules/http \
+			$(NWOS) \
+			$(EOLIST)
+
+#
+# These flags will come after CFLAGS
+#
+XCFLAGS		+= \
+			$(EOLIST)
+
+#
+# These defines will come after DEFINES
+#
+XDEFINES	+= \
+			$(EOLIST)
+
+#
+# These flags will be added to the link.opt file
+#
+XLFLAGS		+= \
+			-L$(LIBXML2SDK)/lib -llibxml2.lib \
+			$(EOLIST)
+
+#
+# These values will be appended to the correct variables based on the value of
+# RELEASE
+#
+ifeq "$(RELEASE)" "debug"
+XINCDIRS	+= \
+			$(EOLIST)
+
+XCFLAGS		+= \
+			$(EOLIST)
+
+XDEFINES	+= \
+			$(EOLIST)
+
+XLFLAGS		+= \
+			$(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "noopt"
+XINCDIRS	+= \
+			$(EOLIST)
+
+XCFLAGS		+= \
+			$(EOLIST)
+
+XDEFINES	+= \
+			$(EOLIST)
+
+XLFLAGS		+= \
+			$(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "release"
+XINCDIRS	+= \
+			$(EOLIST)
+
+XCFLAGS		+= \
+			$(EOLIST)
+
+XDEFINES	+= \
+			$(EOLIST)
+
+XLFLAGS		+= \
+			$(EOLIST)
+endif
+
+#
+# These are used by the link target if an NLM is being generated
+# This is used by the link 'name' directive to name the nlm.  If left blank
+# TARGET_nlm (see below) will be used.
+#
+NLM_NAME	= proxyhtml
+
+#
+# This is used by the link '-desc ' directive.
+# If left blank, NLM_NAME will be used.
+#
+NLM_DESCRIPTION	= Apache $(VERSION_STR) Proxy HTML Module
+
+#
+# This is used by the '-threadname' directive.  If left blank,
+# NLM_NAME Thread will be used.
+#
+NLM_THREAD_NAME	= Proxy HTTP Module
+
+#
+# If this is specified, it will override VERSION value in
+# $(AP_WORK)/build/NWGNUenvironment.inc
+#
+NLM_VERSION	=
+
+#
+# If this is specified, it will override the default of 64K
+#
+NLM_STACK_SIZE	= 8192
+
+
+#
+# If this is specified it will be used by the link '-entry' directive
+#
+NLM_ENTRY_SYM	=
+
+#
+# If this is specified it will be used by the link '-exit' directive
+#
+NLM_EXIT_SYM	=
+
+#
+# If this is specified it will be used by the link '-check' directive
+#
+NLM_CHECK_SYM	=
+
+#
+# If these are specified it will be used by the link '-flags' directive
+#
+NLM_FLAGS	=
+
+#
+# If this is specified it will be linked in with the XDCData option in the def
+# file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
+# by setting APACHE_UNIPROC in the environment
+#
+XDCDATA		=
+
+#
+# If there is an NLM target, put it here
+#
+TARGET_nlm = \
+	$(OBJDIR)/$(NLM_NAME).nlm \
+	$(EOLIST)
+
+#
+# If there is an LIB target, put it here
+#
+TARGET_lib = \
+	$(EOLIST)
+
+#
+# These are the OBJ files needed to create the NLM target above.
+# Paths must all use the '/' character
+#
+FILES_nlm_objs = \
+	$(OBJDIR)/mod_proxy_html.o \
+	$(OBJDIR)/libprews.o \
+	$(EOLIST)
+
+#
+# These are the LIB files needed to create the NLM target above.
+# These will be added as a library command in the link.opt file.
+#
+FILES_nlm_libs = \
+	$(PRELUDE) \
+	$(EOLIST)
+
+#
+# These are the modules that the above NLM target depends on to load.
+# These will be added as a module command in the link.opt file.
+#
+FILES_nlm_modules = \
+	aprlib \
+	libc \
+	proxy \
+	$(EOLIST)
+
+#
+# If the nlm has a msg file, put it's path here
+#
+FILE_nlm_msg =
+
+#
+# If the nlm has a hlp file put it's path here
+#
+FILE_nlm_hlp =
+
+#
+# If this is specified, it will override $(NWOS)\copyright.txt.
+#
+FILE_nlm_copyright =
+
+#
+# Any additional imports go here
+#
+FILES_nlm_Ximports = \
+	@aprlib.imp \
+	@httpd.imp \
+	@libc.imp \
+	$(EOLIST)
+
+# Don't link with Winsock if standard sockets are being used
+ifndef USE_STDSOCKETS
+FILES_nlm_Ximports += @ws2nlm.imp \
+	$(EOLIST)
+endif
+
+#
+# Any symbols exported to here
+#
+FILES_nlm_exports = \
+	proxy_html_module \
+	$(EOLIST)
+
+#
+# These are the OBJ files needed to create the LIB target above.
+# Paths must all use the '/' character
+#
+FILES_lib_objs = \
+	$(EOLIST)
+
+#
+# implement targets and dependancies (leave this section alone)
+#
+
+libs :: $(OBJDIR) $(TARGET_lib)
+
+nlms :: libs $(TARGET_nlm)
+
+#
+# Updated this target to create necessary directories and copy files to the
+# correct place.  (See $(AP_WORK)/build/NWGNUhead.inc for examples)
+#
+install :: nlms FORCE
+
+#
+# Any specialized rules here
+#
+
+vpath %.c ../arch/netware
+
+#
+# Include the 'tail' makefile that has targets that depend on variables defined
+# in this makefile
+#
+
+include $(APBUILD)/NWGNUtail.inc
+
+

Propchange: httpd/httpd/trunk/modules/filters/NWGNUproxyhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/httpd/trunk/modules/filters/NWGNUxml2enc
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/NWGNUxml2enc?rev=1194885&view=auto
==============================================================================
--- httpd/httpd/trunk/modules/filters/NWGNUxml2enc (added)
+++ httpd/httpd/trunk/modules/filters/NWGNUxml2enc Sat Oct 29 13:16:45 2011
@@ -0,0 +1,258 @@
+#
+# Declare the sub-directories to be built here
+#
+
+SUBDIRS = \
+	$(EOLIST)
+
+#
+# Get the 'head' of the build environment.  This includes default targets and
+# paths to tools
+#
+
+include $(AP_WORK)/build/NWGNUhead.inc
+
+#
+# build this level's files
+
+#
+# Make sure all needed macro's are defined
+#
+
+#
+# These directories will be at the beginning of the include list, followed by
+# INCDIRS
+#
+XINCDIRS	+= \
+			$(LIBXML2SDK)/include \
+			$(APR)/include \
+			$(APRUTIL)/include \
+			$(AP_WORK)/include \
+			$(NWOS) \
+			$(EOLIST)
+
+#
+# These flags will come after CFLAGS
+#
+XCFLAGS		+= \
+			$(EOLIST)
+
+#
+# These defines will come after DEFINES
+#
+XDEFINES	+= \
+			$(EOLIST)
+
+#
+# These flags will be added to the link.opt file
+#
+XLFLAGS		+= \
+			-L$(LIBXML2SDK)/lib -llibxml2.lib \
+			$(EOLIST)
+
+#
+# These values will be appended to the correct variables based on the value of
+# RELEASE
+#
+ifeq "$(RELEASE)" "debug"
+XINCDIRS	+= \
+			$(EOLIST)
+
+XCFLAGS		+= \
+			$(EOLIST)
+
+XDEFINES	+= \
+			$(EOLIST)
+
+XLFLAGS		+= \
+			$(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "noopt"
+XINCDIRS	+= \
+			$(EOLIST)
+
+XCFLAGS		+= \
+			$(EOLIST)
+
+XDEFINES	+= \
+			$(EOLIST)
+
+XLFLAGS		+= \
+			$(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "release"
+XINCDIRS	+= \
+			$(EOLIST)
+
+XCFLAGS		+= \
+			$(EOLIST)
+
+XDEFINES	+= \
+			$(EOLIST)
+
+XLFLAGS		+= \
+			$(EOLIST)
+endif
+
+#
+# These are used by the link target if an NLM is being generated
+# This is used by the link 'name' directive to name the nlm.  If left blank
+# TARGET_nlm (see below) will be used.
+#
+NLM_NAME	= xml2enc
+
+#
+# This is used by the link '-desc ' directive.
+# If left blank, NLM_NAME will be used.
+#
+NLM_DESCRIPTION	= Apache $(VERSION_STR) xml2enc Module
+
+#
+# This is used by the '-threadname' directive.  If left blank,
+# NLM_NAME Thread will be used.
+#
+NLM_THREAD_NAME	= Substitute Module
+
+#
+# If this is specified, it will override VERSION value in
+# $(AP_WORK)/build/NWGNUenvironment.inc
+#
+NLM_VERSION	=
+
+#
+# If this is specified, it will override the default of 64K
+#
+NLM_STACK_SIZE	= 8192
+
+
+#
+# If this is specified it will be used by the link '-entry' directive
+#
+NLM_ENTRY_SYM	=
+
+#
+# If this is specified it will be used by the link '-exit' directive
+#
+NLM_EXIT_SYM	=
+
+#
+# If this is specified it will be used by the link '-check' directive
+#
+NLM_CHECK_SYM	=
+
+#
+# If these are specified it will be used by the link '-flags' directive
+#
+NLM_FLAGS	=
+
+#
+# If this is specified it will be linked in with the XDCData option in the def
+# file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
+# by setting APACHE_UNIPROC in the environment
+#
+XDCDATA		=
+
+#
+# If there is an NLM target, put it here
+#
+TARGET_nlm = \
+	$(OBJDIR)/$(NLM_NAME).nlm \
+	$(EOLIST)
+
+#
+# If there is an LIB target, put it here
+#
+TARGET_lib = \
+	$(EOLIST)
+
+#
+# These are the OBJ files needed to create the NLM target above.
+# Paths must all use the '/' character
+#
+FILES_nlm_objs = \
+	$(OBJDIR)/mod_xml2enc.o \
+	$(EOLIST)
+
+#
+# These are the LIB files needed to create the NLM target above.
+# These will be added as a library command in the link.opt file.
+#
+FILES_nlm_libs = \
+	$(PRELUDE) \
+	$(EOLIST)
+
+#
+# These are the modules that the above NLM target depends on to load.
+# These will be added as a module command in the link.opt file.
+#
+FILES_nlm_modules = \
+	aprlib \
+	libc \
+	$(EOLIST)
+
+#
+# If the nlm has a msg file, put it's path here
+#
+FILE_nlm_msg =
+
+#
+# If the nlm has a hlp file put it's path here
+#
+FILE_nlm_hlp =
+
+#
+# If this is specified, it will override $(NWOS)\copyright.txt.
+#
+FILE_nlm_copyright =
+
+#
+# Any additional imports go here
+#
+FILES_nlm_Ximports = \
+	@aprlib.imp \
+	@httpd.imp \
+	@libc.imp \
+	$(EOLIST)
+
+#
+# Any symbols exported to here
+#
+FILES_nlm_exports = \
+	xml2enc_module \
+	$(EOLIST)
+
+#
+# These are the OBJ files needed to create the LIB target above.
+# Paths must all use the '/' character
+#
+FILES_lib_objs = \
+	$(EOLIST)
+
+#
+# implement targets and dependancies (leave this section alone)
+#
+
+libs :: $(OBJDIR) $(TARGET_lib)
+
+nlms :: libs $(TARGET_nlm)
+
+#
+# Updated this target to create necessary directories and copy files to the
+# correct place.  (See $(AP_WORK)/build/NWGNUhead.inc for examples)
+#
+install :: nlms FORCE
+
+#
+# Any specialized rules here
+#
+
+#
+# Include the 'tail' makefile that has targets that depend on variables defined
+# in this makefile
+#
+
+include $(APBUILD)/NWGNUtail.inc
+
+

Propchange: httpd/httpd/trunk/modules/filters/NWGNUxml2enc
------------------------------------------------------------------------------
    svn:eol-style = native



Re: svn commit: r1194885 - in /httpd/httpd/trunk/modules/filters: NWGNUmakefile NWGNUproxyhtml NWGNUxml2enc

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 10/29/2011 12:04 PM, Nick Kew wrote:
> On Sat, 29 Oct 2011 17:58:24 +0200
> Guenter Knauf <fu...@apache.org> wrote:
> 
>> BTW. wouldnt it be nice to have these modules use APR|U xml APIs?
>> Without looked at your mods I guess the APR|U xml APIs are too poor?
> 
> Yes.  apr-xml is a subset of the functionality of expat, which is
> in turn a very limited library.

Uhmmm... didn't you just bless apr_xml with libxml2 foo? libexpat being
one of now two possible providers?

I concur that expat is insufficient for this particular application.
But the user who builds apr_xml to libxml2 is getting two for the price
of one binding.

Re: svn commit: r1194885 - in /httpd/httpd/trunk/modules/filters: NWGNUmakefile NWGNUproxyhtml NWGNUxml2enc

Posted by Nick Kew <ni...@webthing.com>.
On Sat, 29 Oct 2011 17:58:24 +0200
Guenter Knauf <fu...@apache.org> wrote:

> BTW. wouldnt it be nice to have these modules use APR|U xml APIs?
> Without looked at your mods I guess the APR|U xml APIs are too poor?

Yes.  apr-xml is a subset of the functionality of expat, which is
in turn a very limited library.

Both the new modules use functionality that doesn't exist in expat.
In the case of mod_proxy_html that's absolutely necessary, whereas
in mod_xml2enc it's mostly just an optimisation compared to using
apr_iconv for all i18n needs.


-- 
Nick Kew

Re: svn commit: r1194885 - in /httpd/httpd/trunk/modules/filters: NWGNUmakefile NWGNUproxyhtml NWGNUxml2enc

Posted by Guenter Knauf <fu...@apache.org>.
Hi Nick,
Am 29.10.2011 17:14, schrieb Nick Kew:
> You're obviously the platform expert, but just one point:
>
>
>> +# These flags will be added to the link.opt file
>> +#
>> +XLFLAGS		+= \
>> +			-L$(LIBXML2SDK)/lib -llibxml2.lib \
>> +			$(EOLIST)
>
> In the *X version (and windows - though I haven't attempted
> Makefiles for that) I've deliberately not linked it in but
> recommend LoadFile instead.  That avoids problems like that
> of linking multiple versions of a library, e.g through
> scripting modules like PHP.
>
> I know that's a minority opinion, but FWIW!
that gives no probs since neither NetWare nor Windows export anything 
unless explicitely specified. Also these makefiles are 1st hack - I 
intent to add dynamic linking as well ... ;-)

BTW. wouldnt it be nice to have these modules use APR|U xml APIs?
Without looked at your mods I guess the APR|U xml APIs are too poor?

For the Windows build files lets hope for Gregg jumping in ... :-)

Gün.




Re: svn commit: r1194885 - in /httpd/httpd/trunk/modules/filters: NWGNUmakefile NWGNUproxyhtml NWGNUxml2enc

Posted by Nick Kew <ni...@webthing.com>.
On Sat, 29 Oct 2011 13:16:45 -0000
fuankg@apache.org wrote:

> Author: fuankg
> Date: Sat Oct 29 13:16:45 2011
> New Revision: 1194885
> 
> URL: http://svn.apache.org/viewvc?rev=1194885&view=rev
> Log:
> Added proxy_html and xml2enc to NetWare build.

Thanks!

You're obviously the platform expert, but just one point:


> +# These flags will be added to the link.opt file
> +#
> +XLFLAGS		+= \
> +			-L$(LIBXML2SDK)/lib -llibxml2.lib \
> +			$(EOLIST)

In the *X version (and windows - though I haven't attempted
Makefiles for that) I've deliberately not linked it in but
recommend LoadFile instead.  That avoids problems like that
of linking multiple versions of a library, e.g through
scripting modules like PHP.

I know that's a minority opinion, but FWIW!

-- 
Nick Kew