On Sun, Dec 28, 2008 at 4:29 AM, Martin Erzberger <martin@erzberger.ch> wrote:
1. I got many compiler warnings, mostly about unsafe pointers (if I code
nowadays it is with Java, I didn't do C for 15 years, so I don't know how
serious these warnings are).

They're probably benign.  If GPSBabel passes its own regression test (./testo) it's surely fine.  Different GCC versions have different warnings enabled, so if you're building a really funky combination - like, say, 64-bit windows from a Cygwin cross - you're probably on a road not well travelled.

2. The resulting GPSBabel.exe is 3MB, while the precompiled one is about
1MB.

The default builds include debug info and symbol tables.  The released ones are stripped.

 
Hence my two questions:
1. How is the "official" Windows GPSBabel.exe built?

The official one is built (by me) on a Linux system with a cross-compiler on the mingw system.

A viable one for Windows can be built with MSVC, but it's quite a bit larger.

 
2. Can I safely use the one compiled with cygwin?

GPSBabel contains hundreds of formats consisting of zillions of independent code paths.  If something is miscompiled in a code path you don't care about, you won't care.
If you're not using, say, Magellan Navigator, you probably don't actually *care* whether that format works or not.  If the core works correctly, the various modules are highly independent.

It's the intent that if you have an executable that passes a 'testo' run that it works "well enough" for all supported formats.  In fantasy land, that'd be 100% code coverage, but it's not.