Check the alignment of long doubles if they are to be used;
Jarkko Hietaniemi [Tue, 22 Feb 2000 05:14:35 +0000 (05:14 +0000)]
regen Configure.

p4raw-id: //depot/cfgperl@5189

Configure
Porting/Glossary
Porting/config.sh
Porting/config_H
config_h.SH

index f134f87..0bd0aa1 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 Thu Feb 17 01:07:48 EET 2000 [metaconfig 3.0 PL70]
+# Generated on Tue Feb 22 06:52:47 EET 2000 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -9518,6 +9518,33 @@ eval $inlibc
 set mktime d_mktime
 eval $inlibc
 
+: see if this is a sys/mman.h system
+set sys/mman.h i_sysmman
+eval $inhdr
+
+: see if mmap exists
+set mmap d_mmap
+eval $inlibc
+: see what shmat returns
+: default to something harmless
+mmaptype='void *'
+case "$i_sysmman$d_mmap" in
+"$define$define")
+       $cat >mmap.c <<'END'
+#include <sys/mman.h>
+void *mmap();
+END
+       if $cc $ccflags -c mmap.c >/dev/null 2>&1; then
+               mmaptype='void *'
+       else
+               mmaptype='caddr_t'
+       fi
+       echo "and it returns ($mmaptype)." >&4
+       ;;
+esac
+
+
+
 : see if mprotect exists
 set mprotect d_mprotect
 eval $inlibc
@@ -11487,11 +11514,20 @@ EOM
 *)
        case "$alignbytes" in
        '') echo "Checking alignment constraints..." >&4
-               $cat >try.c <<'EOCP'
+               if $test "X$uselongdouble" = Xdefine -a "X$d_longdbl" = Xdefine; then
+                       $cat >try.c <<'EOCP'
+typedef long double NV;
+EOCP
+               else
+                       $cat >try.c <<'EOCP'
+typedef double NV;
+EOCP
+               fi
+               $cat >>try.c <<'EOCP'
 #include <stdio.h>
 struct foobar {
        char foo;
-       double bar;
+       NV bar;
 } try_algn;
 int main()
 {
@@ -12623,33 +12659,6 @@ case "$make_set_make" in
 *) echo "Nope, it doesn't.";;
 esac
 
-: see if this is a sys/mman.h system
-set sys/mman.h i_sysmman
-eval $inhdr
-
-: see if mmap exists
-set mmap d_mmap
-eval $inlibc
-: see what shmat returns
-: default to something harmless
-mmaptype='void *'
-case "$i_sysmman$d_mmap" in
-"$define$define")
-       $cat >mmap.c <<'END'
-#include <sys/mman.h>
-void *mmap();
-END
-       if $cc $ccflags -c mmap.c >/dev/null 2>&1; then
-               mmaptype='void *'
-       else
-               mmaptype='caddr_t'
-       fi
-       echo "and it returns ($mmaptype)." >&4
-       ;;
-esac
-
-
-
 : see what type is used for mode_t
 rp="What is the type used for file modes for system calls (e.g. fchmod())?"
 set mode_t modetype int stdio.h sys/types.h
index 73b0f1e..4a1e9cc 100644 (file)
@@ -26,7 +26,8 @@ afs (afs.U):
 
 alignbytes (alignbytes.U):
        This variable holds the number of bytes required to align a
-       double. Usual values are 2, 4 and 8.
+       double-- or a long double when applicable. Usual values are
+       2, 4 and 8.  The default is eight, for safety.
 
 ansi2knr (ansi2knr.U):
        This variable is set if the user needs to run ansi2knr.  
@@ -2048,6 +2049,10 @@ i_sysmman (i_sysmman.U):
        This variable conditionally defines the I_SYS_MMAN symbol, and
        indicates whether a C program should include <sys/mman.h>.
 
+i_sysmode (i_sysmode.U):
+       This variable conditionally defines the I_SYSMODE symbol,
+       and indicates whether a C program should include <sys/mode.h>.
+
 i_sysmount (i_sysmount.U):
        This variable conditionally defines the I_SYSMOUNT symbol,
        and indicates whether a C program should include <sys/mount.h>.
index 9d3d8c1..b9be075 100644 (file)
@@ -8,7 +8,7 @@
 
 # Package name      : perl5
 # Source directory  : .
-# Configuration time: Wed Feb 16 01:08:43 EET 2000
+# Configuration time: Tue Feb 22 07:10:02 EET 2000
 # Configured by     : jhi
 # Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
 
@@ -59,7 +59,7 @@ ccflags='-pthread -std -DLANGUAGE_C'
 ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_BSD=1 SYSTYPE_BSD=1 unix=1'
 cf_by='jhi'
 cf_email='yourname@yourhost.yourplace.com'
-cf_time='Wed Feb 16 01:08:43 EET 2000'
+cf_time='Tue Feb 22 07:10:02 EET 2000'
 charsize='1'
 chgrp=''
 chmod=''
@@ -466,6 +466,7 @@ i_sysin='undef'
 i_sysioctl='define'
 i_syslog='define'
 i_sysmman='define'
+i_sysmode='define'
 i_sysmount='define'
 i_sysndir='undef'
 i_sysparam='define'
index 39ca93c..cc65dcc 100644 (file)
@@ -17,7 +17,7 @@
 /*
  * Package name      : perl5
  * Source directory  : .
- * Configuration time: Wed Feb 16 01:08:43 EET 2000
+ * Configuration time: Tue Feb 22 07:10:02 EET 2000
  * Configured by     : jhi
  * Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
  */
 
 /* MEM_ALIGNBYTES:
  *     This symbol contains the number of bytes required to align a
- *     double. Usual values are 2, 4 and 8. The default is eight,
- *     for safety.
+ *     double, or a long double when applicable. Usual values are 2,
+ *     4 and 8. The default is eight, for safety.
  */
 #if defined(CROSSCOMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
  */
 /*#define HAS_MKSTEMPS         / **/
 
+/* HAS_MMAP:
+ *     This symbol, if defined, indicates that the mmap system call is
+ *     available to map a file into memory.
+ */
 /* Mmap_t:
  *     This symbol holds the return type of the mmap() system call
  *     (and simultaneously the type of the first argument).
  *     Usually set to 'void *' or 'cadd_t'.
  */
+#define HAS_MMAP               /**/
 #define Mmap_t void *  /**/
 
 /* HAS_MPROTECT:
 #define PERL_XS_APIVERSION "5.5.660"
 #define PERL_PM_APIVERSION "5.005"
 
+/* I_SYSMODE:
+ *     This symbol, if defined, indicates that <sys/mode.h> exists and
+ *     should be included.
+ */
+#define        I_SYSMODE               /**/
+
 /* I_SYS_UTSNAME:
  *     This symbol, if defined, indicates that <sys/utsname.h> exists and
  *     should be included.
index 9529129..e440274 100644 (file)
@@ -1090,8 +1090,8 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 
 /* MEM_ALIGNBYTES:
  *     This symbol contains the number of bytes required to align a
- *     double. Usual values are 2, 4 and 8. The default is eight,
- *     for safety.
+ *     double, or a long double when applicable. Usual values are 2,
+ *     4 and 8. The default is eight, for safety.
  */
 #if defined(CROSSCOMPILE) || defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
@@ -1696,11 +1696,16 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$d_mkstemps HAS_MKSTEMPS              /**/
 
+/* HAS_MMAP:
+ *     This symbol, if defined, indicates that the mmap system call is
+ *     available to map a file into memory.
+ */
 /* Mmap_t:
  *     This symbol holds the return type of the mmap() system call
  *     (and simultaneously the type of the first argument).
  *     Usually set to 'void *' or 'cadd_t'.
  */
+#$d_mmap HAS_MMAP              /**/
 #define Mmap_t $mmaptype       /**/
 
 /* HAS_MPROTECT: