Add usemorebits and uselfs.
Jarkko Hietaniemi [Mon, 20 Sep 1999 09:09:29 +0000 (09:09 +0000)]
p4raw-id: //depot/cfgperl@4204

Configure
config_h.SH
doio.c
perl.h

index 0d497fd..a63fbf6 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Fri Sep 17 12:06:13 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Mon Sep 20 12:12:09 EET DST 1999 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -817,7 +817,9 @@ trnl=''
 uidtype=''
 archname64=''
 use64bits=''
+uselfs=''
 uselongdouble=''
+usemorebits=''
 usemultiplicity=''
 nm_opt=''
 nm_so_opt=''
@@ -3014,6 +3016,17 @@ case "$gccversion" in
 1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
 esac
 
+
+case "$usemorebits" in
+"$define"|true|[yY]*)
+       use64bits="$define"
+       uselongdouble="$define"
+       usemorebits="$define"
+       ;;
+*)     usemorebits="$undef"
+       ;;
+esac
+
 cat <<EOM
 
 Perl can be built to take advantage of explicit 64-bit interfaces,
@@ -6503,6 +6516,16 @@ else
        installsitearch="$sitearchexp"
 fi
 
+
+case "$uselfs" in
+"$define"|true|[yY]*)
+       uselfs="$define"
+       use64bits="$define"
+       ;;
+*)     uselfs="$undef"
+       ;;
+esac
+
 cat <<EOM
 
 Perl can be built to take advantage of long doubles which
@@ -13969,7 +13992,9 @@ uname='$uname'
 uniq='$uniq'
 use64bits='$use64bits'
 usedl='$usedl'
+uselfs='$uselfs'
 uselongdouble='$uselongdouble'
+usemorebits='$usemorebits'
 usemultiplicity='$usemultiplicity'
 usemymalloc='$usemymalloc'
 usenm='$usenm'
index 2f8a835..0f94032 100644 (file)
@@ -2475,6 +2475,13 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$use64bits    USE_64_BITS             /**/
 
+/* USE_LARGE_FILES:
+ *     This symbol, if defined, indicates that large file support
+ *     should be used when available.  The USE_64_BITS symbol will
+ *     also be turned on.
+ */
+#$uselfs       USE_LARGE_FILES         /**/
+
 /* USE_LONG_DOUBLE:
  *     This symbol, if defined, indicates that long doubles should
  *     be used when available.
diff --git a/doio.c b/doio.c
index 0b1cdd1..2baecec 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -141,7 +141,7 @@ Perl_do_open9(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
     }
 
     if (as_raw) {
-#if defined(USE_64_BIT_OFFSETS) && defined(O_LARGEFILE)
+#if defined(USE_64_BIT_RAWIO) && defined(O_LARGEFILE)
        rawmode |= O_LARGEFILE;
 #endif
 
diff --git a/perl.h b/perl.h
index 27a9de9..48765ee 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -1422,17 +1422,13 @@ typedef union any ANY;
 
 #include "handy.h"
 
-#ifdef USE_64_BITS
-#   define USE_64_BIT_FILES
-#endif
-
-#if defined(USE_64_BIT_FILES) || defined(USE_LARGE_FILES)
-#   define USE_64_BIT_OFFSETS /* Explicit */
+#if defined(USE_LARGE_FILES)
+#   define USE_64_BIT_RAWIO /* Explicit */
 #   define USE_64_BIT_STDIO
 #endif
 
-#if LSEEKSIZE == 8 && !defined(USE_64_BIT_OFFSETS)
-#   define USE_64_BIT_OFFSETS /* Implicit */
+#if LSEEKSIZE == 8 && !defined(USE_64_BIT_RAWIO)
+#   define USE_64_BIT_RAWIO /* Implicit */
 #endif
 
 /* Do we need FSEEKSIZE? */
@@ -1449,7 +1445,7 @@ typedef union any ANY;
 #define USE_FREOPEN64
 #endif
 
-#ifdef USE_64_BIT_OFFSETS
+#ifdef USE_64_BIT_RAWIO
 #   ifdef HAS_OFF64_T
 #       undef Off_t
 #       define Off_t off64_t
@@ -1458,7 +1454,7 @@ typedef union any ANY;
 #   endif
 /* Most 64-bit environments have defines like _LARGEFILE_SOURCE that
  * will trigger defines like the ones below.  Some 64-bit environments,
- * however, do not. */
+ * however, do not.  Therefore we have to explicitly mix and match. */
 #   if defined(USE_OPEN64)
 #       define open open64
 #   endif