]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
prepare NetWare build for creating build helpers to run on build platform;
authorGuenter Knauf <fuankg@apache.org>
Mon, 20 Jul 2009 18:43:34 +0000 (18:43 +0000)
committerGuenter Knauf <fuankg@apache.org>
Mon, 20 Jul 2009 18:43:34 +0000 (18:43 +0000)
disabled by default until gen_test_char.c is modified to allow for cross-compile.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@795951 13f79535-47bb-0310-9956-ffa450edef68

build/NWGNUenvironment.inc
build/NWGNUmakefile

index c549eb664e4bcbf8fcc7dc0b3ba16d20c22144cb..60b7204792ebc6b7ab27d416328b89c52d782557 100644 (file)
@@ -120,6 +120,7 @@ CC  = mwccnlm
 CPP    = mwccnlm
 LINK   = mwldnlm
 LIB    = mwldnlm -type library -w nocmdline
+WIN_CC = mwcc
 
 # Setup build tools
 AWK    = awk
@@ -154,13 +155,22 @@ else
 VERSION_SKT = (WINSOCK)
 endif
 
-#
 # MetroWerks static Libraries
-
 CLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\Runtime\mwcrtl.lib
 MATH3S =
 PLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\MSL C++\MWCPP.lib
 
+# MetroWerks Win32 build flags to create build tool
+MWCW_MSL   = "$(METROWERKS)/MSL"
+MWCW_W32   = "$(METROWERKS)/Win32-x86 Support"
+WIN_CFLAGS =  -O2 -gccinc -nodefaults -proc 586 -w off
+WIN_CFLAGS += -ir $(MWCW_MSL) -ir $(MWCW_W32) -lr $(MWCW_MSL) -lr $(MWCW_W32)
+WIN_CFLAGS += -lMSL_All_x86.lib -lkernel32.lib -luser32.lib
+
+ifndef BUILDTOOL_AS_NLM
+BUILDTOOL_AS_NLM = 1
+endif
+
 # Base compile flags
 # and prefix or precompiled header added here.
 
index c99c95d86aa0901dcba8f50c712e0d75cbba8340..fac1a828ab7e1c19e4a815fac27c9c4a8bc03365 100644 (file)
@@ -19,11 +19,12 @@ FILES_prebuild_headers = \
        $(APR)/include/apr.h \
        $(APRUTIL)/include/apu.h \
        $(APRUTIL)/include/apr_ldap.h \
+       $(NWOS)/test_char.h \
        $(PCRE)/config.h \
        $(PCRE)/pcre.h \
        $(EOLIST) 
     
-nlms :: $(NWOS)/httpd.imp
+nlms :: $(NWOS)/httpd.imp $(NWOS)/chartables.c
 
 $(NWOS)/httpd.imp : make_nw_export.awk nw_export.i
        @echo Generating $(subst /,\,$@)
@@ -62,6 +63,36 @@ $(PCRE)/%.h: $(subst /,\,$(PCRE))\%.hw
        @echo Creating $(subst /,\,$@)
        copy $< $(subst /,\,$(PCRE))\$(@F)
 
+ifneq "$(BUILDTOOL_AS_NLM)" "1"
+
+$(NWOS)/chartables.c: dftables.exe $(PCRE)/dftables.c $(FILES_prebuild_headers)
+       @echo Creating $(subst /,\,$@)
+       @$< $@
+
+%.exe: $(PCRE)/%.c
+       @echo Creating Build Helper $@
+       @$(WIN_CC) $(WIN_CFLAGS) $< -o $@
+
+$(NWOS)/test_char.h: gen_test_char.exe $(AP_WORK)/server/gen_test_char.c
+       @echo Creating $(subst /,\,$@)
+       @$< > $@
+
+%.exe: $(AP_WORK)/server/%.c
+       @echo Creating Build Helper $@
+       @$(WIN_CC) $(WIN_CFLAGS) -DCROSS_COMPILE $< -o $@
+
+else
+
+ifneq "$(wildcard $(NWOS)/chartables.c)" "$(NWOS)/chartables.c"
+$(error Error: required source $(NWOS)/chartables.c not found!)
+endif
+
+ifneq "$(wildcard $(NWOS)/test_char.h)" "$(NWOS)/test_char.h"
+$(error Error: required header $(NWOS)/test_char.h not found!)
+endif
+
+endif
+
 #
 # You can use this target if all that is needed is to copy files to the
 # installation area
@@ -69,13 +100,19 @@ $(PCRE)/%.h: $(subst /,\,$(PCRE))\%.hw
 install :: nlms FORCE
 
 clean ::
-       $(CHK) nw_export.i                                  $(DEL) nw_export.i
-       $(CHK) cc.opt                                       $(DEL) cc.opt
-       $(CHK) NWGNUversion.inc                             $(DEL) NWGNUversion.inc
-       $(CHK) $(subst /,\,$(PCRE))\config.h                $(DEL) $(subst /,\,$(PCRE))\config.h
-       $(CHK) $(subst /,\,$(PCRE))\pcre.h                  $(DEL) $(subst /,\,$(PCRE))\pcre.h
-       $(CHK) $(subst /,\,$(NWOS))\httpd.imp               $(DEL) $(subst /,\,$(NWOS))\httpd.imp
+       $(CHK) nw_export.i                                 $(DEL) nw_export.i
+       $(CHK) cc.opt                                      $(DEL) cc.opt
+       $(CHK) NWGNUversion.inc                            $(DEL) NWGNUversion.inc
+       $(CHK) $(subst /,\,$(PCRE))\config.h               $(DEL) $(subst /,\,$(PCRE))\config.h
+       $(CHK) $(subst /,\,$(PCRE))\pcre.h                 $(DEL) $(subst /,\,$(PCRE))\pcre.h
+       $(CHK) $(subst /,\,$(NWOS))\httpd.imp              $(DEL) $(subst /,\,$(NWOS))\httpd.imp
        $(MAKE) -C $(APR) -f NWGNUmakefile clean
+ifneq "$(BUILDTOOL_AS_NLM)" "1"
+       $(CHK) $(subst /,\,$(NWOS))\chartables.c           $(DEL) $(subst /,\,$(NWOS))\chartables.c
+       $(CHK) $(subst /,\,$(NWOS))\test_char.h            $(DEL) $(subst /,\,$(NWOS))\test_char.h
+       $(CHK) dftables.exe                                $(DEL) dftables.exe
+       $(CHK) gen_test_char.exe                           $(DEL) gen_test_char.exe
+endif
 
 #
 # Include the 'tail' makefile that has targets that depend on variables defined