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