I found that a default C<@configure "-des"> build on VMS choked on
$d_PRIeldbl and $sPRIeldbl being left in config.h.  I then built
on DUNIX,T64,whatever and saw there under a C<sh Configure -des>
build:

 % grep PRI config.sh | grep ldbl
 d_PRIEldbl='define'
 d_PRIFldbl='define'
 d_PRIGldbl='define'
 d_PRIeldbl='define'
 d_PRIfldbl='define'
 d_PRIgldbl='define'
 sPRIEldbl='"E"'
 sPRIFldbl='"F"'
 sPRIGldbl='"G"'
 sPRIeldbl='"e"'
 sPRIfldbl='"f"'
 sPRIgldbl='"g"'

that was without any 64 bit requests of any sort, hence I copied
those formats into configure.com and since we need for a sPRIEldbl
to be distinct from a sPRIeldbl I introduced a case distinction
by calling the former sPRIEldbl_cap, with similar '_cap' appendices
for the various d_PRI* and sPRI* variables.

Since we do not do any test compiles I suppose that these formats could
run afoul of compiler version incompatabilities so I'd appreciate it if
folks could test this out on a _wide_ variety of compilers before I send
it in as "official" (which is going to be real soon now).  Thanks.

I noted that things like $stdio_stream_array and $mmaptype did not get
substitued in pulling config.h out of config_h.SH.  Note those variables
were set to the emplty string =''.  Hence I think there is a bug in
munchconfig that I work around in this patch for the case of those (rather
inconsequential on VMS) variables until we can fix munchconfig.

I did manage to sneak in the ability to deal with the usedevel variable
via:

    @Configure "-des" "-Dusedevel"

as requested.

With this in 6889 I can build with DECC 6.0 and see the failures of the
two ftmp tests and the hanging of the three st-*.t tests.

--- configure.com.orig  Fri Aug 25 11:15:42 2000
+++ configure.com       Tue Aug 29 17:12:33 2000
@@ -623,7 +623,7 @@
 $ IF (patchlevel_h.NES."")
 $ THEN
 $   SEARCH 'patchlevel_h "define","PERL_VERSION","epoch"/match=and/out=[]ver.out
-$   IF .NOT. usedevel
+$   IF .NOT. usedevel .AND. usedevel .NES. "define"
 $   THEN
 $     OPEN/READ CONFIG []ver.out
 $     READ CONFIG line
@@ -2704,16 +2704,24 @@
 $ IF use64bitint .OR. use64bitint .EQS. "define"
 $ THEN
 $   d_PRId64 = "define"
+$   d_PRIEldbl_cap = "define"
+$   d_PRIFldbl_cap = "define"
+$   d_PRIGldbl_cap = "define"
+$   d_PRIeldbl = "define"
 $   d_PRIfldbl = "define"
 $   d_PRIgldbl = "define"
 $   d_PRIu64 = "define"
 $   d_PRIo64 = "define"
 $   d_PRIx64 = "define"
 $   sPRId64 = """Ld"""
-$!   sPRIeldbl = """Lf"""
+$   sPRIEldbl_cap = """LE"""
+$   sPRIFldbl_cap = """LF"""
+$   sPRIGldbl_cap = """LG"""
+$   sPRIX64_cap = """LX"""
+$   sPRIeldbl = """Le"""
 $   sPRIfldbl = """Lf"""
 $   sPRIgldbl = """Lg"""
-$!   sPRIi64 = """Li"""
+$   sPRIi64 = """Li"""
 $   sPRIo64 = """Lo"""
 $   sPRIu64 = """Lu"""
 $   sPRIx64 = """Lx"""
@@ -2726,16 +2734,25 @@
 $   d_modfl = "define"
 $ ELSE
 $   d_PRId64 = "undef"
+$   d_PRIEldbl_cap = "define"
+$   d_PRIFldbl_cap = "define"
+$   d_PRIGldbl_cap = "define"
+$   d_PRIX64_cap = "undef"
+$   d_PRIeldbl = "define"
 $   d_PRIfldbl = "undef"
 $   d_PRIgldbl = "undef"
 $   d_PRIu64 = "undef"
 $   d_PRIo64 = "undef"
 $   d_PRIx64 = "undef"
 $   sPRId64 = ""
-$!   sPRIeldbl = ""
-$   sPRIfldbl = ""
-$   sPRIgldbl = ""
-$!   sPRIi64 = ""
+$   sPRIEldbl_cap = """E"""
+$   sPRIFldbl_cap = """F"""
+$   sPRIGldbl_cap = """G"""
+$   sPRIX64_cap = """lX"""
+$   sPRIeldbl = """e"""
+$   sPRIfldbl = """f"""
+$   sPRIgldbl = """g"""
+$   sPRIi64 = ""
 $   sPRIo64 = ""
 $   sPRIu64 = ""
 $   sPRIx64 = ""
@@ -4614,6 +4631,11 @@
 $ WC "crosscompile='undef'"
 $ WC "d_Gconvert='my_gconvert(x,n,t,b)'"
 $ WC "d_PRId64='" + d_PRId64 + "'"
+$ WC "d_PRIEldbl='" + d_PRIEldbl_cap + "'"
+$ WC "d_PRIFldbl='" + d_PRIFldbl_cap + "'"
+$ WC "d_PRIGldbl='" + d_PRIGldbl_cap + "'"
+$ WC "d_PRIX64='" + d_PRIX64_cap + "'"
+$ WC "d_PRIeldbl='" + d_PRIeldbl + "'"
 $ WC "d_PRIfldbl='" + d_PRIfldbl + "'"
 $ WC "d_PRIgldbl='" + d_PRIgldbl + "'"
 $ WC "d_PRIo64='" + d_PRIo64 + "'"
@@ -5040,7 +5062,7 @@
 $ WC "malloctype='void *'"
 $ WC "man1ext='rno'"
 $ WC "man3ext='rno'"
-$ WC "mmaptype='" + "'"
+$ WC "mmaptype=' " + "'"
 $ WC "modetype='unsigned int'"
 $ WC "multiarch='undef'"
 $ WC "mydomain='" + mydomain + "'"
@@ -5086,12 +5108,12 @@
 $ WC "ranlib='" + "'"
 $ WC "rd_nodata=' '"
 $ WC "revision='" + revision + "'"
-$! WC "sPRIEldbl='$sPRIEldbl'
-$! WC "sPRIFldbl='$sPRIFldbl'
-$! WC "sPRIGldbl='$sPRIGldbl'
-$! WC "sPRIX64='$sPRIX64'
 $ WC "sPRId64='" + sPRId64 + "'"
-$! WC "sPRIeldbl='" + sPRIeldbl + "'"
+$ WC "sPRIEldbl='" + sPRIEldbl_cap + "'"
+$ WC "sPRIFldbl='" + sPRIFldbl_cap + "'"
+$ WC "sPRIGldbl='" + sPRIGldbl_cap + "'"
+$ WC "sPRIX64='" + sPRIX64_cap + "'"
+$ WC "sPRIeldbl='" + sPRIeldbl + "'"
 $ WC "sPRIfldbl='" + sPRIfldbl + "'"
 $ WC "sPRIgldbl='" + sPRIgldbl + "'"
 $! WC "sPRIi64='" + sPRIi64 + "'"
@@ -5132,7 +5154,7 @@
 $ WC "stdio_bufsiz='((*fp)->_cnt + (*fp)->_ptr - (*fp)->_base)'"
 $ WC "stdio_cnt='((*fp)->_cnt)'"
 $ WC "stdio_ptr='((*fp)->_ptr)'"
-$ WC "stdio_stream_array='" + "'"
+$ WC "stdio_stream_array=' " + "'"
 $ WC "subversion='" + subversion + "'"
 $ WC "timetype='" + timetype + "'"
 $ WC "u16size='" + u16size + "'"
End of Patch.

Peter Prymmer


Reply via email to