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