[gdal-dev] Symbian Porting Issues
Frank Warmerdam
warmerdam at pobox.com
Mon Jan 5 14:02:34 EST 2009
Mark Wilcox wrote:
> 1) For some reason inflateCopy() is missing from the Symbian zlib port,
> even though it claims to be version 1.2.3 (existing library shipped in
> device firmware, not the internal copy in GDAL) at the moment I'm just
> excluding cpl_vsil_gzip.cpp from my build. I'll try to get
> Nokia/Symbian to fix this and include the function in future releases.
> I've seen some archive post that suggests maybe the same functionality
> could have been achieved without this dependency to support older
> versions of zlib though... is it worth reconsidering that option for
> Symbian support or is the gzip support not so commonly used?
Mark,
I have no strong opinion on this. I presume things work fine if the
internal gdal/frmts/zlib is used, right?
> 2) /frmts/hfa/addtiffo_src/rawblockedimage.cpp contains:
> #ifndef _WIN32
> # include <unistd.h>
> #endif
> should this be #ifndef WIN32 or possibly better yet #ifdef HAVE_UNISTD_H?
> Currently the build will fail for a Symbian emulator because _WIN32 is
> defined but you're effectively cross-compiling to an odd hybrid environment.
The addtiffo_src stuff is not used except by img2tif. It should not be
included in normal GDAL builds.
> 3) The zlib library also uses a WIN32 define for portablility, this
> caused clashes in several places which I've temporarily fixed by
> changing the order of the includes (so that zlib.h comes after any gdal
> headers). This is very unsatisfactory but I'm not sure what the real
> solution is. One option would be to get the Symbian port of zlib fixed
> so it doesn't export this definition to the world in it's public header,
> another would be to change the cpl_port.h to undef WIN32 before
> re-checking for itself. I thought possibly the latter since zlib isn't
> updated so often?
I'm not sure I understand this issue. If zlib.h defines WIN32 on a
platform that GDAL does not really consider WIN32 then I suppose we
ought to correct the definition right after including zlib.h everywhere
it is included (hopefully not too many places).
> 4) There are a couple of symbol clashes at link time between
> /frmts/hfa/geoextra.c & /frmts/gtiff/libgeotiff/geo_extra.c. I assume
> that one of them is not normally built? I've excluded the hfa version
> from the build for now but is there a case for removing one permanently,
> or moving the functions to a common location shared by both drivers?
> The implementations are slightly different.
gdal/frmts/hfa/geoextra.c is not normally built into GDAL. It is present only
for use with the img2tif utility. I will take the liberty of clearing away
the img2tiff stuff which is no longer well maintained, and is not really used.
> 5) Symbian doesn't have an lfind() implementation at the moment. I've
> borrowed the one from the full version of libtiff's port directory but
> wondered if there might be a case for including a version more
> permanently in GDAL, either with the internal copy of libtiff or perhaps
> in the porting layer?
I'm ambivelent on this. I think it is sufficient to conditionally compile
in an lfind() implementation for the Symbian and I wouldn't mind this
living somewhere appropriate in the GDAL tree (perhaps gdal/port).
Congratulations on the Symbian work. Feel free to submit tickets with
suggested changes in support of the platform.
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 | Geospatial Programmer for Rent
More information about the gdal-dev
mailing list