Without the changes to these 3 files which I make in the diffs, I could
not get Flood to compile under windows. Note that a debug version
generally would require more manipulation if you want to compile it within
the Visual C++ debugger (would likely use static directories rather than
attempting to feed through the environment which is not well supported).

Besides for Makefile.win and flood.dsp which I previously provided, I am
also providing the "patch" for XLATE.C. Please note the reference to my
original email below that this is a kludge:

> Fixing the inconsistency between the files XLATE.C (which was using
> APU_HAS_APR_ICONV) and APU.H (which has APU_HAVE_APR_ICONV set to 1 for
> Win32) by consistently using the "HAVE" version appears to have broken the
> build for Win32 because the presumed structure apr_iconv_t is never
> defined in the code space. I had to globally modify APU_HAVE_APR_ICONV
> back to the old value APU_HAS_APR_ICONV for XLATE.C to get it to continue
> to build. I assume this is the not the correct solution but it serves as
> the bandaid because I do not know what this structure is supposed to
> contain (the code I have from last year sheds no light on it either).

-Norman Tuttle, developer, OpenDemand Systems, [EMAIL PROTECTED]


--- \backup\xlate.c     2003-01-12 16:47:24.000000000 -0500
+++ \flood-1.1\apr-util\xlate\xlate.c   2003-10-07 19:01:47.000000000 -0400
@@ -77,11 +77,11 @@
 #ifdef HAVE_ICONV_H

 #include <iconv.h>

 #endif

-#if APU_HAVE_APR_ICONV

+#if APU_HAS_APR_ICONV

 #include <apr_iconv.h>

 #endif

 

-#if defined(APU_ICONV_INBUF_CONST) || APU_HAVE_APR_ICONV

+#if defined(APU_ICONV_INBUF_CONST) || APU_HAS_APR_ICONV

 #define ICONV_INBUF_TYPE const char **

 #else

 #define ICONV_INBUF_TYPE char **

@@ -98,7 +98,7 @@
     char *sbcs_table;

 #if APU_HAVE_ICONV

     iconv_t ich;

-#elif APU_HAVE_APR_ICONV

+#elif APU_HAS_APR_ICONV

     apr_iconv_t ich;

 #endif

 };

@@ -121,7 +121,7 @@
 {

     apr_xlate_t *old = convset;

 

-#if APU_HAVE_APR_ICONV

+#if APU_HAS_APR_ICONV

     if (old->ich != (apr_iconv_t)-1) {

         return apr_iconv_close(old->ich, old->pool);

     }

@@ -173,7 +173,7 @@
         /* TODO: add the table to the cache */

     }

 }

-#elif APU_HAVE_APR_ICONV

+#elif APU_HAS_APR_ICONV

 static void check_sbcs(apr_xlate_t *convset)

 {

     char inbuf[256], outbuf[256];

@@ -209,7 +209,7 @@
         /* TODO: add the table to the cache */

     }

 }

-#endif /* APU_HAVE_APR_ICONV */

+#endif /* APU_HAS_APR_ICONV */

 

 static void make_identity_table(apr_xlate_t *convset)

 {

@@ -260,7 +260,7 @@
         make_identity_table(new);

     }

 

-#if APU_HAVE_APR_ICONV

+#if APU_HAS_APR_ICONV

     if (!found) {

         rv = apr_iconv_open(topage, frompage, pool, &new->ich);

         if (rv != APR_SUCCESS) {

@@ -313,7 +313,7 @@
 {

     apr_status_t status = APR_SUCCESS;

 

-#if APU_HAVE_APR_ICONV

+#if APU_HAS_APR_ICONV

     if (convset->ich != (apr_iconv_t)-1) {

         const char *inbufptr = inbuf;

         apr_size_t translated;

--- \backup\flood.dsp   2002-06-05 02:25:20.000000000 -0400
+++ \work\flood-1.1\flood.dsp   2003-10-29 19:22:55.000000000 -0500
@@ -42,7 +42,7 @@
 # PROP Ignore_Export_Lib 0

 # PROP Target_Dir ""

 # ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D 
"_MBCS" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /FD /c

-# ADD CPP /nologo /MD /W3 /O2 /I "$(APRPATH)\include" /I 
"$(APRUTILPATH)\include" /I "$(OPENSSLPATH)\inc32" /D "NDEBUG" /D "WIN32" /D 
"_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D 
"WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /Fd"Release/flood" 
/FD /c

+# ADD CPP /nologo /MD /W3 /O2 /I "$(APRPATH)\include" /I 
"$(APRUTILPATH)\include" /I "$(SRCLIB)\apr-iconv\include" /D "NDEBUG" /D 
"WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D 
"WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /Fd"Release/flood" 
/FD /c

 # ADD BASE RSC /l 0x409 /d "NDEBUG"

 # ADD RSC /l 0x409 /d "NDEBUG"

 BSC32=bscmake.exe

@@ -50,7 +50,8 @@
 # ADD BSC32 /nologo

 LINK32=link.exe

 # ADD BASE LINK32 kernel32.lib user32.lib wsock32.lib ws2_32.lib apr.lib 
aprutil.lib /nologo /subsystem:console /map /machine:I386

-# ADD LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib apr.lib 
aprutil.lib pcreposix.lib libeay32.lib ssleay32.lib /nologo /subsystem:console 
/map /machine:I386 /libpath:"$(APRPATH)\LibR" /libpath:"$(APRUTILPATH)\LibR" 
/libpath:"$(OPENSSLPATH)\$(SSLBIN)" /libpath:"$(REGEXPATH)\LibR"

+# ADD LINK32 msvcrt.lib oldnames.lib kernel32.lib advapi32.lib wsock32.lib 
ws2_32.lib apr.lib aprutil.lib apriconv.lib xml.lib pcreposix.lib pcre.lib 
libeay32.lib ssleay32.lib /nologo /subsystem:console /map /machine:I386 
/nodefaultlib /libpath:"$(APRPATH)\LibR" /libpath:"$(APRUTILPATH)\LibR" 
/libpath:"$(REGEXPATH)\LibR"

+# SUBTRACT LINK32 /pdb:none

 

 !ELSEIF  "$(CFG)" == "flood - Win32 Debug"

 

@@ -66,7 +67,7 @@
 # PROP Ignore_Export_Lib 0

 # PROP Target_Dir ""

 # ADD BASE CPP /nologo /MDd /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D 
"_CONSOLE" /D "_MBCS" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /FD /c

-# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "$(APRPATH)\include" /I 
"$(APRUTILPATH)\include" /I "$(OPENSSLPATH)\inc32" /D "_DEBUG" /D "WIN32" /D 
"_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D 
"WIN32_LEAN_AND_MEAN" /D "NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /Fd"Debug/flood" 
/FD /c

+# ADD CPP /nologo /MDd /W3 /GX /Zi /Od /I "apr-iconv\include" /I "apr\include" 
/I "apr-util\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D 
"APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /D "WIN32_LEAN_AND_MEAN" /D 
"NO_IDEA" /D "NO_RC5" /D "NO_MDC2" /Fd"Debug/flood" /FD /c

 # ADD BASE RSC /l 0x409 /d "_DEBUG"

 # ADD RSC /l 0x409 /d "_DEBUG"

 BSC32=bscmake.exe

@@ -74,7 +75,8 @@
 # ADD BSC32 /nologo

 LINK32=link.exe

 # ADD BASE LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib apr.lib 
aprutil.lib /nologo /subsystem:console /incremental:no /map /debug /machine:I386

-# ADD LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib apr.lib 
aprutil.lib pcreposix.lib libeay32.lib ssleay32.lib /nologo /subsystem:console 
/incremental:no /map /debug /machine:I386 /libpath:"$(APRPATH)\LibD" 
/libpath:"$(APRUTILPATH)\LibD" /libpath:"$(OPENSSLPATH)\$(SSLBIN)" 
/libpath:"$(REGEXPATH)\LibD"

+# ADD LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib apr.lib 
apriconv.lib xml.lib pcreposix.lib pcre.lib libeay32.lib ssleay32.lib 
aprutil.lib /nologo /subsystem:console /incremental:no /map /debug 
/machine:I386 /libpath:"c:\Work\openload\c\httpd-test\flood"

+# SUBTRACT LINK32 /pdb:none

 

 !ENDIF 

 

--- \backup\Makefile.win        2002-05-31 03:57:16.000000000 -0400
+++ \work\flood-1.1\Makefile.win        2003-10-29 19:47:25.000000000 -0500
@@ -17,7 +17,7 @@
 #

 # For example;

 #

-#   nmake /f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr

+#   nmake /f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" install

 #

 # Be aware that certain awk's will not accept backslahed names,

 # so the server root should be given in forward slashes (quoted),

@@ -26,7 +26,7 @@
 default:        build

 

 !IF "$(SRCLIB)" == ""

-SRCLIB=$(MAKEDIR)\..\..\httpd-2.0\srclib

+SRCLIB=$(MAKEDIR)

 !MESSAGE Using default SRCLIB path $(SRCLIB)

 !ENDIF

 

@@ -36,7 +36,7 @@
 !ENDIF

 

 !IF "$(APRUTILPATH)" == ""

-APRUTILPATH=$(APRPATH)\..\apr-util

+APRUTILPATH=$(APRPATH)\apr-util

 !MESSAGE Using default APRUTILPATH path $(APRUTILPATH)

 !ENDIF

 

@@ -147,37 +147,33 @@
 !IF EXIST("flood.mak")

 

 clean:

-       -floodenv.bat

        $(MAKE) $(MAKEOPT) -f flood.mak CFG="flood - Win32 $(LONG)" RECURSE=0 
CLEAN

        del config.h floodenv.bat regex.h

 

 build: config.h

-       floodenv.bat

-       $(MAKE) $(MAKEOPT) -f flood.mak CFG="flood - Win32 $(LONG)" RECURSE=0

+       echo $(MAKE) $(MAKEOPT) -f flood.mak CFG="flood - Win32 $(LONG)" 
RECURSE=0 >> floodenv.bat

+       -floodenv

 

 !ELSEIF EXIST("flood.sln")

 

 clean:  

-       -floodenv.bat

        devenv flood.sln /useenv /clean $(LONG) /project flood

        del config.h floodenv.bat regex.h

 

 build: config.h

-       floodenv.bat

-       devenv flood.sln /useenv /build $(LONG) /project flood

+       echo devenv flood.sln /useenv /build $(LONG) /project flood >> 
floodenv.bat

+       -floodenv

 

 !ELSE

 

 clean:  

-       -floodenv.bat

        msdev flood.dsw /USEENV /MAKE \

                "flood - Win32 $(LONG)" /CLEAN

        del config.h floodenv.bat regex.h

 

 build: config.h

-       floodenv.bat

-       msdev flood.dsw /USEENV /MAKE \

-               "flood - Win32 $(LONG)" 

+       echo msdev flood.dsw /USEENV /MAKE "flood - Win32 $(LONG)" >> 
floodenv.bat

+       -floodenv

 

 !ENDIF

 

Reply via email to