A Windows Build Tree for MapServer

Jani Averbach javerbach at EXTENDTHEREACH.COM
Wed Feb 8 14:10:57 EST 2006


> -----Original Message-----
> From: UMN MapServer Developers List On Behalf Of Howard Butler
> Sent: Wednesday, February 08, 2006 10:03 AM
> Subject: A Windows Build Tree for MapServer
> 
> 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.

This is a great news!

> 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.

I would like to take this a little bit further and propose that we use
VC project files instead of makefiles. This would make it easier to
work with mapserver code base on windows and solve few problems with
GDAL.  If you build GDAL with debugging (/MDd) and later turn the
project to release mode (/MD) then you have very high changes to blow
up the binary because the makefile system will mix debug and release
mode binaries very easily.

To get this project file system to work easily, I would like to
propose that we pursue something similar than what Subversion is using
for its build system: the project files are build on the fly by using
python and EZT templates. You can take a look of the system here:

http://svn.collab.net/repos/svn/trunk/gen-make.py
http://svn.collab.net/repos/svn/trunk/build/generator/gen_vcnet_vcproj.py
and for example:
http://svn.collab.net/repos/svn/trunk/build/generator/vcnet_vcproj.ezt

This way it should be possible to select what kind of features to
generate e.g. for Mapserver or GDAL. 


BR, Jani



More information about the mapserver-dev mailing list