$!
$ dirname = F$EXTRACT(0,F$LOCATE("]",file_2_find),file_2_find) + "]"
$ file_2_find = file_2_find - dirname
+$!
+$! may not need double dot check on ODS-5 volumes
+$ found = F$SEARCH(dirname + file_2_find)
+$ IF found .NES. "" THEN GOTO Read_loop_manifest
+$!
$ dots = 0
$Dot_loop:
$ dot_ele = F$ELEMENT(dots,".",file_2_find)
$ got_api_revision = "false"
$ got_api_version = "false"
$ got_api_subversion = "false"
+$ got_perl_patchlevel= "false"
$ OPEN/READONLY CONFIG 'patchlevel_h'
$Patchlevel_h_loop:
$ READ/END_Of_File=Close_patch/ERROR=Close_patch CONFIG line
$ api_subversion = F$ELEMENT(2," ",line)
$ got_api_subversion = "true"
$ ENDIF
+$ IF ((F$LOCATE("""DEVEL",line).NE.F$LENGTH(line)).AND.(.NOT.got_perl_patchlevel))
+$ THEN
+$ line = F$EDIT(line,"COMPRESS, TRIM")
+$ perl_patchlevel = F$ELEMENT(1,"""",line)
+$ perl_patchlevel = perl_patchlevel - "DEVEL"
+$ got_perl_patchlevel = "true"
+$ ENDIF
$ IF (.NOT. got_patch) .OR. -
(.NOT. got_sub) .OR. -
(.NOT. got_api_revision) .OR. -
(.NOT. got_api_version) .OR. -
- (.NOT. got_api_subversion) -
+ (.NOT. got_api_subversion) .OR. -
+ (.NOT. got_perl_patchlevel) -
THEN GOTO Patchlevel_h_loop
$Close_patch:
$ CLOSE CONFIG
$ api_revision="0"
$ api_version="0"
$ api_subversion="0"
+$ perl_patchlevel="0"
$ ENDIF
-$ IF (F$STRING(subversion) .NES. "0")
+$ version_patchlevel_string = "version ''patchlevel' subversion ''subversion'"
+$ IF got_perl_patchlevel .AND. perl_patchlevel .NES. "0"
$ THEN
-$ echo "(You have ''package' revision ''revision' patchlevel ''patchlevel' subversion ''subversion'.)"
-$ ELSE
-$ echo "(You have ''package' revision ''revision' patchlevel ''patchlevel'.)"
+$ version_patchlevel_string = "''version_patchlevel_string' patch ''perl_patchlevel'"
$ ENDIF
+$ echo "(You have ''package' ''version_patchlevel_string'.)"
$!
$ version = revision + "_" + patchlevel + "_" + subversion
$!
$ bool_dflt = use_ieee_math
$ if f$type(useieee) .nes. ""
$ then
-$ if useieee .or. useieee .eqs. "define" then bool_dflt="y"
+$ if useieee .or. useieee .eqs. "define"
+$ then
+$ bool_dflt="y"
+$ else
+$ bool_dflt="n"
+$ endif
$ endif
$ rp = "Use IEEE math? [''bool_dflt'] "
$ GOSUB myread
$ IF xxx .EQS. "DynaLoader" THEN goto ext_loop ! omit
$ IF xxx .EQS. "SDBM_File/sdbm" THEN goto ext_loop ! sub extension - omit
$ IF xxx .EQS. "Devel/PPPort/harness" THEN goto ext_loop ! sub extension - omit
+$ IF xxx .EQS. "Encode/EUC_JP" THEN goto ext_loop ! sub extension - omit
$ IF F$EXTRACT(0,8,line) .EQS. "vms/ext/" THEN -
xxx = "VMS/" + F$EXTRACT(8,line_len - 20,line)
$ known_extensions = known_extensions + " ''xxx'"
$ ENDIF
$ dlobj="dl_vms''obj_ext'"
$!
-$ cppstdin="''perl_cc'/noobj/preprocess=sys$output sys$input"
+$ cppstdin="''perl_cc'/noobj/comments=as_is/preprocess=sys$output sys$input"
$ cppminus=" "
-$ cpprun="''perl_cc'/noobj/preprocess=sys$output sys$input"
+$ cpprun="''perl_cc'/noobj/comments=as_is/preprocess=sys$output sys$input"
$ cpplast=" "
$!
$ timetype="time_t"
$ WC "cppminus='" + cppminus + "'"
$ WC "cpprun='" + cpprun + "'"
$ WC "cppstdin='" + cppstdin + "'"
+$ IF use64bitint .OR. use64bitint .EQS. "define"
+$ THEN
+$! gcvt() does not work for > 16 decimal places; fallback to sprintf
+$ WC "d_Gconvert='sprintf((b),""%.*" + (nvgformat-"""") + ",(n),(x))'"
+$ ELSE
$ WC "d_Gconvert='my_gconvert(x,n,t,b)'"
+$ ENDIF
$ WC "d_PRIEldbl='" + d_PRIEUldbl + "'"
$ WC "d_PRIFldbl='" + d_PRIFUldbl + "'"
$ WC "d_PRIGldbl='" + d_PRIGUldbl + "'"
$ WC "sSCNfldbl='" + sSCNfldbl + "'"
$ WC "sched_yield='" + sched_yield + "'"
$ WC "scriptdir='" + scriptdir + "'"
+$ WC "scriptdirexp='" + scriptdir + "'" ! use scriptdir for now
$ WC "seedfunc='" + seedfunc + "'"
$ WC "selectminbits='32'"
$ WC "selecttype='" + selecttype + "'"
$ WC "vendorlib_stem='" + "'"
$ WC "vendorlibexp='" + "'"
$ WC "version='" + version + "'"
+$ WC "version_patchlevel_string='" + version_patchlevel_string + "'"
$ WC "vms_cc_type='" + vms_cc_type + "'" ! VMS specific
$ WC "vms_prefix='" + vms_prefix + "'" ! VMS specific
$ WC "vms_ver='" + vms_ver + "'" ! VMS specific
$ CALL Bad_environment "T"
$ CALL Bad_environment "FOO"
$ CALL Bad_environment "EXT"
-$ CALL Bad_environment "SOME_LOGICAL_NAME_NOT_LIKELY"
-$ CALL Bad_environment "DOWN_LOGICAL_NAME_NOT_LIKELY"
$ CALL Bad_environment "TEST" "SYMBOL"
$ IF f$search("config.msg") .eqs. "" THEN echo "OK."
$!
$ ENDIF
$ WRITE CONFIG "$ h2ph == ""'"+"'Perl' ''vms_prefix':[utils]h2ph.com"""
$ WRITE CONFIG "$ h2xs == ""'"+"'Perl' ''vms_prefix':[utils]h2xs.com"""
+$ WRITE CONFIG "$ libnetcfg == ""'"+"'Perl' ''vms_prefix':[utils]libnetcfg.com"""
$ WRITE CONFIG "$!perlcc == ""'"+"'Perl' ''vms_prefix':[utils]perlcc.com"""
$ WRITE CONFIG "$ perlivp == ""'"+"'Perl' ''vms_prefix':[utils]perlivp.com"""
$ WRITE CONFIG "$ splain == ""'"+"'Perl' ''vms_prefix':[utils]splain.com"""
+$ WRITE CONFIG "$ xsubpp == ""'"+"'Perl' ''vms_prefix':[utils]xsubpp.com"""
$ ELSE
$ WRITE CONFIG "$ Perldoc == ""Perl ''vms_prefix':[lib.pod]Perldoc.com -t"""
$ WRITE CONFIG "$ pod2text == ""Perl pod2text"""
$ ENDIF
$ WRITE CONFIG "$ h2ph == ""Perl ''vms_prefix':[utils]h2ph.com"""
$ WRITE CONFIG "$ h2xs == ""Perl ''vms_prefix':[utils]h2xs.com"""
+$ WRITE CONFIG "$ libnetcfg == ""Perl ''vms_prefix':[utils]libnetcfg.com"""
$ WRITE CONFIG "$!perlcc == ""Perl ''vms_prefix':[utils]perlcc.com"""
$ WRITE CONFIG "$ perlivp == ""Perl ''vms_prefix':[utils]perlivp.com"""
$ WRITE CONFIG "$ splain == ""Perl ''vms_prefix':[utils]splain.com"""
+$ WRITE CONFIG "$ xsubpp == ""Perl ''vms_prefix':[utils]xsubpp.com"""
$ ENDIF
$ CLOSE CONFIG
$!
$ ENDIF
$!
$Clean_up:
+$ SET NOON
$ IF (silent)
$ THEN
+$ CLOSE/NOLOG STDOUT
$ DEASSIGN SYS$OUTPUT
-$! DEASSIGN SYS$ERROR
$ ENDIF
-$ IF F$GETJPI("","FILCNT").GT.vms_filcnt THEN CLOSE CONFIG
+$ CLOSE/NOLOG CONFIG
$ IF F$GETJPI("","FILCNT").GT.vms_filcnt
$ THEN WRITE SYS$ERROR "%Config-W-VMS, WARNING: There is a file still open"
$ ENDIF