A Windows Build Tree for MapServer

Howard Butler hobu at IASTATE.EDU
Wed Feb 8 12:03:04 EST 2006


All,

Assefa and I have been collaborating on a unified build tree for 
Windows binaries for MapServer.  This is a note to tell you what has 
been done so far and to propose some changes to the nmake.opt and 
makefile.vc files to streamline our build process a little bit and 
make it work nicely with the build tree.

Building MapServer on Windows is a major PITA.  I have maintained 
something called the "kitchen sink," Assefa has maintained MS4W and 
PHP MapScript, and Perry also has a binary set.  I would like to try 
to collect things together a bit so they all build off of common 
stuff.  The reasoning behind this is to make it a bit easier for 
folks to swap libmap.dlls to get functionality from one build or 
another (mostly thinking of SDE, Oracle, and MrSID) into various .exe 
and MapScripts.  I do not know whether or not this dream is realistic or not.

In any case, I have been working on a build tree at 
<http://hobu.stat.iastate.edu/mapserver/build_output/assefa>.  It 
contains almost everything for a full GDAL and MapServer 
build.  Everything has been brought up to date.  Everything has been 
built dynamically with /MD.  GDAL is built with plugins for SDE, 
Oracle, and MrSID.  The intent is for someone wishing to build their 
own MapServer to just grab the build tree, tweak nmake.opt to give 
the path to it and do nmake /f makefile.vc and have it build up 
everything all at once.  This is with MSVC 7.1, so it obviously isn't 
for everyone, but I think it could go a long way in making it much 
easier for folks to build things without having to worry about the 
bazillions of little issues that crop up along the way.

To make this work, I have done some slight modifications to the 
nmake.opt and makefile.vc files.  These include setting things up to 
use relative paths, and creating install targets for the mapscripts 
and .exe/.dll so they are collated into the ../bin directory.  I 
would like to go through nmake.opt and make some changes to make 
things be relative to this build tree.  I would also add some things 
like SWIG and JAVA_HOME to make it easier to have MapScript build 
targets.  I would make these changes in CVS HEAD.  I would also 
create/edit the Win32 build HowTo to describe how to use this.

If people want to me to write an RFC to describe this stuff I can do so.

As an aside, I would really like to reconfigure Oracle and SDE to use 
the plugin architecture.  They seem to cause no end of 
requests.  Using plugins for these should make our build layout/setup 
much easier. I plan on pursuing this for the Hawaii 5-0 release.

Howard



More information about the mapserver-dev mailing list