Glynn Clements wrote: > > Markus Metz wrote: > >> I would do >> >> > if test $ac_cv_largefiles = yes; then >> > USE_LARGEFILES=1 >> > + if test "$MINGW32" = yes ; then >> > + USE_LARGEFILES=0 >> > + fi >> > fi > > This *silently* disables LFS. I would prefer to tell the user that LFS > isn't available.
OK > >> but that is your turf, you can judge what is portable. I guess, in the >> near future, MINGW64 will become more popular which is IMHO good and >> grass should consider this build environment. > > I wouldn't assume that Win64 will be any different with regard to LFS. > Apart from anything else, "long" is still only 32 bits on Win64. I think there is one of int64, int64_t, _int64, _int64_t available if a 64-bit integer type is really needed. I did some testing on w32 with mingw32, and #ifdef __MINGW32__ #define off_t off64_t #define fseeko fseeko64 #define ftello ftello64 #endif provided me with a 64-bit off_t. In LibGw32C, there are a number of 64 variants of standard functions: stat, fstat, seek, fseek, tell, ftell are available as 64 variants as e.g. stat64. Somewhere there is also a lseek64. What about fopen/fopen64 etc? In GRASS, config.h does not know about __MINGW32__ even if __MINGW32__ is (somewhere else) defined, thus off_t is not redefined for mingw32, and I placed the redefinitions for testing in another header. Looks like a lot of hacking to get LFS for wingrass. _______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
