$ nonxs_ext = ""
$ nonxs_ext2 = ""
$ vms_default_directory_name = F$ENVIRONMENT("DEFAULT")
-$ max_allowed_dir_depth = 3 ! e.g. [A.B.PERLxxx] not [A.B.C.PERLxxx]
-$! max_allowed_dir_depth = 2 ! e.g. [A.PERLxxx] not [A.B.PERLxxx]
$!
$! Sebastian Bazley's request: close the CONFIG handle with /NOLOG
$! qualifier "just in case" (configure.com is re @ed in a bad state).
$ ENDIF
$ ELSE
$! MANIFEST. has been found and we have set def'ed there.
-$! Time to bail out before it's too late, i.e. too deep.
-$! Depth check is unnecessary on Alpha VMS V7.2++ (even for ODS-2).
-$ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
-$ IF (tmp .GES. "7.2") .AND. (F$GETSYI("HW_MODEL") .GE. 1024) THEN GOTO Beyond_depth_check
-$! Depth check also unnecessary on ODS 5 (or later) file systems.
-$ tmp = F$INTEGER(F$GETDVI(F$ENVIRONMENT("DEFAULT"),"ACPTYPE") - "F11V")
-$ IF (tmp .GE. 5) THEN GOTO Beyond_depth_check
-$ IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("DEFAULT")).nes.".")
-$ THEN
-$ TYPE SYS$INPUT:
-$ DECK
-%Config-E-VMS, ERROR:
- Sorry! It apears as though your perl build sub-directory is already too
- deep into the VMS file system. Please try moving stuff into a shallower
- directory (or altering the "max_allowed_dir_depth" parameter).
-$ EOD
-$ echo4 "ABORTING..."
-$ SET DEFAULT 'vms_default_directory_name' !be kind rewind
-$ STOP
-$ EXIT !2 !$STATUS = "%X00000002" (error)
-$ ENDIF
-$Beyond_depth_check:
+$!
+$ escape_extended_chars: subroutine
+$ string = 'p1' ! It's the name of the symbol
+$ chars_to_escape = p2
+$ sindex = 0
+$ slength = f$length(string)
+$ loop_over_chars:
+$ if sindex .eq. slength then goto end_loop_over_chars
+$ char = f$extract(sindex, 1, string)
+$ if f$locate(char, chars_to_escape) .lt. f$length(chars_to_escape)
+$ then
+$ string = f$extract(0, sindex, string) + "^" + f$extract(sindex, slength, string)
+$ slength = slength + 1 ! we've increased overall length by 1
+$ sindex = sindex + 1 ! don't check the char we just escaped again
+$ endif
+$ sindex = sindex + 1
+$ goto loop_over_chars
+$ end_loop_over_chars:
+$ 'p1' == string
+$!
+$ endsubroutine
$!
$! after finding MANIFEST let's create (but not yet enter) the UU subdirectory
$!
$ file_2_find = F$EXTRACT(0,F$LOCATE(" ",line),line)
$ IF F$LOCATE("/",file_2_find) .NE. F$LENGTH(file_2_find)
$ THEN
+$ escaped_fname == file_2_find
+$ call escape_extended_chars escaped_fname "~!#&\'`()+@{},;[]%^=\"
+$ file_2_find = escaped_fname
$Re_strip_line_manifest:
$ loca = F$LOCATE("/",file_2_find)
$ ante = F$EXTRACT(0,loca,file_2_find)
$ GOSUB List_Parse
$ IF .NOT.silent THEN echo ""
$ echo "Default ""cc"" is ''line' ''archsufx' ''F$GETSYI("VERSION")'"
-$ IF F$LOCATE("VAX",line).NE.F$LENGTH(line)
+$ IF (F$LOCATE("VSI",line).NE.F$LENGTH(line)) -
+ .or.(F$LOCATE("HP",F$EDIT(line,"UPCASE")).NE.F$LENGTH(line)) -
+ .or.(F$LOCATE("Compaq",line).NE.F$LENGTH(line))
$ THEN
-$ IF .NOT.silent
-$ THEN
-$ echo "Will try cc/decc..."
-$ ENDIF
-$ SET NOON
-$ DEFINE/USER_MODE SYS$ERROR NL:
-$ DEFINE/USER_MODE SYS$OUTPUT NL:
-$ cc/decc/NoObj/list=ccvms.lis ccvms.c
-$ tmp = $status
-$ SET ON
-$ IF (silent) THEN GOSUB Shut_up
-$ IF tmp.NE.%X10B90001
-$ THEN
-$ echo "Apparently you don't have that one."
-$ ELSE
-$ GOSUB List_parse
-$ echo "You also have: ''line' ''archsufx' ''F$GETSYI("VERSION")'"
-$ vms_cc_available = vms_cc_available + "cc/decc "
-$ ENDIF
-$ ELSE
-$ IF (F$LOCATE("DEC",line).NE.F$LENGTH(line)).or.(F$LOCATE("Compaq",line).NE.F$LENGTH(line)) -
- .or.(F$LOCATE("HP",F$EDIT(line,"UPCASE")).NE.F$LENGTH(line))
-$ THEN
-$ vms_cc_dflt = "/decc"
-$ vms_cc_available = vms_cc_available + "cc/decc "
-$ ENDIF
+$ vms_cc_dflt = "/decc"
+$ vms_cc_available = vms_cc_available + "cc/decc "
$ ENDIF
$!
$Gcc_initial_check:
$ ans = F$EDIT(ans,"TRIM, COMPRESS, LOWERCASE")
$ Mcc = ans
$ IF (F$LOCATE("dec",ans).NE.F$LENGTH(ans)).or.(F$LOCATE("compaq",ans).NE.F$LENGTH(ans)) -
- .or.(F$LOCATE("hp",ans).NE.F$LENGTH(ans))
+ .or.(F$LOCATE("hp",ans).NE.F$LENGTH(ans)) -
+ .or.(F$LOCATE("vsi",ans).NE.F$LENGTH(ans))
$ THEN
$ Mcc = "cc/decc"
$! CPQ ?
$ IF Mcc.NES.dflt
$ THEN
$ IF F$LOCATE("dec",dflt) .NE. F$LENGTH(dflt) .or. -
- F$LOCATE("compaq",dflt) .NE. F$LENGTH(dflt)
+ F$LOCATE("compaq",dflt) .NE. F$LENGTH(dflt) -
+ .or.(F$LOCATE("vsi",dflt).NE.F$LENGTH(dflt))
$ THEN
$ C_COMPILER_Replace = "CC=cc=''Mcc'"
$ ELSE
$ ELSE
$ usethreads = "undef"
$ ENDIF
+$ ELSE
+$ usethreads = "undef"
$ ENDIF
$ IF F$TYPE(usethreadupcalls) .EQS. "" THEN usethreadupcalls = "undef"
$ IF F$TYPE(usekernelthreads) .EQS. "" THEN usekernelthreads = "undef"
$ d_modfl = "define"
$ d_modflproto = "define"
$!
+$ d_double_has_inf = "undef"
+$ d_double_has_nan = "undef"
+$ d_double_has_negative_zero = "undef"
+$ d_double_has_subnormals = "undef"
+$ d_double_style_cray = "undef"
+$ d_double_style_ibm = "undef"
+$ d_double_style_ieee = "undef"
+$ d_double_style_vax = "undef"
+$ d_long_double_style_ieee = "undef"
+$ d_long_double_style_ieee_extended = "undef"
+$ d_long_double_style_ieee_std = "undef"
+$ d_long_double_style_vax = "undef"
$ IF useieee .OR. useieee .EQS. "define"
$ THEN
+$ d_double_has_inf = "define"
+$ d_double_has_nan = "define"
+$ d_double_has_negative_zero = "define"
+$ d_double_has_subnormals = "define"
+$ d_double_style_ieee = "define"
+$ IF uselongdouble .OR. uselongdouble .EQS. "define"
+$ THEN
+$ d_long_double_style_ieee = "define"
+$! TODO: will the Intel port have ieee_extended for long doubles?
+$ d_long_double_style_ieee_std = "define"
+$ ENDIF
$ d_acosh = "define"
$ d_asinh = "define"
$ d_atanh = "define"
$ d_trunc = "define"
$ d_truncl = "define"
$ ELSE
+$ d_double_style_vax = "define"
+$ IF uselongdouble .OR. uselongdouble .EQS. "define"
+$ THEN
+$ d_long_double_style_vax = "undef" ! VAX format H unlikely
+$ ENDIF
+$ d_acosh = "undef"
$ d_acosh = "undef"
$ d_asinh = "undef"
$ d_atanh = "undef"
$ THEN
$ ivtype = "''i64type'"
$ uvtype = "''u64type'"
-$ ELSE
-$ i64size="undef"
-$ u64size="undef"
$ ENDIF
+$ i64size="8"
+$ u64size="8"
$!
$ doublemantbits = "52"
$ IF uselongdouble .OR. uselongdouble .EQS. "define"
$ tmp = "''ivtype'"
$ GOSUB type_size_check
$ ivsize = tmp
-$ IF use64bitint .OR. use64bitint .EQS. "define" THEN i64size = tmp
$ IF ivtype .eqs. "long"
$ THEN longsize = tmp
$ ELSE
$ tmp = "''uvtype'"
$ GOSUB type_size_check
$ uvsize = tmp
-$ IF use64bitint .OR. use64bitint .EQS. "define" THEN u64size = tmp
$!
$ tmp = "''i8type'"
$ GOSUB type_size_check
$ WC "d_dlsymun='undef'"
$ WC "d_backtrace='undef'"
$ WC "d_dosuid='undef'"
+$ WC "d_double_has_inf='" + d_double_has_inf + "'"
+$ WC "d_double_has_nan='" + d_double_has_nan + "'"
+$ WC "d_double_has_negative_zero='" + d_double_has_negative_zero + "'"
+$ WC "d_double_has_subnormals='" + d_double_has_subnormals + "'"
+$ WC "d_double_style_cray='undef'"
+$ WC "d_double_style_ibm='undef'"
+$ WC "d_double_style_ieee='" + d_double_style_ieee + "'"
+$ WC "d_double_style_vax='" + d_double_style_vax + "'"
$ WC "d_drand48proto='" + d_drand48proto + "'"
$ WC "d_dup2='define'"
$ WC "d_eaccess='undef'"
$ WC "d_log1p='" + d_log1p + "'"
$ WC "d_log2='" + d_log2 + "'"
$ WC "d_logb='" + d_logb + "'"
+$ WC "d_long_double_style_ieee='" + d_long_double_style_ieee + "'"
+$ WC "d_long_double_style_ieee_doubledouble='undef'"
+$ WC "d_long_double_style_ieee_extended='" + d_long_double_style_ieee_extended + "'"
+$ WC "d_long_double_style_ieee_std='" + d_long_double_style_ieee_std + "'"
+$ WC "d_long_double_style_vax='" + d_long_double_style_vax + "'"
$ WC "d_longdbl='" + d_longdbl + "'"
$ WC "d_longlong='" + d_longlong + "'"
$ WC "d_lrint='" + d_lrint + "'"
$ WC "db_version_patch='" + "'"
$ WC "dbgprefix='" + dbgprefix + "'"
$ WC "devtype='" + devtype + "'"
+$ WC "default_inc_excludes_dot='undef'"
$ WC "direntrytype='struct dirent'"
$ WC "dlext='" + dlext + "'"
$ WC "dlobj='" + dlobj + "'"