On Monday, January 31, 2005, at 04:40PM, John E. Malmberg <[EMAIL PROTECTED]> wrote:
>The configure tests for largefile support is based on if the integer type >is native 64 bits. If you're looking at 5.8.6, all of the 64-bit tests were lumped together under 64-bit integers, which is just plain wrong. I believe 64-bit integers and large file support now work correctly (and independently) in bleadperl and those changes should make it into 5.8.7. 64-bit integers and long doubles do also work, but are currently still lumped together. In other words, I don't think we have provided for anyone who wants long doubles but not long ints. There is a separate part of Perl's 64-bitness called "maximal 64-bit support" enabled by -Duse64bitall and/or -Dusemorebits. It refers to very large memory support, and is not yet supported (yes, it's on my to-do list). Up through 5.8.6, we incorrectly reported that it was defined if any 64-bit option was chosen even though there was no attempt made to enable large memory support in the CRTL. >On VMS, the off_t type becomes 64 bits if the _LARGEFILE macro is defined >in the test program. > >Which means logically the support for largefile on VMS should be based on >the presences of off_t being detected as being 64 bits by the test program >run by configure instead. (Or simply by checking the minimum version on >the 64 bit OpenVMS platforms) The appropriate checking is now done. See http://public.activestate.com/cgi-bin/perlbrowse?patch=23748 and http://public.activestate.com/cgi-bin/perlbrowse?patch=23775 > >If largefile support is to be present, then the resulting config.h needs >to have a #define _LARGEFILE 1 in it. I think I tried that, but that's too late. The CRTL headers that need to see _LARGEFILE get included before config.h, so it had to be added on the command line via /DEFINE=_LARGEFILE. >Of course there could be bad consequences if perl is assuming that off_t >and int or long are interchangeable, which is what the current logic seems >to suggest. Perl has it's own Off_t that translates to either off_t or off64_t depending on configuration choices, and it does all seem to be working correctly now. If you configure bleadperl using -Duselargefiles and have any trouble getting it to work, do post here. >Is there an easy solution to this? No, it wasn't easy, but the good new is "wasn't" is past tense. It was easier to port Perl to Itanium than it was to make it recognize and support the large file capabilities in the CRTL, but it's done and working as far as I know.