Thanks Frank & Even,
Following Even's comments I think I'll just leave the gzip functionality out
until we get the platform zlib fixed. I'll also ignore the img2tif stuff
assuming it will disappear in a future release anyway. A conditionally
compiled lfind in gdal/port sounds ideal. I've got a crazy schedule for the
next few weeks but as soon as I get the chance I'll submit some tickets.
For the issue where zlib.h defines WIN32 I can do:
#ifdef SYMBIAN
# undef WIN32
#endif
in the 2 or 3 places where this is an issue at present if that's what you'd
prefer? My thought was just that this doesn't actually resolve the root of the
problem and it might be better to do something more central.
Symbian has a windows based emulator that actually uses windows threads to
emulate Symbian processes and runs native x86 instructions. The proper
simulator environments like qemu that run ARM code in a virtual machine on an
x86 processor were too slow when this was created. A qemu-based simulator is
in the works as an alternative/replacement. Until then, we need to run
emulator builds on windows and in this environment _WIN32 is defined by the
compiler and may be used by some of the low-level code, this causes zlib.h to
define WIN32 and the same used to happen in cpl_port.h except that I've
extended the _WIN32_WCE exception to include Symbian as well:
/* ==================================================================== */
/* We will use SYMBIAN as a standard Symbian OS define. */
/* ==================================================================== */
#ifdef __SYMBIAN32__
# define SYMBIAN
/* could add #undef WIN32 here to be safe */
#endif
/* ==================================================================== */
/* We will use WIN32 as a standard windows define. */
/* ==================================================================== */
/* very tempting to clean this section up by doing #undef WIN32 here and
merging the others */
#if defined(_WIN32) && !defined(WIN32) && !defined(_WIN32_WCE) &&
!defined(SYMBIAN)
# define WIN32
#endif
#if defined(_WINDOWS) && !defined(WIN32) && !defined(_WIN32_WCE) &&
!defined(SYMBIAN)
# define WIN32
#endif
The only thing I'm unsure about is whether there could be a case where we
legitimately want to define WIN32 and _WIN32 or _WINDOWS will not be defined?
@Even, Symbian doesn't have any kind of autotools, autoconf, cmake etc.
There's no support for configure scripts, it's all pretty manual - hence not
getting appropriate build flags by default and building things that shouldn't
be included on my first go. :-( I'll definitely do all I can to get the
python bindings and autotest running though as that seems like the only viable
option for validating my port without writing a whole new test suite!
Best regards,
Mark
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev