$ CLOSE CONFIG
$ ENDIF
$!
+$ IF F$TYPE(usedevel) .EQS. "" THEN usedevel := n
+$ patchlevel_h = F$SEARCH("[-]patchlevel.h")
+$ IF (patchlevel_h.NES."")
+$ THEN
+$ SEARCH 'patchlevel_h "define","PERL_VERSION","epoch"/match=and/out=[]ver.out
+$ IF .NOT. usedevel .AND. usedevel .NES. "define"
+$ THEN
+$ OPEN/READ CONFIG []ver.out
+$ READ CONFIG line
+$ CLOSE CONFIG
+$ tmp = F$EDIT(line,"TRIM,COMPRESS")
+$ xpatchlevel = F$INTEGER(F$ELEMENT(2," ",tmp))
+$ line = xpatchlevel / 2
+$ tmp = xpatchlevel - ( line * 2 )
+$ IF tmp .NE. 0
+$ THEN
+$ echo4 "patchlevel is " + F$STRING(xpatchlevel)
+$ cat4 SYS$INPUT:
+*** WHOA THERE!!! ***
+
+ This is an UNSTABLE DEVELOPMENT release.
+ (The patchlevel, is odd--as opposed to even,
+ and that signifies a development release. If you want a
+ maintenance release, you want an even-numbered release.)
+
+ Do ***NOT*** install this into production use.
+ Data corruption and crashes are possible.
+
+ It is most seriously suggested that you do not continue any further
+ unless you want to help in developing and debugging Perl.
+
+$ dflt="n"
+$ rp="Do you really want to continue? [''dflt'] "
+$ IF (fastread) THEN fastread := FALSE
+$ GOSUB myread
+$ IF ans .EQS. "" THEN ans = dflt
+$ IF ans
+$ THEN
+$ echo4 "Okay, continuing."
+$ ELSE
+$ echo4 "Okay, bye."
+$ DELETE/NOLOG/NOCONFIRM []ver.out;
+$ GOTO Clean_up
+$ STOP
+$ exit 0
+$ ENDIF
+$ ENDIF
+$ DELETE/SYMBOL line
+$ DELETE/SYMBOL tmp
+$ ENDIF
+$ DELETE/NOLOG/NOCONFIRM []ver.out;
+$ ENDIF
$!: general instructions
$ needman = "true"
$ firsttime = "true"
$!: figure out how to guarantee sh startup !sfn
$!: find out where common programs are !sfn
$!loclist="awk/cat/comm/cp/echo/expr/find/grep/ln/ls/mkdir/rm/sed/sort/touch/tr/uniq"
-$!trylist="Mcc/byacc/cpp/csh/date/egrep/less/line/more/nroff/perl/pg/sendmail/test/uname"
+$!trylist="byacc/cpp/csh/date/egrep/less/line/more/nroff/perl/pg/sendmail/test/uname"
$! echo "I don't know where '$file' is, and my life depends on it."
$! echo "Go find a public domain implementation or fix your PATH setting!"
$! echo ""
$ ENDIF
$ IF (i.LT.max) THEN GOTO Config_sh_look
$! genconfig.pl has "osname='VMS'"
-$ osname = F$EDIT(F$GETSYI("NODE_SWTYPE"),"COLLAPSE")
+$ osname = F$EDIT(F$GETSYI("NODE_SWTYPE"),"COLLAPSE")
$ IF (configshfound.EQS."")
$ THEN
$ config_sh = "[-]config.sh" ! the fallback default
$ GOTO Beyond_config_sh
$ ENDIF
$Config_sh_found:
+$ IF F$TYPE(osname) .EQS. "" THEN osname = F$EDIT(F$GETSYI("NODE_SWTYPE"),"COLLAPSE")
$ IF F$TYPE(config_dflt) .EQS. "" THEN config_dflt = "n"
$ rp = "Shall I @ ''config_sh' for default answers? [''config_dflt'] "
$ GOSUB myread
+$ IF ans .EQS. "" THEN ans = config_dflt
$ IF ans
$ THEN
$ echo ""
$ echo ""
$ echo4 "Checking the C run-time library."
$!
-$! SUBCONFIGURE.COM
+$! Former SUBCONFIGURE.COM
$!
$! - build a config.sh for VMS Perl.
$! - use built config.sh to take config_h.SH -> config.h
$ IF use64bitint .OR. use64bitint .EQS. "define"
$ THEN
$ d_PRId64 = "define"
+$ d_PRIEUldbl = "define"
+$ d_PRIFUldbl = "define"
+$ d_PRIGUldbl = "define"
+$ d_PRIeldbl = "define"
$ d_PRIfldbl = "define"
$ d_PRIgldbl = "define"
$ d_PRIu64 = "define"
$ d_PRIo64 = "define"
$ d_PRIx64 = "define"
$ sPRId64 = """Ld"""
-$! sPRIeldbl = """Lf"""
+$ sPRIEUldbl = """LE"""
+$ sPRIFUldbl = """LF"""
+$ sPRIGUldbl = """LG"""
+$ sPRIXU64 = """LX"""
+$ sPRIeldbl = """Le"""
$ sPRIfldbl = """Lf"""
$ sPRIgldbl = """Lg"""
-$! sPRIi64 = """Li"""
+$ sPRIi64 = """Li"""
$ sPRIo64 = """Lo"""
$ sPRIu64 = """Lu"""
$ sPRIx64 = """Lx"""
$ d_modfl = "define"
$ ELSE
$ d_PRId64 = "undef"
+$ d_PRIEUldbl = "define"
+$ d_PRIFUldbl = "define"
+$ d_PRIGUldbl = "define"
+$ d_PRIXU64 = "undef"
+$ d_PRIeldbl = "define"
$ d_PRIfldbl = "undef"
$ d_PRIgldbl = "undef"
$ d_PRIu64 = "undef"
$ d_PRIo64 = "undef"
$ d_PRIx64 = "undef"
$ sPRId64 = ""
-$! sPRIeldbl = ""
-$ sPRIfldbl = ""
-$ sPRIgldbl = ""
-$! sPRIi64 = ""
+$ sPRIEUldbl = """E"""
+$ sPRIFUldbl = """F"""
+$ sPRIGUldbl = """G"""
+$ sPRIXU64 = """lX"""
+$ sPRIeldbl = """e"""
+$ sPRIfldbl = """f"""
+$ sPRIgldbl = """g"""
+$ sPRIi64 = ""
$ sPRIo64 = ""
$ sPRIu64 = ""
$ sPRIx64 = ""
$ d_isnanl = "undef"
$ d_modfl = "undef"
$ ENDIF
+$ d_SCNfldbl = d_PRIfldbl
+$ sSCNfldbl = sPRIfldbl ! expect consistency
$!
$! Now some that we build up
$!
$ WC "crosscompile='undef'"
$ WC "d_Gconvert='my_gconvert(x,n,t,b)'"
$ WC "d_PRId64='" + d_PRId64 + "'"
+$ WC "d_PRIEldbl='" + d_PRIEUldbl + "'"
+$ WC "d_PRIFldbl='" + d_PRIFUldbl + "'"
+$ WC "d_PRIGldbl='" + d_PRIGUldbl + "'"
+$ WC "d_PRIX64='" + d_PRIXU64 + "'"
+$ WC "d_PRIeldbl='" + d_PRIeldbl + "'"
$ WC "d_PRIfldbl='" + d_PRIfldbl + "'"
$ WC "d_PRIgldbl='" + d_PRIgldbl + "'"
$ WC "d_PRIo64='" + d_PRIo64 + "'"
$ WC "d_PRIu64='" + d_PRIu64 + "'"
$ WC "d_PRIx64='" + d_PRIx64 + "'"
+$ WC "d_SCNfldbl='" + d_SCNfldbl + "'"
$ WC "d_access='" + d_access + "'"
$ WC "d_accessx='undef'"
$ WC "d_alarm='define'"
$ WC "d_inetaton='undef'"
$ WC "d_int64_t='" + d_int64_t + "'"
$ WC "d_isascii='define'"
-$ WC "d_isnan='define'"
+$ WC "d_isnan='" + d_isnan + "'"
$ WC "d_isnanl='" + d_isnanl + "'"
$ WC "d_killpg='undef'"
$ WC "d_lchown='undef'"
$ WC "d_socket='" + d_socket + "'"
$ WC "d_socklen_t='" + d_socklen_t + "'"
$ WC "d_sockpair='undef'"
+$ WC "d_socks5_init='undef'"
$ WC "d_sqrtl='define'"
$ WC "d_statblks='undef'"
$ WC "d_statfs_f_flags='undef'"
$ WC "malloctype='void *'"
$ WC "man1ext='rno'"
$ WC "man3ext='rno'"
-$ WC "mmaptype='" + "'"
+$ WC "mmaptype=' " + "'"
$ WC "modetype='unsigned int'"
$ WC "multiarch='undef'"
$ WC "mydomain='" + mydomain + "'"
$ 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='" + sPRIEUldbl + "'"
+$ WC "sPRIFldbl='" + sPRIFUldbl + "'"
+$ WC "sPRIGldbl='" + sPRIGUldbl + "'"
+$ WC "sPRIX64='" + sPRIXU64 + "'"
+$ WC "sPRIeldbl='" + sPRIeldbl + "'"
$ WC "sPRIfldbl='" + sPRIfldbl + "'"
$ WC "sPRIgldbl='" + sPRIgldbl + "'"
$! WC "sPRIi64='" + sPRIi64 + "'"
$ WC "sPRIo64='" + sPRIo64 + "'"
$ WC "sPRIu64='" + sPRIu64 + "'"
$ WC "sPRIx64='" + sPRIx64 + "'"
+$ WC "sSCNfldbl='" + sSCNfldbl + "'"
$ WC "sched_yield='" + sched_yield + "'"
$ WC "seedfunc='" + seedfunc + "'"
$ WC "selectminbits='32'"
$ 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 + "'"
$!++ Build_Ext.Com
$! 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 [.vms]SubConfigure.Com instead.
+$! changes, please edit the template in Configure.Com instead.
$ def = F$Environment("Default")
$ exts1 = F$Edit(p1,"Compress")
$ p2 = F$Edit(p2,"Upcase,Compress,Trim")