<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>

<META content=text/html;charset=iso-8859-1 http-equiv=Content-Type><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<META content='"MSHTML 4.72.3110.7"' name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT color=#000000 size=2>Fellow MapServer Implementers,</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT size=2>  Steven Lime asked me to write a summary on 
implementing</FONT></DIV>
<DIV><FONT size=2>Mapserv on Windows NT.  Below is a short note on my 
experiences.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>I've taken a few short cuts just to get it up and running 
(especially</FONT></DIV>
<DIV><FONT size=2>with the regex stuff), so if anyone else has suggestions, 
improvements</FONT></DIV>
<DIV><FONT size=2>etc, I'm all ears!  And since I haven't tested all the 
functionality yet,</FONT></DIV>
<DIV><FONT size=2>some of the those short cuts may cause problems.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>Brent Fraser</FONT></DIV>
<DIV><FONT size=2></FONT>
<DIV><FONT color=#000000 size=2>GeoAnalytic Inc.<BR>1150 , 633 - 6th Avenue SW 
Calgary, AB T2P 2Y5<BR>Tel:  (403)213-2700 Fax:  (403)213-2707<BR><A 
href="mailto:info@geoanalytic.com">info@geoanalytic.com</A> <BR><A 
href="http://www.geoanalytic.com">www.geoanalytic.com</A><BR></FONT></DIV></DIV>
<DIV> </DIV>
<DIV><FONT color=#000000 
size=2>===================================================</FONT></DIV>
<DIV><FONT color=#000000 size=2>Implementing University of Minnesota 
MapServer</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>1.  Software Configuration</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>    The software I use for 
actually running the Mapserver</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT><FONT size=2>(once it is compiled) 
are:</FONT></DIV>
<DIV><FONT size=2>  </FONT></DIV>
<DIV><FONT size=2></FONT><FONT color=#000000 size=2>    Windows 
NT Workstation 4.0</FONT></DIV>
<DIV><FONT color=#000000 size=2>    Apache 1.3 
Webserver</FONT></DIV>
<DIV><FONT color=#000000 size=2>    MapServer 3.211</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>    <FONT color=#000000>I use 
Visual C++ 5.0 for building Mapserver, and the following</FONT></FONT></DIV>
<DIV><FONT color=#000000 size=2><FONT color=#000000></FONT></FONT><FONT 
size=2>components:</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>    <FONT 
color=#000000>freetype-1.2 from <A 
href="http://www.freetype.org/download.htm">http://www.freetype.org/download.htm</A></FONT></FONT></DIV>
<DIV><FONT color=#000000 size=2><FONT color=#000000></FONT>    
tiff-v3_4beta035-tar.gz from <A 
href="ftp://ftp.sgi.com/graphics/tiff">ftp://ftp.sgi.com/graphics/tiff</A></FONT></DIV>
<DIV><FONT color=#000000 size=2>        (I 
see that beta37 is now available)</FONT></DIV>
<DIV><FONT color=#000000 size=2><FONT color=#000000></FONT>    
hs_<FONT color=#000000>regex from <A 
href="http://people.delphi.com/gjc/winregex.html">http://people.delphi.com/gjc/winregex.html</A></FONT></FONT></DIV>
<DIV><FONT color=#000000 size=2><FONT color=#000000>    proj4 
4.3.3 from <A 
href="ftp://kai.er.usgs.gov/pub/proj.4">ftp://kai.er.usgs.gov/pub/proj.4</A></FONT></FONT></DIV>
<DIV><FONT color=#000000 size=2><FONT color=#000000></FONT></FONT> </DIV>
<DIV><FONT color=#000000 size=2><FONT color=#000000></FONT></FONT> </DIV>
<DIV><FONT color=#000000 size=2><FONT color=#000000></FONT></FONT><FONT 
color=#000000 size=2>    Other components used are from the 
Mapserver distribution</FONT></DIV>
<DIV><FONT color=#000000 size=2>(gd, shapelib) although they are available on 
the Internet as well.</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>    I compile each of the 
components into libraries using a separate</FONT></DIV>
<DIV><FONT color=#000000 size=2>VC++ project for each.  I also </FONT><FONT 
size=2>make a library out of most of the</FONT></DIV>
<DIV><FONT size=2>mapserver files, all except </FONT><FONT size=2>mapserv.c. 
Mapserv.c is in it's own</FONT></DIV>
<DIV><FONT size=2>project </FONT><FONT color=#000000 size=2>with the compiled 
libraries from the other projects.</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>2.  Changes to Source Code</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>Changes to Mapserver source</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>MAPFILE.C, function msLoadMap, (around line 1120), comment 
out</FONT></DIV>
<DIV><FONT size=2></FONT><FONT color=#000000 size=2>    the 
"if" block that starts with:</FONT></DIV>
<DIV><FONT color=#000000 size=2>        
if(regexec(&re, filename, 0, NULL, 0) != 0) { /* no match */</FONT></DIV>
<DIV><FONT color=#000000 size=2>    It has problems with Windows 
style paths</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>MAPSHAPE.C, at the top of the file 
insert</FONT></DIV>
<DIV><FONT color=#000000 size=2>        
#include <memory.h></FONT></DIV>
<DIV><FONT color=#000000 size=2>    <FONT color=#000000>for 
Windows compatibility</FONT></FONT></DIV>
<DIV><FONT color=#000000 size=2><FONT color=#000000></FONT></FONT> </DIV>
<DIV><FONT color=#000000 size=2>MAPSERV.C,  function ReturnHTML, (around 
line 740?), comment out</FONT></DIV>
<DIV><FONT color=#000000 size=2>    the "if" block that 
starts with</FONT></DIV>
<DIV><FONT color=#000000 size=2>        
if(regexec(&re, html, 0, NULL, 0) != 0) { /* no match */</FONT></DIV>
<DIV><FONT size=2></FONT><FONT color=#000000 size=2>    again, 
problems with Windows paths</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV> </DIV>
<DIV><FONT size=2>Changes to Proj4 source</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>In PARAM.C and PROJECTS.H, change all occurrences of 
PVALUE</FONT></DIV>
<DIV><FONT size=2>(there is four of them)  to something like PJVALUE, since 
Windows</FONT></DIV>
<DIV><FONT size=2>already uses PVALUE</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV> </DIV>
<DIV><FONT size=2>Changes to regex source</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>In REGEXEC.C and REGEX.H, remove any occurrences 
of __stdcall.</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT><FONT size=2>Windows now has a different 
default calling convention.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV> </DIV>
<DIV><FONT size=2>Changes to libtiff source</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>In TIF_WIN32.C, in function _tiffUnmapProc, comment out the 
following</FONT></DIV>
<DIV><FONT size=2>line:</FONT></DIV>
<DIV><FONT size=2>   CloseHandle((HANDLE)map_handle);</FONT></DIV>
<DIV><FONT size=2></FONT><FONT color=#000000 size=2>For some reason, this causes 
mapserv to crash on NT.</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>=====================</FONT></DIV>
<DIV><FONT size=2>That's all there is to making mapserv.exe for Windows 
NT.</FONT></DIV>
<DIV> </DIV></BODY></HTML>