[Gdal-dev] Proposal for Unified Windows Binaries

Frank Warmerdam warmerdam at pobox.com
Sun Apr 15 19:30:45 EDT 2007


Tamas Szekeres wrote:
> But I would completely disagree if we would want to take out the
> binaries of the scripting interfaces and let the user to create this
> code by hand or obtain the corresponding bundle from a different
> location. Instead, I would extend the pactice for adding these
> binaries for all of the bindings in a more unique way. For example
> adding some common makefile targets to create the code for this
> purpose, and allow the interface maintainers to decide which files
> should be included in the package and to which location.

Tamas,

I don't think Howard was proposing any changes to the makefiles.
But rather that the "core component" we would build on would be
the GDAL/OGR C++ core, the C API, plus all the drivers that have
odd requirements built as plugins so they are optional.  Stuff that
depends on external DLLs, has runtime requirements, etc.

Then stuff like the C# or Python bindings could be provided as an
extra package on top of the C API.

> I also have some doubts how to create an unique compilation that is
> suitable for all of the applications and the various needs.
> Can someone confirm that the usage of the different CRT heaps will not
> cause memory related problems when compiling the code using different
> compiler installations. (Is the GDAL C API capable to pass memory
> segments being allocated and released on different sides?)

Generally speaking if you use the C API I *think* there should be
no cross-heap / cross-runtime problems but I'm not 100% sure of this
myself.  I'm imagining shipping a core built with VC7.1.

> There are some further issues should also be considered, like:
> 
> 1. Provide support for WIN64 images

I'd like to suggest we put off WIN64 native support binaries till we
have a good handle on 32bit builds, and till WIN64 is in wider use.

> 2. Possible issues related to embedding manifests in a multi-compiler
> environment (VC2003, VC2005)

I think if we build with VC7.1 we don't need to worry about manifests.
If we were to build the core with VC8 I think we would want to embed the
manifests as the makefiles do now.  But I get quite confused about how
DLL searching works with manifests in the picture.

> 3. Controlling compiler related runtime dependencies (like the .NET
> framework version affinity of the package)

I presume this only becomes an issue at the c#/.net level, is that
right?

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGeo, http://osgeo.org




More information about the Gdal-dev mailing list