This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
amigaos4: Configure: this test needs also alarm()
[perl5.git] / configure.com
index f926229..2d3dc55 100644 (file)
@@ -144,7 +144,7 @@ $ silent=""
 $ extractsh=""
 $ override=""
 $ knowitall=""
-$ ccname="VAX"
+$ ccname="DECC"
 $ Dec_C_Version = ""
 $ cxxversion = ""
 $ use_threads = "F"
@@ -731,7 +731,7 @@ $   WRITE CONFIG -
 $   CLOSE CONFIG
 $ ENDIF
 $!
-$ IF F$TYPE(usedevel) .EQS. "" THEN usedevel := n
+$ IF F$TYPE(usedevel) .EQS. "" THEN usedevel = "undef"
 $ patchlevel_h = F$SEARCH("[-]patchlevel.h")
 $ IF (patchlevel_h.NES."")
 $ THEN
@@ -978,7 +978,6 @@ $!
 $!First time through, eh?  I have some defaults handy for the following systems:
 $!
 $!     EOD
-$!     echo "     ","VMS_VAX"
 $!     echo "     ","VMS_AXP"
 $!     echo "     ","VMS_IA64"
 $!        : Now look for a hint file osname_osvers, unless one has been
@@ -1161,25 +1160,24 @@ $! appendages later depending on configuration options.  But we need the
 $! base name early because not all questions are worth asking on all
 $! platforms.
 $!
-$! Please use F$ELEMENT(0,"-",archname) .EQS. "VMS_VAX" (or "VMS_AXP" or
+$! Please use F$ELEMENT(0,"-",archname) .EQS. "VMS_AXP" (or
 $! "VMS_IA64") from here on to allow cross-platform configuration (e.g.
-$! configure a VAX build on an Alpha).
+$! configure a IA64 build on an Alpha).
 $!
 $ IF (F$GETSYI("HW_MODEL") .LT. 1024 .AND. F$GETSYI("HW_MODEL") .GT. 0)
 $ THEN 
-$   archname = "VMS_VAX"
-$   otherarch = "an Alpha or IA64"
-$   alignbytes="8"
-$   arch_type = "ARCH-TYPE=__VAX__"
+$   echo "Sorry, VAX is  no longer supported by this Perl version."
+$   echo "Please try Perl 5.22 or earlier"
+$   exit 44
 $ ELSE
 $   IF (F$GETSYI("ARCH_TYPE") .EQ. 2)
 $   THEN
 $       archname = "VMS_AXP"
-$       otherarch = "a VAX or IA64"
+$       otherarch = "IA64"
 $       arch_type = "ARCH-TYPE=__AXP__"
 $   ELSE
 $       archname = "VMS_IA64"
-$       otherarch = "a VAX or Alpha"
+$       otherarch = "Alpha"
 $       arch_type = "ARCH-TYPE=__IA64__"
 $   ENDIF
 $   alignbytes="8"
@@ -1583,11 +1581,8 @@ $   CLOSE CONFIG
 $   echo "You are using Dec C ''line'"
 $   ccversion = line
 $   Dec_C_Version = F$INTEGER(line)
-$   IF Dec_C_Version .GE. 60200000 .AND. F$ELEMENT(0, "-", archname) .NES. "VMS_VAX"
-$   THEN
-$     echo4 "adding /NOANSI_ALIAS qualifier to ccflags."
-$     ccflags = ccflags + "/NOANSI_ALIAS"
-$   ENDIF
+$   echo4 "adding /NOANSI_ALIAS qualifier to ccflags."
+$   ccflags = ccflags + "/NOANSI_ALIAS"
 $   DELETE/NOLOG/NOCONFIRM deccvers.*;
 $ ENDIF
 $Gcc_check:
@@ -1780,17 +1775,11 @@ $!
 $List_Parse:
 $ OPEN/READ CONFIG ccvms.lis
 $ READ CONFIG line
-$ IF F$ELEMENT(0, "-", archname) .EQS. "VMS_VAX"
+$ IF F$ELEMENT(0, "-", archname) .EQS. "VMS_AXP"
 $ THEN
-$   read CONFIG line
-$   archsufx = "VAX"
+$     archsufx = "AXP"
 $ ELSE
-$   IF F$ELEMENT(0, "-", archname) .EQS. "VMS_AXP"
-$   THEN
-$       archsufx = "AXP"
-$   ELSE
-$       archsufx = "IA64"
-$   ENDIF
+$     archsufx = "IA64"
 $ ENDIF
 $ CLOSE CONFIG
 $ line = F$EDIT(line,"TRIM,COMPRESS")
@@ -2064,7 +2053,7 @@ $       THEN
 $           thread_upcalls = "MTU=MTU=1"
 $          usethreadupcalls = "define"
 $          ! Are they on alpha or itanium?
-$          IF (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX") .AND. ("''f$extract(1,3, f$getsyi(""version""))'" .GES. "7.2")
+$          IF ("''f$extract(1,3, f$getsyi(""version""))'" .GES. "7.2")
 $          THEN
 $              echo ""
 $              echo "Threaded Perl can be linked to use multiple kernel threads on your system."
@@ -2117,106 +2106,103 @@ $   ENDIF
 $ ENDIF
 $!
 $! Ask if they want to build with 64-bit support
-$ IF (F$ELEMENT(0, "-", archname).NES."VMS_VAX").and.("''f$extract(1,3, f$getsyi(""version""))'".ges."7.1")
+$ bool_dflt = "n"
+$ IF F$TYPE(use64bitint) .NES. ""
 $ THEN
-$   bool_dflt = "n"
-$   IF F$TYPE(use64bitint) .NES. "" 
-$   THEN
-$       IF use64bitint .OR. use64bitint .eqs. "define" THEN bool_dflt = "y"
-$   ENDIF
-$   echo ""
-$   echo "You have natively 64-bit long integers."
-$   echo ""
-$   echo "Perl can be built to take advantage of 64-bit integer types"
-$   echo "on some systems, To do so, Configure can be run with -Duse64bitint."
-$   echo "Choosing this option will most probably introduce binary incompatibilities."
-$   echo ""
-$   echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
-$   rp = "Try to use 64-bit integers, if available? [''bool_dflt'] "
-$   GOSUB myread
-$   use64bitint = ans
+$   IF use64bitint .OR. use64bitint .eqs. "define" THEN bool_dflt = "y"
+$ ENDIF
+$ echo ""
+$ echo "You have natively 64-bit long integers."
+$ echo ""
+$ echo "Perl can be built to take advantage of 64-bit integer types"
+$ echo "on some systems, To do so, Configure can be run with -Duse64bitint."
+$ echo "Choosing this option will most probably introduce binary incompatibilities."
+$ echo ""
+$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
+$ rp = "Try to use 64-bit integers, if available? [''bool_dflt'] "
+$ GOSUB myread
+$ use64bitint = ans
 $!
-$   bool_dflt = "n"
-$   IF F$TYPE(use64bitall) .NES. "" 
-$   THEN
-$       IF use64bitall .OR. use64bitall .eqs. "define" THEN bool_dflt = "y"
-$   ENDIF
-$   echo ""
-$   echo "You may also choose to try maximal 64-bitness.  It means using as much"
-$   echo "64-bitness as possible on the platform.  This in turn means even more"
-$   echo "binary incompatibilities.  On the other hand, your platform may not"
-$   echo "have any more 64-bitness available than what you already have chosen."
+$ bool_dflt = "n"
+$ IF F$TYPE(use64bitall) .NES. ""
+$ THEN
+$   IF use64bitall .OR. use64bitall .eqs. "define" THEN bool_dflt = "y"
+$ ENDIF
+$ echo ""
+$ echo "You may also choose to try maximal 64-bitness.  It means using as much"
+$ echo "64-bitness as possible on the platform.  This in turn means even more"
+$ echo "binary incompatibilities.  On the other hand, your platform may not"
+$ echo "have any more 64-bitness available than what you already have chosen."
+$ echo ""
+$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
+$ rp = "Try to use maximal 64-bit support, if available? [''bool_dflt'] "
+$ GOSUB myread
+$ use64bitall=ans
+$ IF use64bitall .AND. .NOT. use64bitint
+$ THEN
 $   echo ""
-$   echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
-$   rp = "Try to use maximal 64-bit support, if available? [''bool_dflt'] "
-$   GOSUB myread
-$   use64bitall=ans
-$   IF use64bitall .AND. .NOT. use64bitint
-$   THEN
-$     echo ""
-$     echo "Since you have chosen a maximally 64-bit build, I'm also turning on"
-$     echo "the use of 64-bit integers."
-$     use64bitint="Y"
-$   ENDIF
+$   echo "Since you have chosen a maximally 64-bit build, I'm also turning on"
+$   echo "the use of 64-bit integers."
+$   use64bitint="Y"
+$ ENDIF
 $!
-$   bool_dflt = use64bitall
-$   IF F$TYPE(uselargefiles) .NES. "" 
-$   THEN
-$       IF uselargefiles .OR. uselargefiles .eqs. "define" THEN bool_dflt = "y"
-$   ENDIF
-$   echo ""
-$   echo "Perl can be built to understand large files (files larger than 2 gigabytes)"
-$   echo "on some systems.  To do so, Configure can be run with -Duselargefiles."
-$   echo ""
-$   echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
-$   rp = "Try to understand large files, if available? [''bool_dflt'] "
-$   GOSUB myread
-$   uselargefiles=ans
+$ bool_dflt = use64bitall
+$ IF F$TYPE(uselargefiles) .NES. "" 
+$ THEN
+$   IF uselargefiles .OR. uselargefiles .eqs. "define" THEN bool_dflt = "y"
+$ ENDIF
+$ echo ""
+$ echo "Perl can be built to understand large files (files larger than 2 gigabytes)"
+$ echo "on some systems.  To do so, Configure can be run with -Duselargefiles."
+$ echo ""
+$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
+$ rp = "Try to understand large files, if available? [''bool_dflt'] "
+$ GOSUB myread
+$ uselargefiles=ans
 $!
-$   bool_dflt = "n"
-$   IF F$TYPE(uselongdouble) .NES. "" 
-$   THEN
-$       IF uselongdouble .OR. uselongdouble .eqs. "define" THEN bool_dflt = "y"
-$   ENDIF
-$   echo ""
-$   echo "Perl can be built to take advantage of long doubles which"
-$   echo "(if available) may give more accuracy and range for floating point numbers."
-$   echo ""
-$   echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
-$   rp = "Try to use long doubles, if available? [''bool_dflt'] "
-$   GOSUB myread
-$   uselongdouble = ans
+$ bool_dflt = "n"
+$ IF F$TYPE(uselongdouble) .NES. ""
+$ THEN
+$   IF uselongdouble .OR. uselongdouble .eqs. "define" THEN bool_dflt = "y"
+$ ENDIF
+$ echo ""
+$ echo "Perl can be built to take advantage of long doubles which"
+$ echo "(if available) may give more accuracy and range for floating point numbers."
+$ echo ""
+$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
+$ rp = "Try to use long doubles, if available? [''bool_dflt'] "
+$ GOSUB myread
+$ uselongdouble = ans
 $!
-$ ENDIF ! not VAX && >= 7.1
 $!
 $ IF usesitecustomize .OR. usesitecustomize .eqs. "define" 
 $ THEN 
-$       usesitecustomize = "define"
+$   usesitecustomize = "define"
 $ ELSE
-$       usesitecustomize = "undef"
+$   usesitecustomize = "undef"
 $ ENDIF
 $!
 $! Case sensitive?
-$   echo ""
-$   echo "By default, perl (and pretty much everything else on VMS) uses"
-$   echo "case-insensitive linker symbols. Which is to say, when the"
-$   echo "underlying C code makes a call to a routine called Perl_foo in"
-$   echo "the source, the name in the object modules or shareable images"
-$   echo "is really PERL_FOO. There are some packages that use an"
-$   echo "embedded perl interpreter that instead require case-sensitive"
-$   echo "linker symbols."
-$   echo ""
-$   echo "If you have no idea what this means, and do not have"
-$   echo "any program requiring anything, choose the default."
-$   bool_dflt = be_case_sensitive
-$   if f$type(usecasesensitive) .nes. ""
-$   then
-$       if usecasesensitive .or. usecasesensitive .eqs. "define" then bool_dflt = "y"
-$       if f$extract(0,1,f$edit(usecasesensitive,"collapse,upcase")).eqs."N" .or. usecasesensitive .eqs. "undef"  then bool_dflt = "n"
-$   endif
-$   rp = "Build with case-sensitive symbols? [''bool_dflt'] "
-$   GOSUB myread
-$   be_case_sensitive = ans
+$ echo ""
+$ echo "By default, perl (and pretty much everything else on VMS) uses"
+$ echo "case-insensitive linker symbols. Which is to say, when the"
+$ echo "underlying C code makes a call to a routine called Perl_foo in"
+$ echo "the source, the name in the object modules or shareable images"
+$ echo "is really PERL_FOO. There are some packages that use an"
+$ echo "embedded perl interpreter that instead require case-sensitive"
+$ echo "linker symbols."
+$ echo ""
+$ echo "If you have no idea what this means, and do not have"
+$ echo "any program requiring anything, choose the default."
+$ bool_dflt = be_case_sensitive
+$ if f$type(usecasesensitive) .nes. ""
+$ then
+$   if usecasesensitive .or. usecasesensitive .eqs. "define" then bool_dflt = "y"
+$   if f$extract(0,1,f$edit(usecasesensitive,"collapse,upcase")).eqs."N" .or. usecasesensitive .eqs. "undef"  then bool_dflt = "n"
+$ endif
+$ rp = "Build with case-sensitive symbols? [''bool_dflt'] "
+$ GOSUB myread
+$ be_case_sensitive = ans
 $!
 $! Shortened symbols?
 $   echo ""
@@ -2231,30 +2217,25 @@ $   endif
 $   rp = "Build with long symbols shortened? [''bool_dflt'] "
 $   GOSUB myread
 $   shorten_long_symbols = ans
-$ IF F$ELEMENT(0, "-", archname) .NES. "VMS_VAX"
-$ THEN
 $! IEEE math?
-$   echo ""
-$   echo "Perl normally uses IEEE format (T_FLOAT) floating point numbers on"
-$   echo "Alpha and Itanium, but if you need G_FLOAT for binary compatibility"
-$   echo "with an external library or existing data, you may wish to disable"
-$   echo "the IEEE math option."
-$   bool_dflt = use_ieee_math
-$   if f$type(useieee) .nes. "" 
+$ echo ""
+$ echo "Perl normally uses IEEE format (T_FLOAT) floating point numbers on"
+$ echo "Alpha and Itanium, but if you need G_FLOAT for binary compatibility"
+$ echo "with an external library or existing data, you may wish to disable"
+$ echo "the IEEE math option."
+$ bool_dflt = use_ieee_math
+$ if f$type(useieee) .nes. ""
+$ then
+$   if useieee .or. useieee .eqs. "define"
 $   then
-$       if useieee .or. useieee .eqs. "define" 
-$       then 
-$         bool_dflt="y"
-$       else
-$         bool_dflt="n"
-$       endif
+$     bool_dflt="y"
+$   else
+$     bool_dflt="n"
 $   endif
-$   rp = "Use IEEE math? [''bool_dflt'] "
-$   GOSUB myread
-$   use_ieee_math = ans
-$ ELSE
-$   use_ieee_math = "n"
-$ ENDIF
+$ endif
+$ rp = "Use IEEE math? [''bool_dflt'] "
+$ GOSUB myread
+$ use_ieee_math = ans
 $ useieee = "undef"
 $ usecasesensitive = "undef"
 $ useshortenedsymbols = "undef"
@@ -3325,52 +3306,27 @@ $!
 $ perllibs=libs
 $!
 $!
-$ IF F$ELEMENT(0, "-", archname) .NES. "VMS_VAX"
-$ THEN
-$   d_PRId64 = "define"
-$   d_PRIi64 = "define"
-$   d_PRIu64 = "define"
-$   d_PRIo64 = "define"
-$   d_PRIx64 = "define"
-$   d_PRIXU64 = "define"
-$   sPRId64 = """Ld"""
-$   sPRIXU64 = """LX"""
-$   sPRIi64 = """Li"""
-$   sPRIo64 = """Lo"""
-$   sPRIu64 = """Lu"""
-$   sPRIx64 = """Lx"""
-$   d_quad = "define"
-$   quadtype = "long long"
-$   uquadtype = "unsigned long long"
-$   quadkind  = "3"
-$!
-$   d_frexpl = "define"
-$   d_ldexpl = "define"
-$   d_modfl = "define"
-$   d_modflproto = "define"
-$ ELSE
-$   d_PRId64 = "undef"
-$   d_PRIi64 = "undef"
-$   d_PRIXU64 = "undef"
-$   d_PRIu64 = "undef"
-$   d_PRIo64 = "undef"
-$   d_PRIx64 = "undef"
-$   sPRId64 = ""
-$   sPRIXU64 = """lX"""
-$   sPRIi64 = ""
-$   sPRIo64 = ""
-$   sPRIu64 = ""
-$   sPRIx64 = ""
-$   d_quad = "undef"
-$   quadtype = "undef"
-$   uquadtype = "undef"
-$   quadkind  = "undef"
-$!
-$   d_frexpl = "undef"
-$   d_ldexpl = "undef"
-$   d_modfl = "undef"
-$   d_modflproto = "undef"
-$ ENDIF
+$ d_PRId64 = "define"
+$ d_PRIi64 = "define"
+$ d_PRIu64 = "define"
+$ d_PRIo64 = "define"
+$ d_PRIx64 = "define"
+$ d_PRIXU64 = "define"
+$ sPRId64 = """Ld"""
+$ sPRIXU64 = """LX"""
+$ sPRIi64 = """Li"""
+$ sPRIo64 = """Lo"""
+$ sPRIu64 = """Lu"""
+$ sPRIx64 = """Lx"""
+$ d_quad = "define"
+$ quadtype = "long long"
+$ uquadtype = "unsigned long long"
+$ quadkind  = "3"
+$!
+$ d_frexpl = "define"
+$ d_ldexpl = "define"
+$ d_modfl = "define"
+$ d_modflproto = "define"
 $!
 $ IF useieee .OR. useieee .EQS. "define"
 $ THEN
@@ -3661,6 +3617,9 @@ $ IF link_status .NE. good_link
 $ THEN
 $   longdblsize="0"
 $   longdblkind="0"
+$   longdblinfbytes="undef"
+$   longdblnanbytes="undef"
+$   longdblmantbits="undef"
 $   d_longdbl="undef"
 $   echo "You do not have long double."
 $ ELSE
@@ -3669,6 +3628,9 @@ $   echo4 "Checking to see how big your long doubles are..."
 $   GOSUB just_mcr_it
 $   longdblsize = tmp
 $   longdblkind = "1"
+$   longdblinfbytes="0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f"
+$   longdblnanbytes="0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff"
+$   longdblmantbits="112"
 $   d_longdbl = "define"
 $   echo "Your long doubles are ''longdblsize' bytes long."
 $ ENDIF
@@ -5178,7 +5140,7 @@ $! easy to use DCL test to see if hardlinks are enabled on the build
 $! disk.  That would require more work to test, and I am only testing
 $! this on 8.2, so that is why the 8.2 test.
 $!
-$  IF (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX")
+$  IF (vms_ver .GES. "8.2")
 $  THEN
 $   IF f$getdvi("SYS$DISK","HARDLINKS_SUPPORTED")
 $   THEN
@@ -5196,7 +5158,7 @@ $  ENDIF
 $!
 $  IF uselargefiles .OR. uselargefiles .eqs. "define"
 $  THEN
-$    IF (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX")
+$    IF (vms_ver .GES. "8.2")
 $    THEN
 $      echo4 "Largefile support enabled, so enabling standard stat support too."
 $      usestdstat = "y"
@@ -5237,7 +5199,7 @@ $       echo4 "Your system does not support symbolic links."
 $       echo4 "I am disabling symbolic link support."
 $    ENDIF
 $  ELSE
-$    IF (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX")
+$    IF (vms_ver .GES. "8.2")
 $    THEN
 $       echo4 "-Duselargefiles is required for symbolic link support."
 $       echo4 "You did not specify that, so I am disabling symbolic link support."
@@ -5271,25 +5233,22 @@ $  d_ttyname_r = "undef"
 $  ttyname_r_proto = "0"
 $  d_snprintf = "undef"
 $  d_vsnprintf = "undef"
-$  if (vms_ver .GES. "7.3-2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX")
+$  echo "Asumming 64-bit OpenVMS ''vms_ver' -- will build with V7.3-2 routines"
+$  d_getgrgid_r = "define"
+$  getgrgid_r_proto = "1"
+$  d_getgrnam_r = "define"
+$  getgrnam_r_proto = "1"
+$  if d_symlink .or. d_symlink .EQS. "define"
 $  then
-$    echo "Found 64 bit OpenVMS ''vms_ver' -- will build with V7.3-2 routines"
-$    d_getgrgid_r = "define"
-$    getgrgid_r_proto = "1"
-$    d_getgrnam_r = "define"
-$    getgrnam_r_proto = "1"
-$    if d_symlink .or. d_symlink .EQS. "define"
-$    then
 $!      FIXME: Need to find how to activate this.
 $!       d_getpgid = "define"
 $!       d_getpgrp = "define"
-$    endif
-$    d_setgrent = "define"
-$    d_ttyname_r = "define"
-$    ttyname_r_proto = "1"
-$    d_snprintf = "define"
-$    d_vsnprintf = "define"
 $  endif
+$  d_setgrent = "define"
+$  d_ttyname_r = "define"
+$  ttyname_r_proto = "1"
+$  d_snprintf = "define"
+$  d_vsnprintf = "define"
 $!
 $! VMS V7.3-2 powered options
 $! We know that it is only available for V7.3-2 and later on 64 bit platforms.
@@ -5305,7 +5264,7 @@ $  d_setregid = "undef"
 $  d_setreuid = "undef"
 $  d_setsid = "undef"
 $  ! Disable this section for now.
-$!$  if (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX")
+$!$  if (vms_ver .GES. "8.2")
 $  if .NOT. 1
 $  then
 $    echo "Found 64 bit OpenVMS ''vms_ver' -- will build with V7.3-2 UID setting routines"
@@ -5323,7 +5282,7 @@ $!
 $  d_fstatvfs = "undef"
 $  d_statvfs = "undef"
 $  i_sysstatvfs = "undef"
-$  if (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX")
+$  if (vms_ver .GES. "8.2")
 $  then
 $    echo "Found 64 bit OpenVMS ''vms_ver' -- will build with 8.2 routines"
 $    d_fstatvfs = "define"
@@ -5392,10 +5351,7 @@ $ d_index="define"
 $ pidtype="pid_t"
 $ sig_name1="ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE"
 $ sig_name2=" ALRM TERM USR1 USR2 NUM18 NUM19 CHLD CONT STOP TSTP TTIN TTOU DEBUG"
-$ IF (vms_ver .GES. "7.3")
-$ THEN
-$     sig_name2 = sig_name2 + " NUM27 WINCH"
-$ ENDIF
+$ sig_name2 = sig_name2 + " NUM27 WINCH"
 $!* signal.h defines SIGRTMIN as 33 and SIGRTMAX as 64, but there is no 
 $!* sigqueue function or other apparent means to do realtime signalling,
 $!* so let's not try to include the realtime range for now.
@@ -5487,7 +5443,7 @@ $   d_vms_do_sockets="define"
 $   d_htonl="define"
 $   d_socket="define"
 $   d_sockpair = "undef"
-$   if (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX")
+$   if (vms_ver .GES. "8.2")
 $   then
 $     echo "Found 64 bit OpenVMS 8.2, will build with socketpair support"
 $     d_sockpair = "define"
@@ -5569,9 +5525,13 @@ $   i64size="undef"
 $   u64size="undef"
 $ ENDIF
 $!
+$ doublemantbits = "52"
 $ IF uselongdouble .OR. uselongdouble .EQS. "define"
 $ THEN
 $   nvtype="long double"
+$   nvmantbits = longdblmantbits
+$ ELSE
+$   nvmantbits = doublemantbits
 $ ENDIF
 $!
 $ tmp = "''ivtype'"
@@ -6051,7 +6011,7 @@ $ WC "d_fdim='" + d_fdim + "'"
 $ WC "d_fds_bits='define'"
 $ WC "d_fegetround='undef'"
 $ WC "d_fgetpos='define'"
-$ IF F$ELEMENT(0, "-", archname) .NES. "VMS_VAX" .AND. use_ieee_math
+$ IF use_ieee_math
 $ THEN
 $   WC "d_finite='define'"
 $   WC "d_finitel='define'"
@@ -6088,12 +6048,7 @@ $ WC "d_ftime='define'"
 $ WC "d_futimes='undef'"
 $ WC "d_gdbmndbm_h_uses_prototypes='undef'"
 $ WC "d_gdbm_ndbm_h_uses_prototypes='undef'"
-$ IF vms_ver .GES. "7.3"
-$ THEN
-$   WC "d_getaddrinfo='define'"
-$ ELSE
-$   WC "d_getaddrinfo='undef'"
-$ ENDIF
+$ WC "d_getaddrinfo='define'"
 $ WC "d_getcwd='define'"
 $ WC "d_getespwnam='undef'"
 $ WC "d_getfsstat='undef'"
@@ -6108,12 +6063,7 @@ $ WC "d_getitimer='" + d_getitimer + "'"
 $ WC "d_getlogin='define'"
 $ WC "d_getmnt='undef'"
 $ WC "d_getmntent='undef'"
-$ IF vms_ver .GES. "7.3"
-$ THEN
-$   WC "d_getnameinfo='define'"
-$ ELSE
-$   WC "d_getnameinfo='undef'"
-$ ENDIF
+$ WC "d_getnameinfo='define'"
 $ WC "d_getnbyaddr='" + d_getnbyaddr + "'"
 $ WC "d_getnbyname='" + d_getnbyname + "'"
 $ WC "d_getnent='" + d_getnent + "'"
@@ -6472,6 +6422,9 @@ $ WC "dlext='" + dlext + "'"
 $ WC "dlobj='" + dlobj + "'"
 $ WC "dlsrc='dl_vms.xs'"
 $ WC "doublekind='3'"
+$ WC "doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'"
+$ WC "doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'"
+$ WC "doublemantbits='" + doublemantbits + "'"
 $ WC "doublesize='" + doublesize + "'"
 $ WC "drand01='" + drand01 + "'"
 $ WC "dtrace='" + "'"
@@ -6648,6 +6601,9 @@ $ WC "libswanted='" + "'"
 $ WC "libswanted_uselargefiles='" + "'"
 $ WC "longdblsize='" + longdblsize + "'"
 $ WC "longdblkind='" + longdblkind + "'"
+$ WC "longdblinfbytes='" + longdblinfbytes + "'"
+$ WC "longdblnanbytes='" + longdblnanbytes + "'"
+$ WC "longdblmantbits='" + longdblmantbits + "'"
 $ WC "longlongsize='" + longlongsize + "'"
 $ WC "longsize='" + longsize + "'"
 $ IF uselargefiles .OR. uselargefiles .EQS. "define"
@@ -6683,6 +6639,7 @@ $ WC "nvfformat='" + nvfformat + "'"
 $ WC "nvFUformat='" + nvFUformat + "'"
 $ WC "nvgformat='" + nvgformat + "'"
 $ WC "nvGUformat='" + nvGUformat + "'"
+$ WC "nvmantbits='" + nvmantbits + "'"
 $ WC "nvsize='" + nvsize + "'"
 $ WC "nvtype='" + nvtype + "'"
 $ WC "o_nonblock=' '"
@@ -6877,7 +6834,7 @@ $! ## The UNIXy POSIXy reentrantey thingys ##
 $! See "Appendix B, Version-Dependency Tables" in the C RTL
 $! manual for when assorted _r functions became available.
 $!
-$ IF use_threads .AND. vms_ver .GES. "7.2"
+$ IF use_threads
 $ THEN
 $   WC "asctime_r_proto='REENTRANT_PROTO_B_SB'"
 $   WC "d_asctime_r='define'"
@@ -6904,7 +6861,7 @@ $ WC "d_getgrnam_r='" + d_getgrnam_r + "'"
 $ WC "d_gethostbyaddr_r='undef'"
 $ WC "d_gethostbyname_r='undef'"
 $ WC "d_gethostent_r='undef'"
-$ WC "d_getlogin_r='undef'"
+$ WC "d_getlogin_r='define'"
 $ WC "d_getnetbyaddr_r='undef'"
 $ WC "d_getnetbyname_r='undef'"
 $ WC "d_getnetent_r='undef'"
@@ -6953,7 +6910,12 @@ $ WC "getgrnam_r_proto='" + getgrnam_r_proto + "'"
 $ WC "gethostbyaddr_r_proto='0'"
 $ WC "gethostbyname_r_proto='0'"
 $ WC "gethostent_r_proto='0'"
-$ WC "getlogin_r_proto='0'"
+$ IF use_threads
+$ THEN
+$   WC "getlogin_r_proto='REENTRANT_PROTO_I_BW'"
+$ ELSE
+$   WC "getlogin_r_proto='0'"
+$ ENDIF
 $ WC "getnetbyaddr_r_proto='0'"
 $ WC "getnetbyname_r_proto='0'"
 $ WC "getnetent_r_proto='0'"
@@ -7002,12 +6964,12 @@ $     WRITE CONFIG "Gnu_CC:[000000]gcclib.olb/library"
 $   ENDIF
 $   WRITE CONFIG "Sys$Share:VAXCRTL/Share"
 $   CLOSE CONFIG
-$   'ld' munchconfig.obj,munchconfig.opt/opt
+$   'ld'/EXE='exe_ext' munchconfig'obj_ext',munchconfig.opt/opt
 $   DELETE/NOLOG/NOCONFIRM munchconfig.opt;
 $ ELSE
-$   'ld' munchconfig.obj
+$   'ld'/EXE='exe_ext' munchconfig'obj_ext'
 $ ENDIF
-$ IF F$SEARCH("munchconfig.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.obj;
+$ IF F$SEARCH("munchconfig''obj_ext'") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig'obj_ext';
 $ IF F$SEARCH("munchconfig.c") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.c;
 $ IF ccname .EQS. "CXX"
 $ THEN
@@ -7097,7 +7059,7 @@ $ echo4 "Extracting config.h (with variable substitutions)"
 $!
 $! Now build the normal config.h
 $ DEFINE/USER_MODE sys$output [-]config.main
-$ mcr []munchconfig 'config_sh' [-]config_h.sh
+$ mcr []munchconfig'exe_ext' 'config_sh' [-]config_h.sh
 $ ! Concatenate them together
 $ copy [-]config.local,[-]config.main [-]config.h
 $! Clean up
@@ -7186,9 +7148,9 @@ $ close CONFIG
 $!
 $ echo4 "Extracting ''defmakefile' (with variable substitutions)"
 $ DEFINE/USER_MODE sys$output 'UUmakefile'
-$ mcr []munchconfig 'config_sh' 'Makefile_SH' -f extra_subs.txt
+$ mcr []munchconfig'exe_ext' 'config_sh' 'Makefile_SH' -f extra_subs.txt
 $! Clean up after ourselves
-$ DELETE/NOLOG/NOCONFIRM []munchconfig.exe;
+$ DELETE/NOLOG/NOCONFIRM []munchconfig'exe_ext';
 $ DELETE/NOLOG/NOCONFIRM []extra_subs.txt;
 $!
 $! Note that the /key qualifier to search, as in:
@@ -7203,6 +7165,7 @@ $!   NOTE: This file is extracted as part of the VMS configuration process.
 $!   Any changes made to it directly will be lost.  If you need to make any
 $!   changes, please edit the template in Configure.Com instead.
 $!   Use FORCE if you've just podified a README.* file on VMS.
+$ miniperl = f$search("sys$disk:[]miniperl.%xe;") ! could have alternate extension
 $ if f$search("extra.pods") .eqs. "" .or. P1 .eqs. "FORCE" then -
     search README.* "=head"/window=0/output=extra.pods
 $ open/read/error=extra_close EXTRA extra.pods
@@ -7225,7 +7188,7 @@ $       pod_file_rdt = f$cvtime(f$file_attributes(pod_file,"RDT"))
 $       if file_rdt .GTS. pod_file_rdt then do_copy := true
 $     endif
 $     ! wacky method to preserve case on ODS-5 even when parse style is traditional
-$     if do_copy then mcr sys$disk:[]miniperl.exe -e "exit 0+$^E unless File::Copy::rmscopy(q{''file'}, q{''pod_file'});"
+$     if do_copy then mcr 'miniperl' -e "exit 0+$^E unless File::Copy::rmscopy(q{''file'}, q{''pod_file'});"
 $   endif
 $ endif
 $ goto extra_loop