A Windows Build Tree for MapServer
Howard Butler
hobu at IASTATE.EDU
Wed Feb 8 14:25:45 EST 2006
At 01:10 PM 2/8/2006, Jani Averbach wrote:
> > -----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.
I am a firm -1 against project files. Granted they aren't as bad in
msvc7+, but they still can cause a lot of grief. I especially have
trouble navigating the myriad of menus to figure out where to add lib
files, etc.
I understand the runtime issues (/MD vs /MDd), but usually the
compiler complains about needing NODEFAULTLIB which is a tip that you
have things mixed up.
GDAL and MapServer have long histories of nmake makefiles
(recursively, even), and those who maintain the software are not apt
to change this, I think. Another issue MapServer has is
bison/flex/yacc-generated files, which cause complications as
well. Coupled with the fact that it is impossible to debug how a
user is running a project file over email "no, click on the thing
next to the other thingy in the option menu that you have to remember
to enable", I don't see us changing at this time.
I like debugging in the IDE as much as the next person. Getting the
Windows builds to even use the same compiler options and layout
is/has been a challenge. Building MapServer on Windows used to be
only for the most courageous, and I'm hoping to lower that bar. I'm
not ready to ditch the makefiles though.
Howard
More information about the mapserver-dev
mailing list