X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=configure.com;h=2c4f1be9d27daad355650e3cb6d123eaa22e0e37;hb=b050c948e7b63d3513ca9c148115d3ea439bf57f;hp=22678cecfe17e9cbe89093b6fc0b82b5afbcc4a3;hpb=6e26cd357084998649c8fbd38bdc230396a5f168;p=p5sagit%2Fp5-mst-13.2.git diff --git a/configure.com b/configure.com index 22678ce..2c4f1be 100644 --- a/configure.com +++ b/configure.com @@ -1,3 +1,4 @@ +$! OpenVMS configuration procedure for Perl -- do not attempt to run under DOS $ sav_ver = 'F$VERIFY(0)' $! SET VERIFY $! @@ -30,8 +31,6 @@ $! with much valuable help from Charles Bailey & $! the whole VMSPerl crew. $! Extended and messed about with by Dan Sugalski $! -$ sav_ver = F$VERIFY(0) -$! $! VMS-isms we will need: $ echo = "write sys$output " $ cat = "type" @@ -42,7 +41,7 @@ $ ans = "" $ macros = "" $ extra_flags = "" $ user_c_flags = "" -$ use_ieee_math = "n" +$ use_ieee_math = "y" $ be_case_sensitive = "n" $ use_vmsdebug_perl = "n" $ use64bitall = "n" @@ -53,10 +52,20 @@ $ use_two_pot_malloc = "N" $ use_pack_malloc = "N" $ use_debugmalloc = "N" $ ccflags = "" +$ static_ext = "" $ 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). +$! This construct was tested to be not a problem as far back as +$! VMS V5.5-2, hopefully earlier versions are OK as well. +$! +$ CLOSE/NOLOG CONFIG +$! +$! Now keep track of open files +$! $ vms_filcnt = F$GETJPI ("","FILCNT") $! $!: compute my invocation name @@ -125,9 +134,7 @@ $ silent="" $ extractsh="" $ override="" $ knowitall="" -$ Using_Dec_C = "n" -$ Using_Gnu_C = "n" -$ using_cxx = "n" +$ ccname="VAX" $ Dec_C_Version = "" $ cxxversion = "" $ use_threads = "F" @@ -352,7 +359,8 @@ $! $Shut_up: $ IF F$Mode() .eqs. "BATCH" $ THEN -$ STDOUT = F$GetQuI("DISPLAY_JOB","LOG_SPECIFICATION",,"THIS_JOB") +$ STDOUT = F$PARSE(F$GETQUI("DISPLAY_ENTRY", "JOB_NAME"), - + F$GETQUI("DISPLAY_ENTRY", "LOG_SPECIFICATION"), ".LOG") $ WRITE SYS$OUTPUT "Warning: Executing in batch mode. To avoid file locking conflicts," $ WRITE SYS$OUTPUT "output intended for SYS$OUTPUT will be sent to a new version" $ WRITE SYS$OUTPUT STDOUT @@ -419,11 +427,15 @@ $ miss_list = "" $ GOTO Beyond_manifest $ ENDIF $ ELSE -$! MANIFEST. has been found and we have set def'ed there - -$! time to bail out before it's too late. -$ 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 -$ IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("Default")).nes.".") +$! 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 @@ -576,32 +588,87 @@ $! after finding MANIFEST (see above) $!: Configure runs within the UU subdirectory $! $!: compute the number of columns on the terminal for proper question formatting -$! (sfn, will assume 80-ish) +$ IF F$MODE() .EQS. "BATCH" +$! else it winds up being 512 in batch +$ THEN COLUMNS = 80 +$ ELSE COLUMNS = F$GETDVI("SYS$OUTPUT","DEVBUFSIZ") +$ ENDIF +$! "-des" sets SYS$OUTPUT to NL: with a DEVBUFSIZ too large (512 again) +$ IF COLUMNS .GT. 210 THEN COLUMNS = 80 +$! not sure if this would actually be needed - it hopefully will not hurt +$ IF COLUMNS .LT. 40 THEN COLUMNS = 40 $! $!: set up the echo used in my read !sfn $!: now set up to do reads with possible shell escape and default assignment !sfn $ GOTO Beyond_myread $! +$! The sub_rp splitting is intended to handle long symbols such as the dflt for +$! extensions. +$! $myread: $ ans = "" +$ len_rp = F$LENGTH(rp) $ If (fastread) $ Then -$ echo4 "''rp'" +$ IF len_rp .GT. 210 +$ THEN +$ i_rp = 0 +$ fastread_rp_loop: +$ sub_rp = F$EXTRACT(i_rp,COLUMNS,rp) +$ echo4 "''sub_rp'" +$ i_rp = i_rp + COLUMNS +$ IF i_rp .LT. len_rp THEN GOTO fastread_rp_loop +$ ELSE +$ echo4 "''rp'" +$ ENDIF $ Else $ If (.NOT. silent) Then echo "" -$ READ SYS$COMMAND/PROMPT="''rp'" ans +$ IF len_rp .GT. 210 +$ THEN +$ i_rp = 0 +$ firstread_rp_loop: +$ sub_rp = F$EXTRACT(i_rp,COLUMNS,rp) +$ i_rp = i_rp + COLUMNS +$ if i_rp .LT. len_rp THEN echo4 "''sub_rp'" +$ IF i_rp .LT. len_rp THEN GOTO firstread_rp_loop +$ READ SYS$COMMAND/PROMPT="''sub_rp'" ans +$ ELSE +$ READ SYS$COMMAND/PROMPT="''rp'" ans +$ ENDIF $ IF (ans .EQS. "&-d") $ THEN $ echo4 "(OK, I will run with -d after this question.)" $ IF (.NOT. silent) THEN echo "" -$ READ SYS$COMMAND/PROMPT="''rp'" ans +$ IF len_rp .GT. 210 +$ THEN +$ i_rp = 0 +$ secondread_rp_loop: +$ sub_rp = F$EXTRACT(i_rp,COLUMNS,rp) +$ echo4 "''sub_rp'" +$ i_rp = i_rp + COLUMNS +$ IF i_rp .LT. len_rp THEN GOTO secondread_rp_loop +$ READ SYS$COMMAND/PROMPT="''sub_rp'" ans +$ ELSE +$ READ SYS$COMMAND/PROMPT="''rp'" ans +$ ENDIF $ fastread := yes $ ENDIF $ IF (ans .EQS. "&-s") $ THEN $ echo4 "(OK, I will run with -s after this question.)" $ echo "" -$ READ SYS$COMMAND/PROMPT="''rp'" ans +$ IF len_rp .GT. 210 +$ THEN +$ i_rp = 0 +$ thirdread_rp_loop: +$ sub_rp = F$EXTRACT(i_rp,COLUMNS,rp) +$ echo4 "''sub_rp'" +$ i_rp = i_rp + COLUMNS +$ IF i_rp .LT. len_rp THEN GOTO thirdread_rp_loop +$ READ SYS$COMMAND/PROMPT="''sub_rp'" ans +$ ELSE +$ READ SYS$COMMAND/PROMPT="''rp'" ans +$ ENDIF $ silent := true $ GOSUB Shut_up $ ENDIF @@ -1013,6 +1080,9 @@ $!: determine the architecture name $! genconfig.pl has either archname='VMS_AXP' or 'VMS_VAX' $! Note that DCL in VMS V5.4 does not have F$GETSYI("ARCH_NAME") $! but does have F$GETSYI("HW_MODEL"). +$! Please try to use either archname .EQS. "VMS_VAX" or archname .EQS. +$! "VMS_AXP" from here on to allow cross-platform configuration (e.g. +$! configure a VAX build on an Alpha). $! $ IF (F$GETSYI("HW_MODEL") .LT. 1024) $ THEN @@ -1041,11 +1111,8 @@ $ vms_prefix = "perl_root" $ vms_prefixup = F$EDIT(vms_prefix,"UPCASE") $ rp = "Will you be sharing your ''vms_prefixup' with ''otherarch'? [''dflt'] " $ GOSUB myread -$ if ans.NES."" -$ THEN -$ ans = F$EXTRACT(0,1,F$EDIT(ans,"COLLAPSE, UPCASE")) -$ ENDIF -$ IF (ans.NES."Y") +$ if ans .EQS. "" THEN ans = dflt +$ IF .NOT. ans $ THEN $ sharedperl = "N" $ ELSE @@ -1067,7 +1134,8 @@ $ THEN $ prefix = F$ENVIRONMENT("DEFAULT") - ".UU]" + "]" $ prefix = F$PARSE(prefix,,,,"NO_CONCEAL") - "][" - ".;" $ prefixbase = prefix - "]" -$ prefix = prefixbase + ".]" +$! Add _ROOT to make install PERL_ROOT differ from build directory. +$ prefix = prefixbase + "_ROOT.]" $ ENDIF $ src = prefix $!: determine root of directory hierarchy where package will be installed. @@ -1097,6 +1165,22 @@ $! -> ask if removal desired. $! Check here for writability of requested PERL_ROOT if it is not the default (cwd). $! -> recommend letting PERL_ROOT be PERL_SRC if requested PERL_ROOT is not writable. $! +$ IF .NOT. F$GETDVI(perl_root,"MNT") +$ THEN +$ tmp = F$PARSE(perl_root,,,"DEVICE",) +$ echo4 "''tmp' is not mounted." +$ ELSE +$ tmp = perl_root - ".]" + "]" +$ dflt = F$PARSE(tmp,,,,) +$ IF dflt .eqs. "" +$ THEN +$ echo4 "''tmp' does not yet exist." +$! create/directory 'tmp' +$ ELSE +$ echo4 "''tmp' already exists." +$ ENDIF +$ ENDIF +$! $ vms_skip_install = "true" $ dflt = "y" $! echo "" @@ -1134,9 +1218,12 @@ $ ENDIF $! $ ENDIF !%Config-I-VMS, skip remaining "where install" questions $! -$ perl_symbol = "true" -$ perl_verb = "" -$ dflt = "y" +$ IF F$TYPE(perl_symbol) .EQS. "" THEN perl_symbol := true +$ IF F$TYPE(perl_verb) .EQS. "" THEN perl_verb = "" +$ IF perl_symbol +$ THEN dflt = "y" +$ ELSE dflt = "n" +$ ENDIF $ IF .NOT.silent $ THEN $ echo "" @@ -1147,11 +1234,15 @@ $ echo "process or the system wide level." $ ENDIF $ rp = "Invoke perl as a global symbol foreign command? [''dflt'] " $ GOSUB myread -$ IF (.NOT.ans).AND.(ans.NES."") THEN perl_symbol = "false" +$ IF (ans.EQS."") THEN ans = dflt +$ IF (.NOT.ans) THEN perl_symbol = "false" $! $ IF (.NOT.perl_symbol) $ THEN -$ dflt = "y" +$ IF perl_verb .EQS. "DCLTABLES" +$ THEN dflt = "n" +$ ELSE dflt = "y" +$ ENDIF $ IF .NOT.silent $ THEN $ echo "" @@ -1161,7 +1252,8 @@ $ echo "would require write privilege)." $ ENDIF $ rp = "Invoke perl as a per process command verb? [ ''dflt' ] " $ GOSUB myread -$ IF (.NOT.ans).AND.(ans.NES."") +$ IF (ans.EQS."") THEN ans = dflt +$ IF (.NOT.ans) $ THEN perl_verb = "DCLTABLES" $ ELSE perl_verb = "PROCESS" $ ENDIF @@ -1214,12 +1306,20 @@ $ line = F$EDIT(line,"COMPRESS, TRIM") $ api_subversion = F$ELEMENT(2," ",line) $ got_api_subversion = "true" $ ENDIF -$ IF (.NOT.got_patch).OR.(.NOT.got_sub) THEN GOTO Patchlevel_h_loop +$ IF (.NOT. got_patch) .OR. - + (.NOT. got_sub) .OR. - + (.NOT. got_api_revision) .OR. - + (.NOT. got_api_version) .OR. - + (.NOT. got_api_subversion) - + THEN GOTO Patchlevel_h_loop $Close_patch: $ CLOSE CONFIG $ ELSE $ patchlevel="0" $ subversion="0" +$ api_revision="0" +$ api_version="0" +$ api_subversion="0" $ ENDIF $ IF (F$STRING(subversion) .NES. "0") $ THEN @@ -1390,6 +1490,8 @@ $ IF F$TYPE(oldarchlibexp) .EQS. "" THEN - oldarchlibexp="''vms_prefix':[lib.''archname']" $ IF F$TYPE(privlibexp) .EQS. "" THEN - privlibexp ="''vms_prefix':[lib]" +$ IF F$TYPE(scriptdir) .EQS. "" THEN - + scriptdir ="''vms_prefix':[utils]" $ IF F$TYPE(sitearchexp) .EQS. "" THEN - sitearchexp ="''vms_prefix':[lib.site_perl.''archname']" $ IF F$TYPE(sitelib_stem) .EQS. "" THEN - @@ -1595,13 +1697,14 @@ $ Mcc = ans $ IF (F$LOCATE("dec",ans).NE.F$LENGTH(ans)).or.(F$LOCATE("compaq",ans).NE.F$LENGTH(ans)) $ THEN $ Mcc = "cc/decc" -$ Using_Dec_C := Y +$! CPQ ? +$ ccname := DEC $ C_COMPILER_Replace = "CC=cc=''Mcc'" $ ENDIF $ IF F$LOCATE("cxx",F$EDIT(ans,"COLLAPSE,LOWERCASE")) .NE. F$LENGTH(ans) $ THEN $ Mcc = "cxx" -$ using_cxx := Y +$ ccname := CXX $ ld = ld_try $ C_COMPILER_Replace = "CC=cc=''Mcc'" $ ELSE ! Not_cxx @@ -1612,12 +1715,12 @@ $ IF F$LOCATE("dec",dflt) .NE. F$LENGTH(dflt) .or. - $ THEN $ C_COMPILER_Replace = "CC=cc=''Mcc'" $ ELSE -$ Using_Dec_C := Y +$ ccname := DEC $ ENDIF $ ELSE $ IF Mcc .EQS. "cc/decc" $ THEN -$ Using_Dec_C := Y +$ ccname := DEC $ C_COMPILER_Replace = "CC=cc=''Mcc'" $ ENDIF $ ENDIF @@ -1626,18 +1729,18 @@ $ ELSE $ Mcc = dflt $ IF Mcc .EQS. "cc/decc" $ THEN -$ Using_Dec_C := Y +$ ccname := DEC $ C_COMPILER_Replace = "CC=cc=''Mcc'" $ ENDIF $ IF Mcc .EQS. "gcc" $ THEN -$ Using_Gnu_C := Y +$ ccname := GCC $ C_COMPILER_Replace = "CC=cc=''Mcc'" $ ENDIF $ ENDIF $Decc_Version_check: $ ccversion="" -$ IF Using_Dec_C +$ IF ccname .EQS. "DEC" $ THEN $ echo "" $ echo4 "Checking for the Dec C version number..." @@ -1690,7 +1793,7 @@ $ DELETE/NOLOG/NOCONFIRM deccvers.*; $ ENDIF $Gcc_check: $ gccversion = "" -$ IF Using_Gnu_C +$ IF ccname .EQS. "GCC" $ THEN $ vaxcrtl_olb = F$SEARCH("SYS$LIBRARY:VAXCRTL.OLB") $ vaxcrtl_exe = F$SEARCH("SYS$SHARE:VAXCRTL.EXE") @@ -1797,14 +1900,14 @@ $ GOTO Host_name $ ELSE $ echo "You are using GNU cc ''line'" $ gccversion = line -$ Using_Gnu_C := Y +$ ccname := "GCC" $ C_COMPILER_Replace = "CC=cc=''Mcc'" $ GOTO Include_dirs $ ENDIF $ ENDIF $ ENDIF $Cxx_Version_check: -$ IF using_cxx +$ IF ccname .EQS. "CXX" $ THEN $ OPEN/WRITE CONFIG cxxvers.c $ WRITE CONFIG "#include " @@ -1873,7 +1976,7 @@ $! $List_Parse: $ OPEN/READ CONFIG ccvms.lis $ READ CONFIG line -$ IF (F$GETSYI("HW_MODEL") .LT. 1024) +$ IF archname .EQS. "VMS_VAX" $ THEN $ read CONFIG line $ archsufx = "VAX" @@ -1916,6 +2019,10 @@ $ IF myhostname.eqs."".and. - F$TRNLNM("UCX$INET_HOST") .nes. "" .and. - F$TRNLNM("UCX$INET_DOMAIN") .nes. "" THEN - myhostname = F$TRNLNM("UCX$INET_HOST") + "." + F$TRNLNM("UCX$INET_DOMAIN") +$ IF myhostname.eqs."".and. - + F$TRNLNM("TCPIP$INET_HOST") .nes. "" .and. - + F$TRNLNM("TCPIP$INET_DOMAIN") .nes. "" THEN - + myhostname = F$TRNLNM("TCPIP$INET_HOST") + "." + F$TRNLNM("TCPIP$INET_DOMAIN") $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("TCPWARE_DOMAINNAME") $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("NEWS_ADDRESS") $ IF myhostname.eqs."" THEN myhostname = F$TRNLNM("SYS$NODE") - "::" @@ -1969,12 +2076,15 @@ is most probably close to the reality but may not be valid from outside your organization... $ EOD $ ENDIF -$ dflt = "''cf_by'@''myhostname'"+"''mydomain'" -$ rp = "What is your e-mail address? [''dflt'] " -$ GOSUB myread -$ IF ans .nes. "" -$ THEN cf_email = ans -$ ELSE cf_email = dflt +$ IF F$TYPE(cf_email) .EQS. "" +$ THEN +$ dflt = "''cf_by'@''myhostname'"+"''mydomain'" +$ rp = "What is your e-mail address? [''dflt'] " +$ GOSUB myread +$ IF ans .nes. "" +$ THEN cf_email = ans +$ ELSE cf_email = dflt +$ ENDIF $ ENDIF $! $ IF .NOT.silent @@ -2019,7 +2129,7 @@ $!: compute shared library extension $!: Looking for optional libraries $!: see if nm is to be used to determine whether a symbol is defined or not $!: get list of predefined functions in a handy place -$!: see if we have sigaction +$!: see if we have sigaction or sigprocmask $!: see whether socketshr exists $ IF (F$SEARCH(F$PARSE("SocketShr","Sys$Share:.Exe")).NES."") $ THEN @@ -2029,7 +2139,8 @@ $ echo4 "Hmm... Looks like you have SOCKETSHR Berkeley networking support." $ ELSE $ Has_socketshr = "F" $ ENDIF -$ IF (Dec_C_Version .GE. 50200000) .or. using_cxx +$ IF (ccname .EQS. "DEC" .AND. Dec_C_Version .GE. 50200000) .OR. - + (ccname .EQS. "CXX") $ THEN $ Has_Dec_C_Sockets = "T" $ echo "" @@ -2120,7 +2231,11 @@ $! $! Ask if they want to build with 64-bit support $ IF (archname.eqs."VMS_AXP").and.("''f$extract(1,3, f$getsyi(""version""))'".ges."7.1") $ THEN -$ dflt = use64bitint +$ dflt = "n" +$ IF F$TYPE(use64bitint) .NES. "" +$ THEN +$ IF use64bitint .OR. use64bitint .eqs. "define" THEN dflt = "y" +$ ENDIF $ echo "" $ echo "You can have native 64-bit long integers." $ echo "" @@ -2138,30 +2253,37 @@ $ IF ans $ THEN use64bitint="Y" $ ELSE use64bitint="N" $ ENDIF -$ IF (use64bitint) +$! +$ dflt = "n" +$ IF F$TYPE(use64bitall) .NES. "" +$ THEN +$ IF use64bitall .OR. use64bitall .eqs. "define" THEN 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 ''dflt'." +$ rp = "Try to use maximal 64-bit support, if available? [''dflt'] " +$ GOSUB myread +$ IF ans .EQS. "" THEN ans = dflt +$ IF ans +$ THEN use64bitall="Y" +$ ELSE use64bitall="N" +$ ENDIF +$ IF use64bitall .AND. .NOT. use64bitint $ THEN -$ dflt = use64bitall -$ echo "" -$ echo "Since you chose 64-bitness you may want to try maximal 64-bitness." -$ echo "What you have chosen is minimal 64-bitness which means just enough" -$ echo "to get 64-bit integers. The maximal means using as much 64-bitness" -$ echo "as is possible on the platform. This in turn means even more binary" -$ echo "incompatibilities. On the other hand, your platform may not have" -$ echo "any more maximal 64-bitness than what you already have chosen." $ echo "" -$ echo "If this does not make any sense to you, just accept the default ''dflt'." -$ rp = "Try to use full 64-bit support, if available? [''dflt'] " -$ GOSUB myread -$ IF ans .EQS. "" THEN ans = dflt -$ IF ans -$ THEN use64bitall="Y" -$ ELSE use64bitall="N" -$ 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 $ ENDIF ! AXP && >= 7.1 $! $! Ask about threads, if appropriate -$ IF Using_Dec_C .OR. using_cxx +$ IF ccname .EQS. "DEC" .OR. ccname .EQS. "CXX" $ THEN $ echo "" $ echo "This version of Perl can be built with threads. While really nifty," @@ -2243,14 +2365,18 @@ $ IF ans .EQS. "" THEN ans="''dflt'" $ be_case_sensitive = "''ans'" $! IEEE math? $ echo "" -$ echo "Perl normally uses G_FLOAT format floating point numbers" -$ echo "internally, as do most things on VMS. You can, however, build" -$ echo "with IEEE floating point numbers instead if you need to." +$ echo "Perl normally uses IEEE format (T_FLOAT) floating point numbers" +$ echo "internally on Alpha, 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." $ dflt = use_ieee_math $ rp = "Use IEEE math? [''dflt'] " $ GOSUB myread $ IF ans .eqs. "" THEN ans = "''dflt'" $ use_ieee_math = "''ans'" +$ ELSE +$ be_case_sensitive = "n" +$ use_ieee_math = "n" $ ENDIF $! CC Flags $ echo "" @@ -2359,6 +2485,48 @@ $ if ans.eqs."TWO_POT" then use_two_pot_malloc = "Y" $ if ans.eqs."PACK_MALLOC" then use_pack_malloc = "Y" $ ENDIF $! +$ known_extensions = "" +$ xxx = "" +$ OPEN/READ CONFIG 'manifestfound' +$ext_loop: +$ READ/END_OF_FILE=end_ext/ERROR=end_ext CONFIG line +$ IF F$EXTRACT(0,4,line) .NES. "ext/" .AND. - + F$EXTRACT(0,8,line) .NES. "vms/ext/" THEN goto ext_loop +$ line = F$EDIT(line,"COMPRESS") +$ line = F$ELEMENT(0," ",line) +$ line_len = F$LENGTH(line) +$ IF F$EXTRACT(line_len - 12,12,line) .NES. "/Makefile.PL" THEN goto ext_loop +$ IF F$EXTRACT(0,4,line) .EQS. "ext/" THEN - + xxx = F$EXTRACT(4,line_len - 16,line) +$ IF xxx .EQS. "DynaLoader" THEN goto ext_loop ! omit +$ IF xxx .EQS. "SDBM_File/sdbm" 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'" +$ goto ext_loop +$end_ext: +$ close CONFIG +$ DELETE/SYMBOL xxx +$ known_extensions = F$EDIT(known_extensions,"TRIM,COMPRESS") +$ dflt = known_extensions +$ IF ccname .NES. "DEC" .AND. ccname .NES. "CXX" +$ THEN +$ dflt = dflt - "POSIX" ! not with VAX C or GCC +$ ENDIF +$ dflt = dflt - "ByteLoader" ! needs to be ported +$ dflt = dflt - "DB_File" ! needs to be ported +$ dflt = dflt - "GDBM_File" ! needs porting/special library +$ dflt = dflt - "IPC/SysV" ! needs to be ported +$ dflt = dflt - "NDBM_File" ! needs porting/special library +$ dflt = dflt - "ODBM_File" ! needs porting/special library +$ dflt = dflt - "Sys/Syslog" ! needs porting/special library "GDBM_File macro LOG_DEBUG" +$ IF .NOT. Has_socketshr .AND. .NOT. Has_Dec_C_Sockets +$ THEN +$ dflt = dflt - "Socket" ! optional on VMS +$ ENDIF +$ IF .NOT. use_ithreads THEN dflt = dflt - "threads" +$ dflt = F$EDIT(dflt,"TRIM,COMPRESS") +$! $! Ask for their default list of extensions to build $ echo "" $ echo "It is time to specify which modules you want to build into" @@ -2367,51 +2535,10 @@ $ echo "you might, for example, want to build GDBM_File instead of" $ echo "SDBM_File if you have the GDBM library built on your machine." $ echo "" $ echo "Which modules do you want to build into perl?" -$! we need to add Byteloader to this list: -$ dflt = "re Fcntl Encode Errno File::Glob Filter::Util IO Opcode Devel::Peek Devel::DProf Data::Dumper attrs VMS::Stdio VMS::DCLsym B SDBM_File Storable Thread Sys::Hostname" -$ IF Using_Dec_C .OR. using_cxx -$ THEN -$ dflt = dflt + " POSIX" -$ ENDIF $ rp = "[''dflt'] " $ GOSUB myread -$ if ans.eqs."" then ans = "''dflt'" -$ a = "" -$ j = 0 -$ xloop1: -$ x = f$elem(j," ",ans) -$ j = j + 1 -$ if x .eqs. " " then goto exloop1 -$ xloop2: -$ k = f$locate("::",x) -$ if k .ge. f$len(x) then goto exloop2 -$ x = f$extract(0,k,x) + "/" + f$extract(k+2,f$len(x)-2,x) -$ goto xloop2 -$ exloop2: -$ a = a + " " + x -$ goto xloop1 -$ exloop1: -$ ans = f$edit(a,"trim") -$! -$ a = "" -$ j = 0 -$ xloop3: -$ x = f$elem(j," ",dflt) -$ j = j + 1 -$ if x .eqs. " " then goto exloop3 -$ xloop4: -$ k = f$locate("::",x) -$ if k .ge. f$len(x) then goto exloop4 -$ x = f$extract(0,k,x) + "/" + f$extract(k+2,f$len(x)-2,x) -$ goto xloop4 -$ exloop4: -$ a = a + " " + x -$ goto xloop3 -$ exloop3: -$ dflt = f$edit(a,"trim") -$! -$ extensions = "''ans'" -$ known_extensions = "''dflt'" +$ if ans .eqs. "" then ans = "''dflt'" +$ extensions = F$EDIT(ans,"TRIM,COMPRESS") $! $! %Config-I-VMS, determine build/make utility here (make gmake mmk mms) $ echo "" @@ -2594,6 +2721,38 @@ $ GOTO Clean_up $ ENDIF $ ENDIF $! +$! PerlIO abstraction +$! +$ dflt = "y" +$ IF F$TYPE(useperlio) .NES. "" +$ THEN +$ IF useperlio .EQS. "undef" THEN dflt = "n" +$ ENDIF +$ IF .NOT. silent +$ THEN +$ echo "Previous versions of ''package' used the standard IO mechanisms as" +$ TYPE SYS$INPUT: +$ DECK +defined in . Versions 5.003_02 and later of perl allow +alternate IO mechanisms via the PerlIO abstraction layer, but the +stdio mechanism is still available if needed. The abstraction layer +can use AT&T's sfio (if you already have sfio installed) or regular stdio. +Using PerlIO with sfio may cause problems with some extension modules. + +$ EOD +$ echo "If this does not make any sense to you, just accept the default '" + dflt + "'." +$ ENDIF +$ rp = "Use the PerlIO abstraction layer? [''dflt'] " +$ GOSUB myread +$ IF ans .EQS. "" THEN ans = dflt +$ IF ans +$ THEN +$ useperlio = "define" +$ ELSE +$ echo "Ok, doing things the stdio way." +$ useperlio = "undef" +$ ENDIF +$! $ echo "" $ echo4 "Checking the C run-time library." $! @@ -2604,7 +2763,6 @@ $! - use built config.sh to take config_h.SH -> config.h $! - also take vms/descrip_mms.template -> descrip.mms (VMS Makefile) $! vms/Makefile.in -> Makefile. (VMS GNU Makefile?) $! vms/Makefile.SH -> Makefile. (VMS GNU Makefile?) -$! - build make_ext.com extension builder procedure. $! $! Note for folks from other platforms changing things in here: $! @@ -2653,11 +2811,11 @@ $ vms_ver = F$EXTRACT(1,3, osvers) $ IF F$LENGTH(Mcc) .EQ. 0 THEN Mcc := "cc" $ MCC = f$edit(mcc, "UPCASE") $ C_Compiler_Replace := "CC=CC=''Mcc'''ccflags'" -$ IF Using_Dec_C +$ IF ccname .EQS. "DEC" $ THEN $ Checkcc := "''Mcc'/prefix=all" $ ELSE -$ IF using_cxx +$ IF ccname .EQS. "CXX" $ THEN $ Checkcc := cxx $ ELSE @@ -2684,12 +2842,33 @@ $ THEN $ use64bitint = "define" $ uselargefiles = "define" $ uselongdouble = "define" +$ alignbytes="16" $ usemorebits = "define" +$ ivdformat="""Ld""" +$ uvuformat="""Lu""" +$ uvoformat="""Lo""" +$ uvxformat="""Lx""" +$ uvXUformat="""LX""" $ ELSE $ use64bitint = "undef" $ uselargefiles = "undef" $ uselongdouble = "undef" $ usemorebits = "undef" +$ ivdformat="""ld""" +$ uvuformat="""lu""" +$ uvoformat="""lo""" +$ uvxformat="""lx""" +$ uvXUformat="""lX""" +$ ENDIF +$ IF uselongdouble .OR. uselongdouble .EQS. "define" +$ THEN +$ nveformat="""Le""" +$ nvfformat="""Lf""" +$ nvgformat="""Lg""" +$ ELSE +$ nveformat="""e""" +$ nvfformat="""f""" +$ nvgformat="""g""" $ ENDIF $ IF use64bitall .OR. use64bitall .EQS. "define" $ THEN @@ -2702,7 +2881,7 @@ $ usemymalloc=mymalloc $! $ perl_cc=Mcc $! -$ IF (sharedperl .AND. F$GETSYI("HW_MODEL") .GE. 1024) +$ IF (sharedperl .AND. archname .EQS. "VMS_AXP") $ THEN $ obj_ext=".abj" $ so="axe" @@ -2742,7 +2921,7 @@ $ libs="SYS$SHARE:CMA$LIB_SHR.EXE/SHARE SYS$SHARE:CMA$RTL.EXE/SHARE SYS$SHARE: $ ELSE $ libs=" " $ ENDIF -$ IF Using_Dec_C .OR. using_cxx +$ IF ccname .EQS. "DEC" .OR. ccname .EQS. "CXX" $ THEN $ libc="(DECCRTL)" $ ELSE @@ -2767,6 +2946,7 @@ $ d_PRIgldbl = "define" $ d_PRIu64 = "define" $ d_PRIo64 = "define" $ d_PRIx64 = "define" +$ d_PRIXU64 = "define" $ sPRId64 = """Ld""" $ sPRIEUldbl = """LE""" $ sPRIFUldbl = """LF""" @@ -2861,7 +3041,7 @@ $ CS := "close CONFIG" $ DS := "delete/nolog/noconfirm []try.*;*" $ Needs_Opt := N $ good_compile = %X10B90001 -$ IF Using_Gnu_C +$ IF ccname .EQS. "GCC" $ THEN $ open/write OPTCHAN []try.opt $ write OPTCHAN "Gnu_CC:[000000]gcclib.olb/library" @@ -2870,7 +3050,7 @@ $ Close OPTCHAN $ Needs_Opt := Y $ good_compile = %X10000001 $ ENDIF -$ IF using_cxx +$ IF ccname .EQS. "CXX" $ THEN $ good_compile = %X15F60001 $ ENDIF @@ -3534,7 +3714,7 @@ $ WS "#include " $ WS "int main()" $ WS "{" $ WS "char * place;" -$ WS "place = memchr(""foo"", 47, 3)" +$ WS "place = memchr(""foo"", 47, 3);" $ WS "exit(0);" $ WS "}" $ CS @@ -3596,6 +3776,42 @@ $ tmp = "strtoll" $ GOSUB inlibc $ d_strtoll = tmp $! +$! Check for strtoq +$! +$ OS +$ WS "#if defined(__DECC) || defined(__DECCXX)" +$ WS "#include " +$ WS "#endif" +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS "__int64 result;" +$ WS "result = strtoq(""123123"", NULL, 10);" +$ WS "exit(0);" +$ WS "}" +$ CS +$ tmp = "strtoq" +$ GOSUB inlibc +$ d_strtoq = tmp +$! +$! Check for strtoq +$! +$ OS +$ WS "#if defined(__DECC) || defined(__DECCXX)" +$ WS "#include " +$ WS "#endif" +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS "__int64 result;" +$ WS "result = strtoq(""123123"", NULL, 10);" +$ WS "exit(0);" +$ WS "}" +$ CS +$ tmp = "strtoq" +$ GOSUB inlibc +$ d_strtoq = tmp +$! $! Check for strtold $! $ OS @@ -3739,43 +3955,6 @@ $ tmp = "mkstemps" $ GOSUB inlibc $ d_mkstemps = tmp $! -$! Check for iconv -$! -$ OS -$ WS "#if defined(__DECC) || defined(__DECCXX)" -$ WS "#include " -$ WS "#endif" -$ WS "#include " -$ WS "#include " -$ WS "int main()" -$ WS "{" -$ WS " iconv_t cd = (iconv_t)0;" -$ WS " char *inbuf, *outbuf;" -$ WS " size_t inleft, outleft;" -$ WS " iconv(cd, &inbuf, &inleft, &outbuf, &outleft);" -$ WS " exit(0);" -$ WS "}" -$ CS -$ GOSUB link_ok -$ IF compile_status .ne. good_compile -$ THEN -$ d_iconv="undef" -$ i_iconv="undef" -$ ELSE -$ IF link_status .ne. good_link -$ THEN -$ d_iconv="undef" -$ i_iconv="undef" -$ ELSE -$ d_iconv="define" -$ i_iconv="define" -$ ENDIF -$ ENDIF -$ IF i_iconv .eqs. "define" -$ THEN echo4 " found." -$ ELSE echo4 " NOT found." -$ ENDIF -$! $! Check for mkdtemp $! $ OS @@ -3813,6 +3992,43 @@ $ tmp = "setvbuf" $ GOSUB inlibc $ d_setvbuf = tmp $! +$! see if sfio.h is available +$! see if sfio library is available +$! Ok, but do we want to use it. +$! IF F$TYPE(usesfio) .EQS. "" THEN usesfio = "undef" +$! IF val .EQS. "define" +$! THEN +$! IF usesfio .EQS. "define" +$! THEN dflt = "y" +$! ELSE dflt = "n" +$! ENDIF +$! echo "''package' can use the sfio library, but it is experimental." +$! IF useperlio .EQS. "undef" +$! THEN +$! echo "For sfio also the PerlIO abstraction layer is needed." +$! echo "Earlier you said you would not want that." +$! ENDIF +$! rp="You seem to have sfio available, do you want to try using it? [''dflt'] " +$! GOSUB myread +$! IF ans .EQS. "" THEN ans = dflt +$! IF ans +$! THEN +$! echo "Ok, turning on both sfio and PerlIO, then." +$! useperlio="define" +$! val="define" +$! ELSE +$! echo "Ok, avoiding sfio this time. I'll use stdio instead." +$! val="undef" +$! ENDIF +$! ELSE +$! IF usesfio .EQS. "define" +$! THEN +$! echo4 "Sorry, cannot find sfio on this machine." +$! echo4 "Ignoring your setting of usesfio=''usesfio'." +$! val="undef" +$! ENDIF +$! ENDIF +$! $! Check for setenv $! $ OS @@ -4338,7 +4554,7 @@ $ IF compile_status .EQ. good_compile .AND. link_status .EQ. good_link $ THEN $ echo4 "OK, found random()." $ ELSE -$ drand01="(((float)rand())/((float)RAND_MAX))" +$ drand01="(((float)rand())*MY_INV_RAND_MAX)" $ randseedtype = "unsigned" $ seedfunc = "srand" $ echo4 "Yick, looks like I have to use rand()." @@ -4350,7 +4566,7 @@ $ IF F$SEARCH("try.obj").NES."" THEN DELETE/NOLOG/NOCONFIRM try.obj;* $ IF F$SEARCH("try.exe").NES."" THEN DELETE/NOLOG/NOCONFIRM try.exe;* $ IF F$SEARCH("try.opt").NES."" THEN DELETE/NOLOG/NOCONFIRM try.opt;* $ IF F$SEARCH("try.out").NES."" THEN DELETE/NOLOG/NOCONFIRM try.out;* -$ IF using_cxx +$ IF ccname .EQS. "CXX" $ THEN $ CALL Cxx_demangler_cleanup $ ENDIF @@ -4358,7 +4574,7 @@ $! $! Some that are compiler or VMS version sensitive $! $! Gnu C stuff -$ IF Using_Gnu_C +$ IF ccname .EQS. "GCC" $ THEN $ d_attribut="define" $ vms_cc_type="gcc" @@ -4368,12 +4584,14 @@ $ d_attribut="undef" $ ENDIF $! $! Dec C >= 5.2 and VMS ver >= 7.0 -$ IF (Using_Dec_C).AND.(F$INTEGER(Dec_C_Version).GE.50200000).AND.(vms_ver .GES. "7.0") +$ IF (ccname .EQS. "DEC") .AND. - + (F$INTEGER(Dec_C_Version).GE.50200000) .AND. (vms_ver .GES. "7.0") $ THEN $ d_bcmp="define" $ d_gettimeod="define" $ d_uname="define" $ d_sigaction="define" +$ d_sigprocmask="define" $ d_truncate="define" $ d_wait4="define" $ d_index="define" @@ -4386,6 +4604,7 @@ $ sig_name_init = psnwc1 + psnwc2 + psnwc3 $ sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 64"",0" $ sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,64,0" $! perl_sig_num_with_commas=sig_num_init +$ sig_size="36" $ uidtype="uid_t" $ d_pathconf="define" $ d_fpathconf="define" @@ -4397,6 +4616,7 @@ $ d_gettimeod="undef" $ d_bcmp="undef" $ d_uname="undef" $ d_sigaction="undef" +$ d_sigprocmask="undef" $ d_truncate="undef" $ d_wait4="undef" $ d_index="undef" @@ -4407,15 +4627,39 @@ $ sig_name_init = psnwc1 + psnwc2 $ sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17"",0" $ sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0" $! perl_sig_num_with_commas=sig_num_init +$ sig_size="19" $ uidtype="unsigned int" $ d_pathconf="undef" $ d_fpathconf="undef" $ d_sysconf="undef" $ d_sigsetjmp="undef" $ ENDIF +$!: see if tzname[] exists +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main() { extern short tzname[]; printf(""%hd"", tzname[0]); }" +$ CS +$ GOSUB compile_ok +$ IF compile_status .EQ. good_compile +$ THEN +$ d_tzname = "undef" +$ echo4 "tzname[] NOT found." +$ ELSE +$ d_tzname = "define" +$ echo4 "tzname[] found." +$ ENDIF +$ IF F$SEARCH("try.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM try.obj; +$! +$ IF d_gethname .EQS. "undef" .AND. d_uname .EQS. "undef" +$ THEN +$ d_phostname="define" +$ ELSE +$ d_phostname="undef" +$ ENDIF $! $! Dec C alone -$ IF Using_Dec_C +$ IF ccname .EQS. "DEC" $ THEN $ d_mbstowcs="define" $ d_mbtowc="define" @@ -4430,7 +4674,9 @@ $ d_strcoll="define" $ d_strxfrm="define" $ d_wctomb="define" $ i_locale="define" +$ i_langinfo="define" $ d_locconv="define" +$ d_nl_langinfo="define" $ d_setlocale="define" $ vms_cc_type="decc" $ ELSE @@ -4447,11 +4693,13 @@ $ d_strcoll="undef" $ d_strxfrm="undef" $ d_wctomb="undef" $ i_locale="undef" +$ i_langinfo="undef" $ d_locconv="undef" +$ d_nl_langinfo="undef" $ d_setlocale="undef" $ ENDIF $ d_stdio_ptr_lval_sets_cnt="undef" -$ d_stdio_ptr_lval_nochange_cnt="undef" +$ d_stdio_ptr_lval_nochange_cnt="define" $! $! Sockets? $ if Has_Socketshr .OR. Has_Dec_C_Sockets @@ -4476,7 +4724,7 @@ $ d_gethostprotos="define" $ d_getnetprotos="define" $ d_getprotoprotos="define" $ d_getservprotos="define" -$ IF Using_Dec_C .OR. using_cxx +$ IF ccname .EQS. "DEC" .OR. ccname .EQS. "CXX" $ THEN $ socksizetype="unsigned int" $ ELSE @@ -4659,25 +4907,16 @@ $ d_nv_preserves_uv_bits = tmp $ ENDIF $ DELETE/SYMBOL tmp $! -$ ivdformat="""ld""" -$ uvuformat="""lu""" -$ uvoformat="""lo""" -$ uvxformat="""lx""" -$! uselongdouble? -$ nveformat="""e""" -$ nvfformat="""f""" -$ nvgformat="""g""" -$! $! Finally the composite ones. All config $! $ myuname="''osname' ''myname' ''osvers' ''F$EDIT(hwname, "TRIM")'" $! -$ IF Using_Dec_C .AND. (.NOT. using_cxx) +$ IF ccname .EQS. "DEC" $ THEN $ ccflags="/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=''obj_ext'/NoList''ccflags'" $ ENDIF $ i_dirent = "undef" -$ IF using_cxx +$ IF ccname .EQS. "CXX" $ THEN $ i_dirent = "define" $ ccflags="/Include=[]/Standard=ANSI/Prefix=All/Obj=''obj_ext'/NoList''ccflags'" @@ -4685,9 +4924,11 @@ $ ENDIF $ IF use_vmsdebug_perl $ THEN $ optimize="/Debug/NoOpt" +$ ldflags="/Debug/Trace/Map" $ dbgprefix = "DBG" $ ELSE $ optimize= "" +$ ldflags="/NoTrace/NoMap" $ dbgprefix = "" $ ENDIF $! @@ -4712,10 +4953,13 @@ $ WC "" $ WC "CONFIG='true'" $ WC "Makefile_SH='" + Makefile_SH + "'" $ WC "Mcc='" + Mcc + "'" -$! WC "PERL_SUBVERSION='" + subversion + "'" ! VMS specific to descrip_mms.template -$ WC "PERL_VERSION='" + patchlevel + "'" ! VMS specific to descrip_mms.template +$ WC "PERL_REVISION='" + revision + "'" +$ WC "PERL_VERSION='" + patchlevel + "'" +$ WC "PERL_SUBVERSION='" + subversion + "'" +$ WC "PERL_API_VERSION='" + api_version + "'" +$ WC "PERL_API_SUBVERSION='" + api_subversion + "'" $ WC "alignbytes='" + alignbytes + "'" -$ WC "aphostname='" + "'" +$ WC "aphostname='write sys$output f$edit(f$getsyi(\""SCSNODE\""),\""TRIM,LOWERCASE\"")'" $ WC "ar='" + "'" $ WC "archlib='" + archlib + "'" $ WC "archlibexp='" + archlibexp + "'" @@ -4730,6 +4974,7 @@ $ WC "cc='" + perl_cc + "'" $ WC "cccdlflags='" + cccdlflags + "'" $ WC "ccdlflags='" + ccdlflags + "'" $ WC "ccflags='" + ccflags + "'" +$ WC "ccname='" + ccname + "'" $ WC "ccversion='" + ccversion + "'" $ WC "cf_by='" + cf_by + "'" $ WC "cf_email='" + cf_email + "'" @@ -4741,14 +4986,12 @@ $ WC "cpplast='" + cpplast + "'" $ WC "cppminus='" + cppminus + "'" $ WC "cpprun='" + cpprun + "'" $ WC "cppstdin='" + cppstdin + "'" -$ WC "crosscompile='undef'" -$ WC "d__fwalk='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_PRIXU64='" + d_PRIXU64 + "'" +$ WC "d_PRId64='" + d_PRId64 + "'" $ WC "d_PRIeldbl='" + d_PRIeldbl + "'" $ WC "d_PRIfldbl='" + d_PRIfldbl + "'" $ WC "d_PRIgldbl='" + d_PRIgldbl + "'" @@ -4756,6 +4999,7 @@ $ WC "d_PRIo64='" + d_PRIo64 + "'" $ WC "d_PRIu64='" + d_PRIu64 + "'" $ WC "d_PRIx64='" + d_PRIx64 + "'" $ WC "d_SCNfldbl='" + d_SCNfldbl + "'" +$ WC "d__fwalk='undef'" $ WC "d_access='" + d_access + "'" $ WC "d_accessx='undef'" $ WC "d_alarm='define'" @@ -4767,8 +5011,8 @@ $ WC "d_bcmp='" + d_bcmp + "'" $ WC "d_bcopy='" + d_bcopy + "'" $ WC "d_bincompat3='undef'" $ WC "d_bincompat5005='undef'" -$ WC "d_bsdgetpgrp='undef'" $! WC "d_bsdpgrp='undef'" +$ WC "d_bsdgetpgrp='undef'" $ WC "d_bsdsetpgrp='undef'" $ WC "d_bzero='" + d_bzero + "'" $ WC "d_casti32='define'" @@ -4777,12 +5021,14 @@ $ WC "d_charvspr='undef'" $ WC "d_chown='define'" $ WC "d_chroot='undef'" $ WC "d_chsize='undef'" +$ WC "d_class='undef'" $ WC "d_cmsghdr_s='undef'" $ WC "d_const='define'" $ WC "d_crypt='define'" $ WC "d_csh='undef'" $ WC "d_cuserid='define'" $ WC "d_dbl_dig='define'" +$ WC "d_dbminitproto='undef'" $ WC "d_difftime='define'" $ WC "d_dirnamlen='define'" $ WC "d_dlerror='undef'" @@ -4800,15 +5046,23 @@ $ WC "d_endsent='" + d_endsent + "'" $ WC "d_eofnblk='undef'" $ WC "d_eunice='undef'" $ WC "d_fchmod='undef'" +$ WC "d_fchdir='undef'" $ WC "d_fchown='undef'" $ WC "d_fcntl='" + d_fcntl + "'" $ WC "d_fcntl_can_lock='" + d_fcntl_can_lock + "'" $ WC "d_fd_set='" + d_fd_set + "'" $ WC "d_fgetpos='define'" +$ WC "d_finite='undef'" +$ WC "d_finitel='undef'" $ WC "d_flexfnam='define'" $ WC "d_flock='undef'" +$ WC "d_flockproto='undef'" $ WC "d_fork='undef'" +$ WC "d_fp_class='undef'" $ WC "d_fpathconf='" + d_fpathconf + "'" +$ WC "d_fpclass='undef'" +$ WC "d_fpclassify='undef'" +$ WC "d_fpclassl='undef'" $ WC "d_fpos64_t='" + d_fpos64_t + "'" $ WC "d_frexpl='" + d_frexpl + "'" $ WC "d_fs_data_s='undef'" @@ -4818,7 +5072,7 @@ $ WC "d_fstatfs='undef'" $ WC "d_fstatvfs='undef'" $ WC "d_fsync='undef'" $ WC "d_ftello='undef'" -$ WC "d_getcwd='undef'" +$ WC "d_getcwd='define'" $ WC "d_getespwnam='undef'" $ WC "d_getfsstat='undef'" $ WC "d_getgrent='define'" @@ -4828,6 +5082,7 @@ $ WC "d_gethbyname='" + d_gethbyname + "'" $ WC "d_gethent='" + d_gethent + "'" $ WC "d_gethname='" + d_gethname + "'" $ WC "d_gethostprotos='" + d_gethostprotos + "'" +$ WC "d_getitimer='undef'" $ WC "d_getlogin='define'" $ WC "d_getmnt='undef'" $ WC "d_getmntent='undef'" @@ -4857,11 +5112,12 @@ $ WC "d_gnulibc='undef'" $ WC "d_grpasswd='undef'" $ WC "d_hasmntopt='undef'" $ WC "d_htonl='" + d_htonl + "'" -$ WC "d_iconv='" + d_iconv +"'" $ WC "d_index='" + d_index + "'" $ WC "d_inetaton='undef'" $ WC "d_int64_t='" + d_int64_t + "'" $ WC "d_isascii='define'" +$ WC "d_isfinite='undef'" +$ WC "d_isinf='undef'" $ WC "d_isnan='" + d_isnan + "'" $ WC "d_isnanl='" + d_isnanl + "'" $ WC "d_killpg='undef'" @@ -4893,6 +5149,7 @@ $ WC "d_mkstemps='" + d_mkstemps + "'" $ WC "d_mktime='" + d_mktime + "'" $ WC "d_mmap='undef'" $ WC "d_modfl='" + d_modfl + "'" +$ WC "d_modfl_pow32_bug='undef'" $ WC "d_mprotect='undef'" $ WC "d_msg='undef'" $ WC "d_msg_ctrunc='undef'" @@ -4905,6 +5162,7 @@ $ WC "d_msync='undef'" $ WC "d_munmap='undef'" $ WC "d_mymalloc='" + d_mymalloc + "'" $ WC "d_nice='define'" +$ WC "d_nl_langinfo='" + d_nl_langinfo + "'" $ WC "d_nv_preserves_uv='" + d_nv_preserves_uv + "'" $ WC "d_nv_preserves_uv_bits='" + d_nv_preserves_uv_bits + "'" $ WC "d_off64_t='" + d_off64_t + "'" @@ -4915,9 +5173,10 @@ $ WC "d_open3='define'" $ WC "d_pathconf='" + d_pathconf + "'" $ WC "d_pause='define'" $ WC "d_perl_otherlibdirs='undef'" -$ WC "d_phostname='undef'" +$ WC "d_phostname='" + d_phostname + "'" $ WC "d_pipe='define'" $ WC "d_poll='undef'" +$ WC "d_pthread_atfork='undef'" $ WC "d_pthread_yield='" + d_pthread_yield + "'" $ WC "d_pthreads_created_joinable='" + d_pthreads_created_joinable + "'" $ WC "d_pwage='undef'" @@ -4933,6 +5192,7 @@ $ WC "d_quad='" + d_quad + "'" $ WC "d_readdir='define'" $ WC "d_readlink='undef'" $ WC "d_readv='undef'" +$ WC "d_realpath='undef'" $ WC "d_recvmsg='undef'" $ WC "d_rename='define'" $ WC "d_rewinddir='define'" @@ -4940,7 +5200,7 @@ $ WC "d_rmdir='define'" $ WC "d_safebcpy='undef'" $ WC "d_safemcpy='define'" $ WC "d_sanemcmp='define'" -$ WC "d_sbrkproto='undef'" +$ WC "d_sbrkproto='define'" $ WC "d_sched_yield='" + d_sched_yield + "'" $ WC "d_scm_rights='undef'" $ WC "d_seekdir='define'" @@ -4955,6 +5215,7 @@ $ WC "d_seteuid='undef'" $ WC "d_setgrent='undef'" $ WC "d_setgrps='undef'" $ WC "d_sethent='" + d_sethent + "'" +$ WC "d_setitimer='undef'" $ WC "d_setlinebuf='undef'" $ WC "d_setlocale='" + d_setlocale + "'" $ WC "d_setnent='" + d_setnent + "'" @@ -4978,20 +5239,27 @@ $ WC "d_sfio='undef'" $ WC "d_shm='undef'" $ WC "d_shmatprototype='undef'" $ WC "d_sigaction='" + d_sigaction + "'" +$ WC "d_sigprocmask='" + d_sigprocmask + "'" $ WC "d_sigsetjmp='" + d_sigsetjmp + "'" +$ WC "d_sockatmark='undef'" +$ WC "d_sockatmarkproto='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_sresgproto='undef'" +$ WC "d_sresgproto='undef'" +$ WC "d_sresproto='undef'" +$ WC "d_sresuproto='undef'" $ WC "d_statblks='undef'" $ WC "d_statfs_f_flags='undef'" $ WC "d_statfs_s='undef'" $ WC "d_statfsflags='undef'" $ WC "d_stdio_cnt_lval='" + d_stdio_cnt_lval + "'" $ WC "d_stdio_ptr_lval='" + d_stdio_ptr_lval + "'" -$ WC "d_stdio_ptr_lval_sets_cnt='" + d_stdio_ptr_lval_sets_cnt + "'" $ WC "d_stdio_ptr_lval_nochange_cnt='" + d_stdio_ptr_lval_nochange_cnt + "'" +$ WC "d_stdio_ptr_lval_sets_cnt='" + d_stdio_ptr_lval_sets_cnt + "'" $ WC "d_stdio_stream_array='undef'" $ WC "d_stdiobase='" + d_stdiobase + "'" $ WC "d_stdstdio='" + d_stdstdio + "'" @@ -5000,10 +5268,12 @@ $ WC "d_strcoll='" + d_strcoll + "'" $ WC "d_strctcpy='define'" $ WC "d_strerrm='strerror((e),vaxc$errno)'" $ WC "d_strerror='define'" +$ WC "d_strftime='define'" $ WC "d_strtod='define'" $ WC "d_strtol='define'" $ WC "d_strtold='" + d_strtold + "'" $ WC "d_strtoll='" + d_strtoll + "'" +$ WC "d_strtoq='define'" $ WC "d_strtoul='define'" $ WC "d_strtoull='" + d_strtoull + "'" $ WC "d_strtouq='" + d_strtouq + "'" @@ -5011,6 +5281,7 @@ $ WC "d_strxfrm='" + d_strxfrm + "'" $ WC "d_suidsafe='undef'" $ WC "d_symlink='undef'" $ WC "d_syscall='undef'" +$ WC "d_syscallproto='undef'" $ WC "d_sysconf='" + d_sysconf + "'" $ WC "d_syserrlst='undef'" $ WC "d_system='define'" @@ -5020,11 +5291,16 @@ $ WC "d_telldir='define'" $ WC "d_telldirproto='define'" $ WC "d_times='define'" $ WC "d_truncate='" + d_truncate + "'" -$ WC "d_tzname='undef'" +$ WC "d_tzname='" + d_tzname + "'" +$ WC "d_u32align='define'" +$ WC "d_ualarm='undef'" $ WC "d_umask='define'" $ WC "d_uname='" + d_uname + "'" $ WC "d_union_semun='undef'" $ WC "d_unlink_all_versions='undef'" +$ WC "d_unordered='undef'" +$ WC "d_usleep='undef'" +$ WC "d_usleepproto='undef'" $ WC "d_ustat='undef'" $ WC "d_vendorarch='undef'" $ WC "d_vendorlib='undef'" @@ -5050,13 +5326,23 @@ $ WC "dlobj='" + dlobj + "'" $ WC "dlsrc='dl_vms.c'" $ WC "doublesize='" + doublesize + "'" $ WC "drand01='" + drand01 + "'" -$ WC "dynamic_ext='" + extensions + "'" +$! +$! The extensions symbol may be quite long +$! +$ tmp = "dynamic_ext='" + extensions + "'" +$ WC/symbol tmp +$ DELETE/SYMBOL tmp $ WC "eagain=' '" $ WC "ebcdic='undef'" $ WC "embedmymalloc='" + mymalloc + "'" $ WC "eunicefix=':'" $ WC "exe_ext='" + exe_ext + "'" -$ WC "extensions='" + extensions + "'" +$! +$! The extensions symbol may be quite long +$! +$ tmp = "extensions='" + extensions + "'" +$ WC/symbol tmp +$ DELETE/SYMBOL tmp $ WC "fflushNULL='define'" $ WC "fflushall='undef'" $ WC "fpostype='fpos_t'" @@ -5086,10 +5372,12 @@ $ WC "i_dirent='" + i_dirent + "'" $ WC "i_dlfcn='undef'" $ WC "i_fcntl='" + i_fcntl + "'" $ WC "i_float='define'" +$ WC "i_fp='undef'" +$ WC "i_fp_class='undef'" $ WC "i_grp='undef'" -$ WC "i_iconv='" + i_iconv +"'" $ WC "i_ieeefp='undef'" $ WC "i_inttypes='" + i_inttypes + "'" +$ WC "i_langinfo='" + i_langinfo + "'" $ WC "i_libutil='" + i_libutil + "'" $ WC "i_limits='define'" $ WC "i_locale='" + i_locale + "'" @@ -5130,6 +5418,7 @@ $ WC "i_sysparam='undef'" $ WC "i_sysresrc='undef'" $ WC "i_syssecrt='" + i_syssecrt + "'" $ WC "i_sysselct='undef'" +$ WC "i_syssockio='undef'" $ WC "i_sysstat='define'" $ WC "i_sysstatfs='undef'" $ WC "i_sysstatvfs='undef'" @@ -5166,10 +5455,15 @@ $ WC "intsize='" + intsize + "'" $ WC "ivdformat='" + ivdformat + "'" $ WC "ivsize='" + ivsize + "'" $ WC "ivtype='" + ivtype + "'" -$ WC "known_extensions='" + known_extensions + "'" +$! +$! The known_extensions symbol may be quite long +$! +$ tmp = "known_extensions='" + known_extensions + "'" +$ WC/symbol tmp +$ DELETE/SYMBOL tmp $ WC "ld='" + ld + "'" $ WC "lddlflags='/Share'" -$ WC "ldflags='/NoTrace/NoMap'" +$ WC "ldflags='" + ldflags + "'" $ WC "lib_ext='" + lib_ext + "'" $ WC "libc='" + libc + "'" $ WC "libpth='/sys$share /sys$library'" @@ -5246,11 +5540,12 @@ $ WC "sPRIu64='" + sPRIu64 + "'" $ WC "sPRIx64='" + sPRIx64 + "'" $ WC "sSCNfldbl='" + sSCNfldbl + "'" $ WC "sched_yield='" + sched_yield + "'" +$ WC "scriptdir='" + scriptdir + "'" $ WC "seedfunc='" + seedfunc + "'" $ WC "selectminbits='32'" $ WC "selecttype='" + selecttype + "'" $ WC "sh='MCR'" -$ WC "shmattype='" + "'" +$ WC "shmattype='" + " '" $ WC "shortsize='" + shortsize + "'" $ WC "shrplib='define'" $ WC "sig_name='" + sig_name + "'" @@ -5259,6 +5554,7 @@ $ WC/symbol tmp $ DELETE/SYMBOL tmp $ WC "sig_num='" + sig_num + "'" $ WC "sig_num_init='" + sig_num_init + "'" +$ WC "sig_size='" + sig_size + "'" $ WC "signal_t='" + signal_t + "'" $ WC "sitearch='" + sitearch + "'" $ WC "sitearchexp='" + sitearchexp + "'" @@ -5273,7 +5569,7 @@ $ WC "spitshell='write sys$output '" $ WC "src='" + src + "'" $ WC "ssizetype='int'" $ WC "startperl=" + startperl ! This one's special--no enclosing single quotes -$ WC "static_ext='" + "'" +$ WC "static_ext='" + static_ext + "'" $ WC "stdchar='" + stdchar + "'" $ WC "stdio_base='((*fp)->_base)'" $ WC "stdio_bufsiz='((*fp)->_cnt + (*fp)->_ptr - (*fp)->_base)'" @@ -5299,6 +5595,7 @@ $ WC "use5005threads='" + use5005threads + "'" $ WC "use64bitall='" + use64bitall + "'" $ WC "use64bitint='" + use64bitint + "'" $ WC "usedebugging_perl='" + use_debugging_perl + "'" +$ WC "usecrosscompile='undef'" $ WC "usedl='" + usedl + "'" $ WC "useithreads='" + useithreads + "'" $ WC "uselargefiles='" + uselargefiles + "'" @@ -5306,8 +5603,9 @@ $ WC "uselongdouble='" + uselongdouble + "'" $ WC "usemorebits='" + usemorebits + "'" $ WC "usemultiplicity='" + usemultiplicity + "'" $ WC "usemymalloc='" + usemymalloc + "'" -$ WC "useperlio='undef'" +$ WC "useperlio='" + useperlio + "'" $ WC "useposix='false'" +$ WC "usereentrant='undef'" $ WC "usesocks='undef'" $ WC "usethreads='" + usethreads + "'" $ WC "usevfork='true'" @@ -5316,6 +5614,7 @@ $ WC "uvsize='" + uvsize + "'" $ WC "uvtype='" + uvtype + "'" $ WC "uvuformat='" + uvuformat + "'" $ WC "uvxformat='" + uvxformat + "'" +$ WC "uvXUformat='" + uvXUformat + "'" $ WC "vendorarchexp='" + "'" $ WC "vendorlib_stem='" + "'" $ WC "vendorlibexp='" + "'" @@ -5325,7 +5624,7 @@ $ WC "vms_prefix='" + vms_prefix + "'" ! VMS specific $ WC "vms_ver='" + vms_ver + "'" ! VMS specific $ WC "voidflags='15'" $ WC "xs_apiversion='" + version + "'" -$ WC "CONFIGDOTSH='true'" +$ WC "PERL_CONFIG_SH='true'" $! $! ##END WRITE NEW CONSTANTS HERE## $! @@ -5338,7 +5637,7 @@ $ 'Perl_CC' munchconfig.c $ IF Needs_Opt $ THEN $ OPEN/WRITE CONFIG []munchconfig.opt -$ IF Using_Gnu_C +$ IF ccname .EQS. "GCC" $ THEN $ WRITE CONFIG "Gnu_CC:[000000]gcclib.olb/library" $ ENDIF @@ -5351,7 +5650,7 @@ $ 'ld' munchconfig.obj $ ENDIF $ IF F$SEARCH("munchconfig.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.obj; $ IF F$SEARCH("munchconfig.c") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.c; -$ IF using_cxx +$ IF ccname .EQS. "CXX" $ THEN $ CALL Cxx_demangler_cleanup $ ENDIF @@ -5401,7 +5700,7 @@ $ IF use_two_pot_malloc THEN WC "#define TWO_POT_OPTIMIZE" $ IF mymalloc THEN WC "#define EMBEDMYMALLOC" $ IF use_pack_malloc THEN WC "#define PACK_MALLOC" $ IF use_debugmalloc THEN WC "#define DEBUGGING_MSTATS" -$ IF Using_Gnu_C THEN WC "#define GNUC_ATTRIBUTE_CHECK" +$ IF ccname .EQS. "GCC" THEN WC "#define GNUC_ATTRIBUTE_CHECK" $ IF (Has_Dec_C_Sockets) $ THEN $ WC "#define VMS_DO_SOCKETS" @@ -5424,6 +5723,13 @@ $ IF be_case_sensitive THEN WC "#define VMS_WE_ARE_CASE_SENSITIVE" $ IF d_herrno .EQS. "undef" THEN WC "#define NEED_AN_H_ERRNO" $ WC "#define HAS_ENVGETENV" $ WC "#define PERL_EXTERNAL_GLOB" +$ IF archname .EQS. "VMS_VAX" .AND. - + ccname .EQS. "DEC" .AND. - + ccversion .LE. 50390006 +$ THEN +$! Alas this does not help to build Fcntl +$! WC "#define PERL_IGNORE_FPUSIG SIGFPE" +$ ENDIF $ CLOSE CONFIG $! $ echo4 "Doing variable substitutions on .SH files..." @@ -5439,19 +5745,19 @@ $ DELETE/NOLOG [-]CONFIG.MAIN;* $ DELETE/NOLOG [-]CONFIG.LOCAL;* $ DELETE/NOLOG [-]CONFIG.FDL;* $! -$ IF Using_Dec_C +$ IF ccname .EQS. "DEC" $ THEN $ DECC_REPLACE = "DECC=decc=1" $ ELSE $ DECC_REPLACE = "DECC=" $ ENDIF -$ IF using_cxx +$ IF ccname .EQS. "CXX" $ THEN $ DECCXX_REPLACE = "DECCXX=DECCXX=1" $ ELSE $ DECCXX_REPLACE = "DECCXX=" $ ENDIF -$ IF Using_Gnu_C +$ IF ccname .EQS. "GCC" $ THEN $ GNUC_REPLACE = "GNUC=gnuc=1" $ ELSE @@ -5493,6 +5799,7 @@ $ mcr []munchconfig 'config_sh' 'Makefile_SH' "''DECC_REPLACE'" - "''Thread_Live_Dangerously'" "PV=''version'" "FLAGS=FLAGS=''extra_flags'" $! Clean up after ourselves $ DELETE/NOLOG/NOCONFIRM []munchconfig.exe; +$! $ echo4 "Extracting make_ext.com (without variable substitutions)" $ Create Sys$Disk:[-]make_ext.com $ Deck/Dollar="$EndOfTpl$" @@ -5501,17 +5808,31 @@ $! 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. $ def = F$Environment("Default") -$ exts1 = F$Edit(p1,"Compress") -$ p2 = F$Edit(p2,"Upcase,Compress,Trim") -$ If F$Locate("MCR ",p2).eq.0 Then p2 = F$Extract(3,255,p2) -$ miniperl = "$" + F$Search(F$Parse(p2,".Exe")) -$ makeutil = p3 -$ if f$type('p3') .nes. "" then makeutil = 'p3' -$ targ = F$Edit(p4,"Lowercase") +$! p1 - how to invoke miniperl (passed in from descrip.mms) +$ p1 = F$Edit(p1,"Upcase,Compress,Trim") +$ If F$Locate("MCR ",p1).eq.0 Then p1 = F$Extract(3,255,p1) +$ miniperl = "$" + F$Search(F$Parse(p1,".Exe")) +$! p2 - how to invoke local make utility (passed in from descrip.mms) +$ makeutil = p2 +$ if f$type('p2') .nes. "" then makeutil = 'p2' +$! p3 - make target (passed in from descrip.mms) +$ targ = F$Edit(p3,"Lowercase") +$ sts = 1 +$ extensions = "" +$ open/read CONFIG config.sh +$ find_ext_loop: +$ read/end=end_ext_loop CONFIG line +$ if (f$extract(0,12,line) .NES. "extensions='") +$ then goto find_ext_loop +$ else extensions = f$extract(12,f$length(line),line) - "'" +$ endif +$ end_ext_loop: +$ close CONFIG +$ extensions = f$edit(extensions,"TRIM,COMPRESS") $ i = 0 $ next_ext: -$ ext = F$Element(i," ",p1) -$ If ext .eqs. " " Then Goto done +$ ext = f$element(i," ",extensions) +$ If ext .eqs. " " .or. ext .eqs. "" Then Goto done $ Define/User_mode Perl_Env_Tables CLISYM_LOCAL $ miniperl $ deck @@ -5553,6 +5874,49 @@ $ Exit sts $!-- make_ext.com $EndOfTpl$ $! +$! Note that the /key qualifier to search, as in: +$! search README.* "=head"/key=(position=1)/window=0/output=extra.pods +$! is not supported on VMS V5.5-2, hence not used in extra_pods.com. +$! +$ echo4 "Extracting extra_pods.com (without variable substitutions)" +$ Create Sys$Disk:[-]extra_pods.com +$ Deck/Dollar="$EOExtra_Pods$" +$!++ extra_pods.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 Configure.Com instead. +$! Use FORCE if you've just podified a README.* file on VMS. +$ 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 +$extra_loop: +$ read/error=extra_close/END_OF_FILE=extra_close EXTRA file +$ file_type = f$parse(file,,,"TYPE",) - "." +$ if file_type .nes. "VMS" .and. file_type .nes. "vms" +$ then +$ pod_file = "[.pod]perl''file_type'.pod" +$ file = file - "''f$parse(file,,,"VERSION",)'" +$ if p1 .eqs. "CLEAN" +$ then if f$search(pod_file) .nes. "" then delete/log 'pod_file';* +$ else +$ do_copy := false +$ if f$search(pod_file) .eqs. "" +$ then do_copy := true +$ else +$ file_rdt = f$cvtime(f$file_attributes(file,"RDT")) +$ pod_file_rdt = f$cvtime(f$file_attributes(pod_file,"RDT")) +$ if file_rdt .GTS. pod_file_rdt then do_copy := true +$ endif +$ if do_copy then copy/log/noconfirm 'file' 'pod_file' +$ endif +$ endif +$ goto extra_loop +$extra_close: +$ close EXTRA +$ if p1 .eqs. "CLEAN" .and. f$search("extra.pods;-1") .nes. "" then - + purge/nolog extra.pods +$!-- extra_pods.com +$EOExtra_Pods$ $! $! Warn of dangerous symbols or logical names $! @@ -5603,6 +5967,8 @@ $ CALL Bad_environment "LIB" $ 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." $! @@ -5615,7 +5981,7 @@ $ echo "" $ echo4 "The perl.cld file is now being written..." $ OPEN/WRITE CONFIG 'file_2_find' $ ext = ".exe" -$ IF ((sharedperl) .AND. (F$GETSYI("HW_MODEL") .GE. 1024)) THEN ext := .AXE +$ IF (sharedperl .AND. archname .EQS. "VMS_AXP") THEN ext := .AXE $ IF (use_vmsdebug_perl) $ THEN $ WRITE CONFIG "define verb dbgperl" @@ -5688,7 +6054,7 @@ $ ELSE !leave in but commented out (in case setting was from perl :-) $ WRITE CONFIG "$! define SYS$TIMEZONE_DIFFERENTIAL ''tzd'" $ ENDIF $ WRITE CONFIG "$!" -$ WRITE CONFIG "$! Symbols for commonly used scripts:" +$ WRITE CONFIG "$! Symbols for commonly used programs:" $ WRITE CONFIG "$!" $ IF (perl_symbol) $ THEN @@ -5706,6 +6072,7 @@ $ ENDIF $ WRITE CONFIG "$ h2ph == ""'"+"'Perl' ''vms_prefix':[utils]h2ph.com""" $ WRITE CONFIG "$ h2xs == ""'"+"'Perl' ''vms_prefix':[utils]h2xs.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""" $ ELSE $ WRITE CONFIG "$ Perldoc == ""Perl ''vms_prefix':[lib.pod]Perldoc.com -t""" @@ -5722,6 +6089,7 @@ $ ENDIF $ WRITE CONFIG "$ h2ph == ""Perl ''vms_prefix':[utils]h2ph.com""" $ WRITE CONFIG "$ h2xs == ""Perl ''vms_prefix':[utils]h2xs.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""" $ ENDIF $ CLOSE CONFIG @@ -5795,8 +6163,8 @@ $ THEN $ DEASSIGN SYS$OUTPUT $! DEASSIGN SYS$ERROR $ ENDIF -$ IF F$GETJPI("","FILCNT").NE.vms_filcnt THEN CLOSE CONFIG -$ IF F$GETJPI("","FILCNT").NE.vms_filcnt +$ IF F$GETJPI("","FILCNT").GT.vms_filcnt THEN CLOSE CONFIG +$ IF F$GETJPI("","FILCNT").GT.vms_filcnt $ THEN WRITE SYS$ERROR "%Config-W-VMS, WARNING: There is a file still open" $ ENDIF $ dflt = F$ENVIRONMENT("DEFAULT") @@ -5808,6 +6176,5 @@ $ SET PROTECTION=(SYSTEM:RWED,OWNER:RWED) UU.DIR $ DELETE/NOLOG/NOCONFIRM UU.DIR; $ ENDIF $ SET DEFAULT 'vms_default_directory_name' !be kind rewind -$ STOP $ EXIT $!: End of Configure