X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/3f6115a774c1a91bdf4bf9bd8b0b410c510c7b95..399fef93c903aedee05a74de780b57eeeb571b32:/configure.com diff --git a/configure.com b/configure.com index be93b10..e7ea8b9 100644 --- a/configure.com +++ b/configure.com @@ -49,7 +49,7 @@ $ unlink_all_versions = "n" $ builder = "MMK" $ use_vmsdebug_perl = "n" $ use64bitall = "n" -$ use64bitint = "n" +$ use64bitint = "y" $ uselongdouble = "n" $ uselargefiles = "y" $ usestdstat = "n" @@ -66,8 +66,6 @@ $ dynamic_ext = "" $ 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). @@ -144,11 +142,10 @@ $ silent="" $ extractsh="" $ override="" $ knowitall="" -$ ccname="VAX" +$ ccname="DECC" $ Dec_C_Version = "" $ cxxversion = "" $ use_threads = "F" -$ use_5005_threads = "N" $ use_ithreads = "N" $! $!: option parsing @@ -447,28 +444,27 @@ $ 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, 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 $! @@ -511,6 +507,9 @@ $ line = F$EDIT(line,"TRIM, COMPRESS") $ 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) @@ -731,7 +730,7 @@ $ WRITE CONFIG - $ CLOSE CONFIG $ ENDIF $! -$ IF F$TYPE(usedevel) .EQS. "" THEN usedevel := n +$ IF F$TYPE(usedevel) .EQS. "" THEN usedevel = "undef" $ patchlevel_h = F$SEARCH("[-]patchlevel.h") $ IF (patchlevel_h.NES."") $ THEN @@ -927,7 +926,7 @@ $ config_symbols1 ="|installprivlib|installscript|installsitearch|installsitel $ config_symbols2 ="|prefix|privlib|privlibexp|scriptdir|sitearch|sitearchexp|sitebin|sitelib|sitelib_stem|sitelibexp|usecxx|use64bitall|use64bitint|" $ config_symbols3 ="|usecasesensitive|usedefaulttypes|usedevel|useieee|useithreads|uselongdouble|usemultiplicity|usemymalloc|usedebugging_perl|" $ config_symbols4 ="|usesecurelog|usethreads|usevmsdebug|usefaststdio|usemallocwrap|unlink_all_versions|uselargefiles|usesitecustomize|" -$ config_symbols5 ="|buildmake|builder|usethreadupcalls|usekernelthreads|useshortenedsymbols|useversionedarchname" +$ config_symbols5 ="|buildmake|builder|usethreadupcalls|usekernelthreads|useshortenedsymbols|useversionedarchname|default_inc_excludes_dot" $! $ open/read CONFIG 'config_sh' $ rd_conf_loop: @@ -978,7 +977,6 @@ $! $!First time through, eh? I have some defaults handy for the following systems: $! $! EOD -$! echo " ","VMS_VAX" $! echo " ","VMS_AXP" $! echo " ","VMS_IA64" $! : Now look for a hint file osname_osvers, unless one has been @@ -1161,25 +1159,24 @@ $! appendages later depending on configuration options. But we need the $! base name early because not all questions are worth asking on all $! platforms. $! -$! Please use F$ELEMENT(0,"-",archname) .EQS. "VMS_VAX" (or "VMS_AXP" or +$! Please use F$ELEMENT(0,"-",archname) .EQS. "VMS_AXP" (or $! "VMS_IA64") from here on to allow cross-platform configuration (e.g. -$! configure a VAX build on an Alpha). +$! configure a IA64 build on an Alpha). $! $ IF (F$GETSYI("HW_MODEL") .LT. 1024 .AND. F$GETSYI("HW_MODEL") .GT. 0) $ THEN -$ archname = "VMS_VAX" -$ otherarch = "an Alpha or IA64" -$ alignbytes="8" -$ arch_type = "ARCH-TYPE=__VAX__" +$ echo "Sorry, VAX is no longer supported by this Perl version." +$ echo "Please try Perl 5.22 or earlier" +$ exit 44 $ ELSE $ IF (F$GETSYI("ARCH_TYPE") .EQ. 2) $ THEN $ archname = "VMS_AXP" -$ otherarch = "a VAX or IA64" +$ otherarch = "IA64" $ arch_type = "ARCH-TYPE=__AXP__" $ ELSE $ archname = "VMS_IA64" -$ otherarch = "a VAX or Alpha" +$ otherarch = "Alpha" $ arch_type = "ARCH-TYPE=__IA64__" $ ENDIF $ alignbytes="8" @@ -1333,34 +1330,12 @@ $! $ 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: @@ -1493,7 +1468,8 @@ $ THEN $ 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 ? @@ -1510,7 +1486,8 @@ $ ELSE ! Not_cxx $ 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 @@ -1583,11 +1560,8 @@ $ CLOSE CONFIG $ echo "You are using Dec C ''line'" $ ccversion = line $ Dec_C_Version = F$INTEGER(line) -$ IF Dec_C_Version .GE. 60200000 .AND. F$ELEMENT(0, "-", archname) .NES. "VMS_VAX" -$ THEN -$ echo4 "adding /NOANSI_ALIAS qualifier to ccflags." -$ ccflags = ccflags + "/NOANSI_ALIAS" -$ ENDIF +$ echo4 "adding /NOANSI_ALIAS qualifier to ccflags." +$ ccflags = ccflags + "/NOANSI_ALIAS" $ DELETE/NOLOG/NOCONFIRM deccvers.*; $ ENDIF $Gcc_check: @@ -1780,17 +1754,11 @@ $! $List_Parse: $ OPEN/READ CONFIG ccvms.lis $ READ CONFIG line -$ IF F$ELEMENT(0, "-", archname) .EQS. "VMS_VAX" +$ IF F$ELEMENT(0, "-", archname) .EQS. "VMS_AXP" $ THEN -$ read CONFIG line -$ archsufx = "VAX" +$ archsufx = "AXP" $ ELSE -$ IF F$ELEMENT(0, "-", archname) .EQS. "VMS_AXP" -$ THEN -$ archsufx = "AXP" -$ ELSE -$ archsufx = "IA64" -$ ENDIF +$ archsufx = "IA64" $ ENDIF $ CLOSE CONFIG $ line = F$EDIT(line,"TRIM,COMPRESS") @@ -1903,7 +1871,7 @@ $ DECK If you or somebody else will be maintaining perl at your site, please fill in the correct e-mail address here so that they may be contacted if necessary. Currently, the "perlbug" program included with perl -will send mail to this address in addition to perlbug@perl.com. You may +will send mail to this address in addition to perlbug@perl.org. You may enter "none" for no administrator. $ EOD $ ENDIF @@ -2032,18 +2000,9 @@ $ if f$type(useithreads) .nes. "" $ then $ if useithreads .eqs. "undef" then bool_dflt="n" $ endif -$ if f$type(use5005threads) .nes. "" -$ then -$ if use5005threads .or. use5005threads .eqs. "define" -$ then -$ echo "5.005 threads are no longer supported" -$ exit 44 -$ endif -$ endif $ rp = "Use the newer interpreter-based ithreads? [''bool_dflt'] " $ GOSUB myread $ use_ithreads=ans -$ use_5005_threads="N" $ ! Are they on VMS 7.1 or greater? $ IF "''f$extract(1,3, f$getsyi(""version""))'" .GES. "7.1" $ THEN @@ -2064,7 +2023,7 @@ $ THEN $ thread_upcalls = "MTU=MTU=1" $ usethreadupcalls = "define" $ ! Are they on alpha or itanium? -$ IF (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX") .AND. ("''f$extract(1,3, f$getsyi(""version""))'" .GES. "7.2") +$ IF ("''f$extract(1,3, f$getsyi(""version""))'" .GES. "7.2") $ THEN $ echo "" $ echo "Threaded Perl can be linked to use multiple kernel threads on your system." @@ -2088,6 +2047,8 @@ $ ENDIF $ ELSE $ usethreads = "undef" $ ENDIF +$ ELSE +$ usethreads = "undef" $ ENDIF $ IF F$TYPE(usethreadupcalls) .EQS. "" THEN usethreadupcalls = "undef" $ IF F$TYPE(usekernelthreads) .EQS. "" THEN usekernelthreads = "undef" @@ -2117,106 +2078,103 @@ $ ENDIF $ ENDIF $! $! Ask if they want to build with 64-bit support -$ IF (F$ELEMENT(0, "-", archname).NES."VMS_VAX").and.("''f$extract(1,3, f$getsyi(""version""))'".ges."7.1") +$ bool_dflt = "n" +$ IF F$TYPE(use64bitint) .NES. "" $ THEN -$ bool_dflt = "n" -$ IF F$TYPE(use64bitint) .NES. "" -$ THEN -$ IF use64bitint .OR. use64bitint .eqs. "define" THEN bool_dflt = "y" -$ ENDIF -$ echo "" -$ echo "You have natively 64-bit long integers." -$ echo "" -$ echo "Perl can be built to take advantage of 64-bit integer types" -$ echo "on some systems, To do so, Configure can be run with -Duse64bitint." -$ echo "Choosing this option will most probably introduce binary incompatibilities." -$ echo "" -$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'." -$ rp = "Try to use 64-bit integers, if available? [''bool_dflt'] " -$ GOSUB myread -$ use64bitint = ans +$ IF use64bitint .OR. use64bitint .eqs. "define" THEN bool_dflt = "y" +$ ENDIF +$ echo "" +$ echo "You have natively 64-bit long integers." +$ echo "" +$ echo "Perl can be built to take advantage of 64-bit integer types" +$ echo "on some systems, To do so, Configure can be run with -Duse64bitint." +$ echo "Choosing this option will most probably introduce binary incompatibilities." +$ echo "" +$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'." +$ rp = "Try to use 64-bit integers, if available? [''bool_dflt'] " +$ GOSUB myread +$ use64bitint = ans $! -$ bool_dflt = "n" -$ IF F$TYPE(use64bitall) .NES. "" -$ THEN -$ IF use64bitall .OR. use64bitall .eqs. "define" THEN bool_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." +$ bool_dflt = "n" +$ IF F$TYPE(use64bitall) .NES. "" +$ THEN +$ IF use64bitall .OR. use64bitall .eqs. "define" THEN bool_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 '" + bool_dflt + "'." +$ rp = "Try to use maximal 64-bit support, if available? [''bool_dflt'] " +$ GOSUB myread +$ use64bitall=ans +$ IF use64bitall .AND. .NOT. use64bitint +$ THEN $ echo "" -$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'." -$ rp = "Try to use maximal 64-bit support, if available? [''bool_dflt'] " -$ GOSUB myread -$ use64bitall=ans -$ IF use64bitall .AND. .NOT. use64bitint -$ THEN -$ echo "" -$ 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 +$ 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 $! -$ bool_dflt = use64bitall -$ IF F$TYPE(uselargefiles) .NES. "" -$ THEN -$ IF uselargefiles .OR. uselargefiles .eqs. "define" THEN bool_dflt = "y" -$ ENDIF -$ echo "" -$ echo "Perl can be built to understand large files (files larger than 2 gigabytes)" -$ echo "on some systems. To do so, Configure can be run with -Duselargefiles." -$ echo "" -$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'." -$ rp = "Try to understand large files, if available? [''bool_dflt'] " -$ GOSUB myread -$ uselargefiles=ans +$ bool_dflt = use64bitall +$ IF F$TYPE(uselargefiles) .NES. "" +$ THEN +$ IF uselargefiles .OR. uselargefiles .eqs. "define" THEN bool_dflt = "y" +$ ENDIF +$ echo "" +$ echo "Perl can be built to understand large files (files larger than 2 gigabytes)" +$ echo "on some systems. To do so, Configure can be run with -Duselargefiles." +$ echo "" +$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'." +$ rp = "Try to understand large files, if available? [''bool_dflt'] " +$ GOSUB myread +$ uselargefiles=ans $! -$ bool_dflt = "n" -$ IF F$TYPE(uselongdouble) .NES. "" -$ THEN -$ IF uselongdouble .OR. uselongdouble .eqs. "define" THEN bool_dflt = "y" -$ ENDIF -$ echo "" -$ echo "Perl can be built to take advantage of long doubles which" -$ echo "(if available) may give more accuracy and range for floating point numbers." -$ echo "" -$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'." -$ rp = "Try to use long doubles, if available? [''bool_dflt'] " -$ GOSUB myread -$ uselongdouble = ans +$ bool_dflt = "n" +$ IF F$TYPE(uselongdouble) .NES. "" +$ THEN +$ IF uselongdouble .OR. uselongdouble .eqs. "define" THEN bool_dflt = "y" +$ ENDIF +$ echo "" +$ echo "Perl can be built to take advantage of long doubles which" +$ echo "(if available) may give more accuracy and range for floating point numbers." +$ echo "" +$ echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'." +$ rp = "Try to use long doubles, if available? [''bool_dflt'] " +$ GOSUB myread +$ uselongdouble = ans $! -$ ENDIF ! not VAX && >= 7.1 $! $ IF usesitecustomize .OR. usesitecustomize .eqs. "define" $ THEN -$ usesitecustomize = "define" +$ usesitecustomize = "define" $ ELSE -$ usesitecustomize = "undef" +$ usesitecustomize = "undef" $ ENDIF $! $! Case sensitive? -$ echo "" -$ echo "By default, perl (and pretty much everything else on VMS) uses" -$ echo "case-insensitive linker symbols. Which is to say, when the" -$ echo "underlying C code makes a call to a routine called Perl_foo in" -$ echo "the source, the name in the object modules or shareable images" -$ echo "is really PERL_FOO. There are some packages that use an" -$ echo "embedded perl interpreter that instead require case-sensitive" -$ echo "linker symbols." -$ echo "" -$ echo "If you have no idea what this means, and do not have" -$ echo "any program requiring anything, choose the default." -$ bool_dflt = be_case_sensitive -$ if f$type(usecasesensitive) .nes. "" -$ then -$ if usecasesensitive .or. usecasesensitive .eqs. "define" then bool_dflt = "y" -$ if f$extract(0,1,f$edit(usecasesensitive,"collapse,upcase")).eqs."N" .or. usecasesensitive .eqs. "undef" then bool_dflt = "n" -$ endif -$ rp = "Build with case-sensitive symbols? [''bool_dflt'] " -$ GOSUB myread -$ be_case_sensitive = ans +$ echo "" +$ echo "By default, perl (and pretty much everything else on VMS) uses" +$ echo "case-insensitive linker symbols. Which is to say, when the" +$ echo "underlying C code makes a call to a routine called Perl_foo in" +$ echo "the source, the name in the object modules or shareable images" +$ echo "is really PERL_FOO. There are some packages that use an" +$ echo "embedded perl interpreter that instead require case-sensitive" +$ echo "linker symbols." +$ echo "" +$ echo "If you have no idea what this means, and do not have" +$ echo "any program requiring anything, choose the default." +$ bool_dflt = be_case_sensitive +$ if f$type(usecasesensitive) .nes. "" +$ then +$ if usecasesensitive .or. usecasesensitive .eqs. "define" then bool_dflt = "y" +$ if f$extract(0,1,f$edit(usecasesensitive,"collapse,upcase")).eqs."N" .or. usecasesensitive .eqs. "undef" then bool_dflt = "n" +$ endif +$ rp = "Build with case-sensitive symbols? [''bool_dflt'] " +$ GOSUB myread +$ be_case_sensitive = ans $! $! Shortened symbols? $ echo "" @@ -2231,30 +2189,25 @@ $ endif $ rp = "Build with long symbols shortened? [''bool_dflt'] " $ GOSUB myread $ shorten_long_symbols = ans -$ IF F$ELEMENT(0, "-", archname) .NES. "VMS_VAX" -$ THEN $! IEEE math? -$ echo "" -$ echo "Perl normally uses IEEE format (T_FLOAT) floating point numbers on" -$ echo "Alpha and Itanium, 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." -$ bool_dflt = use_ieee_math -$ if f$type(useieee) .nes. "" +$ echo "" +$ echo "Perl normally uses IEEE format (T_FLOAT) floating point numbers on" +$ echo "Alpha and Itanium, 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." +$ bool_dflt = use_ieee_math +$ if f$type(useieee) .nes. "" +$ then +$ if useieee .or. useieee .eqs. "define" $ then -$ if useieee .or. useieee .eqs. "define" -$ then -$ bool_dflt="y" -$ else -$ bool_dflt="n" -$ endif +$ bool_dflt="y" +$ else +$ bool_dflt="n" $ endif -$ rp = "Use IEEE math? [''bool_dflt'] " -$ GOSUB myread -$ use_ieee_math = ans -$ ELSE -$ use_ieee_math = "n" -$ ENDIF +$ endif +$ rp = "Use IEEE math? [''bool_dflt'] " +$ GOSUB myread +$ use_ieee_math = ans $ useieee = "undef" $ usecasesensitive = "undef" $ useshortenedsymbols = "undef" @@ -2517,7 +2470,7 @@ $ EOD $ ENDIF $ IF F$TYPE(privlib) .NES. "" $ THEN dflt = privlib -$ ELSE dflt = "''vms_prefix':[lib]" +$ ELSE dflt = "/''vms_prefix'/lib" $ ENDIF $ rp = "Pathname where the private library files will reside? " $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ") @@ -2586,7 +2539,7 @@ $ EOD $ ENDIF $ IF F$TYPE(archlib) .NES. "" $ THEN dflt = archlib -$ ELSE dflt = privlib - "]" + "." + archname + "." + version + "]" +$ ELSE dflt = privlib + "/" + archname + "/" + version $ ENDIF $ rp = "Where do you want to put the public architecture-dependent libraries? " $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ") @@ -2615,7 +2568,7 @@ $ EOD $ ENDIF $ IF F$TYPE(sitelib) .NES. "" $ THEN dflt = sitelib -$ ELSE dflt = privlib - "]" + ".SITE_PERL]" +$ ELSE dflt = privlib + "/site_perl" $ ENDIF $ rp = "Pathname for the site-specific library files? " $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ") @@ -2633,7 +2586,7 @@ $ EOD $ ENDIF $ IF F$TYPE(sitearch) .NES. "" $ THEN dflt = sitearch -$ ELSE dflt = sitelib - "]" + "." + archname + "]" +$ ELSE dflt = sitelib + "/" + archname $ ENDIF $ rp = "Pathname for the site-specific architecture-dependent library files? " $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ") @@ -2645,7 +2598,6 @@ $! $!: determine where public executables go $ IF F$TYPE(bin) .NES. "" $ THEN dflt = bin -$! ELSE dflt = prefix - ".]" + ".BIN]" $ ELSE dflt = "/''vms_prefix'" $ ENDIF $ rp = "Pathname where the public executables will reside? " @@ -2656,7 +2608,7 @@ $! $!: determine where add-on public executables go $ IF F$TYPE(sitebin) .NES. "" $ THEN dflt = sitebin -$ ELSE dflt = "''vms_prefix':[bin.''archname']" +$ ELSE dflt = "/''vms_prefix'/bin/''archname'" $ ENDIF $ rp = "Pathname where the add-on public executables should be installed? " $ rp = F$FAO("!AS!/!AS",rp,"[ ''dflt' ] ") @@ -2672,58 +2624,58 @@ $!: see what memory models we can support $! $ ELSE ! skipping "where install" questions, we must set some symbols $ IF F$TYPE(archlib).EQS."" THEN - - archlib="''vms_prefix':[lib.''archname'.''version']" + archlib="/''vms_prefix'/lib/''archname'/''version'" $ IF F$TYPE(bin) .EQS. "" THEN - bin="/''vms_prefix'" $ IF F$TYPE(privlib) .EQS. "" THEN - - privlib ="''vms_prefix':[lib]" + privlib ="/''vms_prefix'/lib" $ IF F$TYPE(sitearch) .EQS. "" THEN - - sitearch="''vms_prefix':[lib.site_perl.''archname']" + sitearch="/''vms_prefix'/lib/site_perl/''archname'" $ IF F$TYPE(sitelib) .EQS. "" THEN - - sitelib ="''vms_prefix':[lib.site_perl]" + sitelib ="/''vms_prefix'/lib/site_perl" $ IF F$TYPE(sitebin) .EQS. "" THEN - - sitebin="''vms_prefix':[bin.''archname']" + sitebin="/''vms_prefix'/bin/''archname'" $ ENDIF !%Config-I-VMS, skip "where install" questions $! $! These derived locations can be set whether we've opted to $! skip the where install questions or not. $! $ IF F$TYPE(archlibexp) .EQS. "" THEN - - archlibexp="''vms_prefix':[lib.''archname'.''version']" + archlibexp="/''vms_prefix'/lib/''archname'/''version'" $ IF F$TYPE(binexp) .EQS. "" THEN - - binexp ="''vms_prefix':[000000]" + binexp ="/''vms_prefix'" $ IF F$TYPE(builddir) .EQS. "" THEN - - builddir ="''vms_prefix':[000000]" + builddir ="/''vms_prefix'" $ IF F$TYPE(installarchlib) .EQS. "" THEN - - installarchlib="''vms_prefix':[lib.''archname'.''version']" + installarchlib="/''vms_prefix'/lib/''archname'/''version'" $ IF F$TYPE(installbin) .EQS. "" THEN - - installbin ="''vms_prefix':[000000]" + installbin ="/''vms_prefix'" $ IF F$TYPE(installscript) .EQS. "" THEN - - installscript ="''vms_prefix':[utils]" + installscript ="/''vms_prefix'/utils" $ IF F$TYPE(installman1dir) .EQS. "" THEN - - installman1dir ="''vms_prefix':[man.man1]" + installman1dir ="/''vms_prefix'/man/man1" $ IF F$TYPE(installman3dir) .EQS. "" THEN - - installman3dir ="''vms_prefix':[man.man3]" + installman3dir ="/''vms_prefix'/man/man3" $ IF F$TYPE(installprivlib) .EQS. "" THEN - - installprivlib ="''vms_prefix':[lib]" + installprivlib ="/''vms_prefix'/lib" $ IF F$TYPE(installsitearch) .EQS. "" THEN - - installsitearch="''vms_prefix':[lib.site_perl.''archname']" + installsitearch="/''vms_prefix'/lib/site_perl/''archname'" $ IF F$TYPE(installsitelib) .EQS. "" THEN - - installsitelib ="''vms_prefix':[lib.site_perl]" + installsitelib ="/''vms_prefix'/lib/site_perl" $ IF F$TYPE(oldarchlib) .EQS. "" THEN - - oldarchlib="''vms_prefix':[lib.''archname']" + oldarchlib="/''vms_prefix'/lib/''archname'" $ IF F$TYPE(oldarchlibexp) .EQS. "" THEN - - oldarchlibexp="''vms_prefix':[lib.''archname']" + oldarchlibexp="/''vms_prefix'/lib/''archname'" $ IF F$TYPE(privlibexp) .EQS. "" THEN - - privlibexp ="''vms_prefix':[lib]" + privlibexp ="/''vms_prefix'/lib" $ IF F$TYPE(scriptdir) .EQS. "" THEN - - scriptdir ="''vms_prefix':[utils]" + scriptdir ="/''vms_prefix'/utils" $ IF F$TYPE(sitearchexp) .EQS. "" THEN - - sitearchexp ="''vms_prefix':[lib.site_perl.''archname']" + sitearchexp ="/''vms_prefix'/lib/site_perl/''archname'" $ IF F$TYPE(sitelib_stem) .EQS. "" THEN - - sitelib_stem ="''vms_prefix':[lib.site_perl]" + sitelib_stem ="/''vms_prefix'/lib/site_perl" $ IF F$TYPE(sitelibexp) .EQS. "" THEN - - sitelibexp ="''vms_prefix':[lib.site_perl]" + sitelibexp ="/''vms_prefix'/lib/site_perl" $! $! determine whether to use malloc wrapping $ echo "" @@ -2904,6 +2856,7 @@ $ THEN $ dflt = dflt - "Socket" ! optional on VMS $ ENDIF $ dflt = dflt - "Win32API/File" - "Win32" ! need Dave Cutler's other project +$ dflt = dflt - "Amiga/ARexx" - "Amiga/Exec" ! this is not AmigaOS $ nonxs_ext = nonxs_ext - "Win32CORE" $ nonxs_ext2 = nonxs_ext2 - "Win32CORE" $ dflt = F$EDIT(dflt,"TRIM,COMPRESS") @@ -3056,6 +3009,27 @@ $ rp="What pager is used on your system? [''dflt'] " $ GOSUB myread $ pager = ans $! +$ bool_dflt = "y" +$ IF F$TYPE(default_inc_excludes_dot) .NES. "" +$ THEN +$ IF .not. default_inc_excludes_dot .or. default_inc_excludes_dot .eqs. "undef" THEN bool_dflt = "n" +$ ENDIF +$ echo "" +$ echo "Historically Perl has provided a final fallback of the current working" +$ echo "directory '.' when searching for a library. This, however, can lead to" +$ echo "problems when a Perl program which loads optional modules is called from" +$ echo "a shared directory. This can lead to executing unexpected code." +$ echo "" +$ rp = "Exclude '.' from @INC by default? [''bool_dflt'] " +$ GOSUB myread +$ default_inc_excludes_dot = ans +$ IF default_inc_excludes_dot +$ THEN +$ default_inc_excludes_dot = "define" +$ ELSE +$ default_inc_excludes_dot = "undef" +$ ENDIF +$! $! update makefile here $! echo4 "Updating makefile..." $! @@ -3313,7 +3287,6 @@ $ THEN d_mymalloc="define" $ ELSE d_mymalloc="undef" $ ENDIF $! -$ usedevel="undef" $ usedl="define" $ startperl="""$ perl 'f$env(\""procedure\"")' \""'"+"'p1'\"" \""'"+"'p2'\"" \""'"+"'p3'\"" \""'"+"'p4'\"" \""'"+"'p5'\"" \""'"+"'p6'\"" \""'"+"'p7'\"" \""'"+"'p8'\""!\n" $ startperl=startperl + "$ exit++ + ++$status!=0 and $exit=$status=undef; while($#ARGV != -1 and $ARGV[$#ARGV] eq '"+"'){pop @ARGV;}""" @@ -3326,73 +3299,134 @@ $! $ perllibs=libs $! $! -$ IF F$ELEMENT(0, "-", archname) .NES. "VMS_VAX" -$ THEN -$ d_PRId64 = "define" -$ d_PRIi64 = "define" -$ d_PRIu64 = "define" -$ d_PRIo64 = "define" -$ d_PRIx64 = "define" -$ d_PRIXU64 = "define" -$ sPRId64 = """Ld""" -$ sPRIXU64 = """LX""" -$ sPRIi64 = """Li""" -$ sPRIo64 = """Lo""" -$ sPRIu64 = """Lu""" -$ sPRIx64 = """Lx""" -$ d_quad = "define" -$ quadtype = "long long" -$ uquadtype = "unsigned long long" -$ quadkind = "3" -$! -$ d_frexpl = "define" -$ d_ldexpl = "define" -$ d_modfl = "define" -$ d_modflproto = "define" -$ ELSE -$ d_PRId64 = "undef" -$ d_PRIi64 = "undef" -$ d_PRIXU64 = "undef" -$ d_PRIu64 = "undef" -$ d_PRIo64 = "undef" -$ d_PRIx64 = "undef" -$ sPRId64 = "" -$ sPRIXU64 = """lX""" -$ sPRIi64 = "" -$ sPRIo64 = "" -$ sPRIu64 = "" -$ sPRIx64 = "" -$ d_quad = "undef" -$ quadtype = "undef" -$ uquadtype = "undef" -$ quadkind = "undef" -$! -$ d_frexpl = "undef" -$ d_ldexpl = "undef" -$ d_modfl = "undef" -$ d_modflproto = "undef" -$ ENDIF -$! +$ d_PRId64 = "define" +$ d_PRIi64 = "define" +$ d_PRIu64 = "define" +$ d_PRIo64 = "define" +$ d_PRIx64 = "define" +$ d_PRIXU64 = "define" +$ sPRId64 = """Ld""" +$ sPRIXU64 = """LX""" +$ sPRIi64 = """Li""" +$ sPRIo64 = """Lo""" +$ sPRIu64 = """Lu""" +$ sPRIx64 = """Lx""" +$ d_quad = "define" +$ quadtype = "long long" +$ uquadtype = "unsigned long long" +$ quadkind = "3" +$! +$ d_frexpl = "define" +$ d_ldexpl = "define" +$ 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_isnan = "define" -$ d_isnanl = "define" +$ 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_cbrt = "define" +$ d_copysign = "define" +$ d_erf = "define" +$ d_erfc = "define" +$ d_exp2 = "define" +$ d_expm1 = "define" +$ d_fdim = "define" +$ d_fma = "define" +$ d_fmax = "define" +$ d_fmin = "define" $ d_fp_classify = "define" +$ d_hypot = "define" +$ d_ilogb = "define" +$ d_isnan = "define" +$ d_isnormal = "define" $ d_j0 = "define" -$ d_acosh = "define" +$ d_lgamma = "define" +$ d_log1p = "define" +$ d_log2 = "define" +$ d_logb = "define" +$ d_lrint = "define" +$ d_lrintl = "define" +$ d_lround = "define" +$ d_lroundl = "define" +$ d_nextafter = "define" +$ d_nexttoward = "define" +$ d_remainder = "define" +$ d_remquo = "define" +$ d_rint = "define" +$ d_tgamma = "define" +$ d_trunc = "define" $ d_truncl = "define" $ ELSE -$ d_isnan = "undef" -$ d_isnanl = "undef" +$ 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" +$ d_cbrt = "undef" +$ d_copysign = "undef" +$ d_erf = "undef" +$ d_erfc = "undef" +$ d_exp2 = "undef" +$ d_expm1 = "undef" +$ d_fdim = "undef" +$ d_fma = "undef" +$ d_fmax = "undef" +$ d_fmin = "undef" $ d_fp_classify = "undef" +$ d_hypot = "undef" +$ d_ilogb = "undef" +$ d_isnan = "undef" +$ d_isnormal = "undef" $ d_j0 = "undef" -$ d_acosh = "undef" +$ d_lgamma = "undef" +$ d_log1p = "undef" +$ d_log2 = "undef" +$ d_logb = "undef" +$ d_lrint = "undef" +$ d_lrintl = "undef" +$ d_lround = "undef" +$ d_lroundl = "undef" +$ d_nextafter = "undef" +$ d_nexttoward = "undef" +$ d_remainder = "undef" +$ d_remquo = "undef" +$ d_rint = "undef" +$ d_tgamma = "undef" +$ d_trunc = "undef" $ d_truncl = "undef" $ ENDIF $! $! Now some that we build up $! -$ use5005threads = "undef" $ d_old_pthread_create_joinable = "undef" $ old_pthread_create_joinable = " " $ IF use_threads @@ -3600,6 +3634,9 @@ $ IF link_status .NE. good_link $ THEN $ longdblsize="0" $ longdblkind="0" +$ longdblinfbytes="undef" +$ longdblnanbytes="undef" +$ longdblmantbits="undef" $ d_longdbl="undef" $ echo "You do not have long double." $ ELSE @@ -3608,6 +3645,9 @@ $ echo4 "Checking to see how big your long doubles are..." $ GOSUB just_mcr_it $ longdblsize = tmp $ longdblkind = "1" +$ longdblinfbytes="0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f" +$ longdblnanbytes="0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff" +$ longdblmantbits="112" $ d_longdbl = "define" $ echo "Your long doubles are ''longdblsize' bytes long." $ ENDIF @@ -3843,6 +3883,12 @@ $ d_fd_set="define" $ echo4 "Well, your system knows about the normal fd_set typedef..." $ ENDIF $! +$! Check for stdint.h +$! +$ tmp = "stdint.h" +$ GOSUB inhdr +$ i_stdint = tmp +$! $! Check for inttypes.h $! $ tmp = "inttypes.h" @@ -3878,6 +3924,23 @@ $ d_off64_t = "undef" $ echo "You do not have off64_t." $ ENDIF $! +$! Check to see if fpclassify exists +$! +$ OS +$ WS "#if defined(__DECC) || defined(__DECCXX)" +$ WS "#include " +$ WS "#endif" +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS "if (fpclassify(0.0) == FP_ZERO) exit(0);" +$ WS "exit(1);" +$ WS "}" +$ CS +$ tmp = "fpclassify" +$ GOSUB inlibc +$ d_fpclassify = tmp +$! $! Check to see if fpos64_t exists $! $ echo4 "Checking to see if you have fpos64_t..." @@ -4167,7 +4230,171 @@ $ echo4 "Nope, since you don't even have fcntl()." $ ENDIF $ d_fcntl_can_lock = tmp $! -$! Check for memchr +$! Check to see if isblank exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS "int c = ' ';" +$ WS "if(isblank(c))" +$ WS " exit(EXIT_SUCCESS);" +$ WS "else" +$ WS " exit(EXIT_FAILURE);" +$ WS "}" +$ CS +$ tmp = "isblank" +$ GOSUB inlibc +$ d_isblank = tmp +$! +$! Check to see if isless exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main() { return isless(1.0, 2.0) ? EXIT_SUCCESS : EXIT_FAILURE; }" +$ CS +$ tmp = "isless" +$ GOSUB inlibc +$ d_isless = tmp +$! +$! Check to see if pre-C99 isnanl exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS " long double x = NaN; +$ WS " return isnanl(x) ? EXIT_SUCCESS : EXIT_FAILURE; +$ WS "}" +$ CS +$ tmp = "isnanl" +$ GOSUB inlibc +$ d_isnanl = tmp +$! +$! Check to see if llrint exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS " long long x = llrint(1.5); +$ WS " return x == 2 ? EXIT_SUCCESS : EXIT_FAILURE; +$ WS "}" +$ CS +$ tmp = "llrint" +$ GOSUB inlibc +$ d_llrint = tmp +$! +$! Check to see if llrintl exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS " long long x = llrintl(1.5); +$ WS " return x == 2 ? EXIT_SUCCESS : EXIT_FAILURE; +$ WS "}" +$ CS +$ tmp = "llrintl" +$ GOSUB inlibc +$ d_llrintl = tmp +$! +$! Check to see if llround exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS " long long x = llround(1.5); +$ WS " return x == 2 ? EXIT_SUCCESS : EXIT_FAILURE; +$ WS "}" +$ CS +$ tmp = "llround" +$ GOSUB inlibc +$ d_llround = tmp +$! +$! Check to see if llroundl exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS " long long x = llroundl(1.5); +$ WS " return x == 2 ? EXIT_SUCCESS : EXIT_FAILURE; +$ WS "}" +$ CS +$ tmp = "llroundl" +$ GOSUB inlibc +$ d_llroundl = tmp +$! +$! Check to see if nearbyint exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS " double x = llroundl(1.5); +$ WS " return x == 2.0 ? EXIT_SUCCESS : EXIT_FAILURE; +$ WS "}" +$ CS +$ tmp = "nearbyint" +$ GOSUB inlibc +$ d_nearbyint = tmp +$! +$! Check to see if round exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS " double x = round(1.5); +$ WS " return x == 2.0 ? EXIT_SUCCESS : EXIT_FAILURE; +$ WS "}" +$ CS +$ tmp = "round" +$ GOSUB inlibc +$ d_round = tmp +$! +$! Check to see if scalbn exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS " double x = scalbn(1.0, 3); +$ WS " return x == 8.0 ? EXIT_SUCCESS : EXIT_FAILURE; +$ WS "}" +$ CS +$ tmp = "scalbn" +$ GOSUB inlibc +$ d_scalbn = tmp +$! +$! Check to see if scalbnl exists +$! +$ OS +$ WS "#include " +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS " long double x = scalbn(1.0, 3); +$ WS " return x == 8.0 ? EXIT_SUCCESS : EXIT_FAILURE; +$ WS "}" +$ CS +$ tmp = "scalbnl" +$ GOSUB inlibc +$ d_scalbnl = tmp +$! +$! Check for memrchr $! $ OS $ WS "#if defined(__DECC) || defined(__DECCXX)" @@ -4177,13 +4404,31 @@ $ WS "#include " $ WS "int main()" $ WS "{" $ WS "char * place;" -$ WS "place = (char *)memchr(""foo"", 47, 3);" +$ WS "place = (char *)memrchr(""foo"", 47, 3);" +$ WS "exit(0);" +$ WS "}" +$ CS +$ tmp = "memrchr" +$ GOSUB inlibc +$ d_memrchr = tmp +$! +$! Check for strnlen +$! +$ OS +$ WS "#if defined(__DECC) || defined(__DECCXX)" +$ WS "#include " +$ WS "#endif" +$ WS "#include " +$ WS "int main()" +$ WS "{" +$ WS "size_t len;" +$ WS "len = strnlen(""foot"", 3);" $ WS "exit(0);" $ WS "}" $ CS -$ tmp = "memchr" +$ tmp = "strnlen" $ GOSUB inlibc -$ d_memchr = tmp +$ d_strnlen = tmp $! $! Check for strtoull $! @@ -4267,7 +4512,7 @@ $ WS "#include " $ WS "int main()" $ WS "{" $ WS "long double result;" -$ WS "result = strtold(""123123"", NULL, 10);" +$ WS "result = strtold(""123123"", NULL);" $ WS "exit(0);" $ WS "}" $ CS @@ -4328,44 +4573,6 @@ $ tmp = "acess" $ GOSUB inlibc $ d_access = tmp $! -$! Check for bzero -$! -$ OS -$ WS "#if defined(__DECC) || defined(__DECCXX)" -$ WS "#include " -$ WS "#endif" -$ WS "#include " -$ WS "#include " -$ WS "int main()" -$ WS "{" -$ WS "char foo[10];" -$ WS "bzero(foo, 10);" -$ WS "exit(0);" -$ WS "}" -$ CS -$ tmp = "bzero" -$ GOSUB inlibc -$ d_bzero = tmp -$! -$! Check for bcopy -$! -$ OS -$ WS "#if defined(__DECC) || defined(__DECCXX)" -$ WS "#include " -$ WS "#endif" -$ WS "#include " -$ WS "#include " -$ WS "int main()" -$ WS "{" -$ WS "char foo[10], bar[10];" -$ WS "bcopy(""foo"", bar, 3);" -$ WS "exit(0);" -$ WS "}" -$ CS -$ tmp = "bcopy" -$ GOSUB inlibc -$ d_bcopy = tmp -$! $! Check for mkstemp $! $ OS @@ -5117,7 +5324,7 @@ $! easy to use DCL test to see if hardlinks are enabled on the build $! disk. That would require more work to test, and I am only testing $! this on 8.2, so that is why the 8.2 test. $! -$ IF (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX") +$ IF (vms_ver .GES. "8.2") $ THEN $ IF f$getdvi("SYS$DISK","HARDLINKS_SUPPORTED") $ THEN @@ -5135,7 +5342,7 @@ $ ENDIF $! $ IF uselargefiles .OR. uselargefiles .eqs. "define" $ THEN -$ IF (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX") +$ IF (vms_ver .GES. "8.2") $ THEN $ echo4 "Largefile support enabled, so enabling standard stat support too." $ usestdstat = "y" @@ -5176,7 +5383,7 @@ $ echo4 "Your system does not support symbolic links." $ echo4 "I am disabling symbolic link support." $ ENDIF $ ELSE -$ IF (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX") +$ IF (vms_ver .GES. "8.2") $ THEN $ echo4 "-Duselargefiles is required for symbolic link support." $ echo4 "You did not specify that, so I am disabling symbolic link support." @@ -5205,30 +5412,22 @@ $ d_getpwnam_r = "undef" $ getpwnam_r_proto = "0" $ d_getpwuid_r = "undef" $ getpwuid_r_proto = "0" -$ d_setgrent = "undef" -$ d_ttyname_r = "undef" -$ ttyname_r_proto = "0" -$ d_snprintf = "undef" -$ d_vsnprintf = "undef" -$ if (vms_ver .GES. "7.3-2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX") +$ echo "Asumming 64-bit OpenVMS ''vms_ver' -- will build with V7.3-2 routines" +$ d_getgrgid_r = "define" +$ getgrgid_r_proto = "1" +$ d_getgrnam_r = "define" +$ getgrnam_r_proto = "1" +$ if d_symlink .or. d_symlink .EQS. "define" $ then -$ echo "Found 64 bit OpenVMS ''vms_ver' -- will build with V7.3-2 routines" -$ d_getgrgid_r = "define" -$ getgrgid_r_proto = "1" -$ d_getgrnam_r = "define" -$ getgrnam_r_proto = "1" -$ if d_symlink .or. d_symlink .EQS. "define" -$ then $! FIXME: Need to find how to activate this. $! d_getpgid = "define" $! d_getpgrp = "define" -$ endif -$ d_setgrent = "define" -$ d_ttyname_r = "define" -$ ttyname_r_proto = "1" -$ d_snprintf = "define" -$ d_vsnprintf = "define" $ endif +$ d_setgrent = "define" +$ d_ttyname_r = "define" +$ ttyname_r_proto = "1" +$ d_snprintf = "define" +$ d_vsnprintf = "define" $! $! VMS V7.3-2 powered options $! We know that it is only available for V7.3-2 and later on 64 bit platforms. @@ -5244,7 +5443,7 @@ $ d_setregid = "undef" $ d_setreuid = "undef" $ d_setsid = "undef" $ ! Disable this section for now. -$!$ if (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX") +$!$ if (vms_ver .GES. "8.2") $ if .NOT. 1 $ then $ echo "Found 64 bit OpenVMS ''vms_ver' -- will build with V7.3-2 UID setting routines" @@ -5262,7 +5461,7 @@ $! $ d_fstatvfs = "undef" $ d_statvfs = "undef" $ i_sysstatvfs = "undef" -$ if (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX") +$ if (vms_ver .GES. "8.2") $ then $ echo "Found 64 bit OpenVMS ''vms_ver' -- will build with 8.2 routines" $ d_fstatvfs = "define" @@ -5309,7 +5508,6 @@ $ ENDIF $ d_attribut="undef" $ ENDIF $! -$ d_bcmp="define" $ d_getitimer="define" $ d_gettimeod="define" $ d_mmap="define" @@ -5324,6 +5522,14 @@ $ d_clearenv="undef" $ d_usleep="define" $ d_setitimer="define" $ d_sigaction="define" +$ d_siginfo_si_addr="define" +$ d_siginfo_si_band="define" +$ d_siginfo_si_errno="define" +$ d_siginfo_si_fd="define" +$ d_siginfo_si_pid="define" +$ d_siginfo_si_status="define" +$ d_siginfo_si_uid="define" +$ d_siginfo_si_value="define" $ d_sigprocmask="define" $ d_truncate="define" $ d_wait4="define" @@ -5331,10 +5537,7 @@ $ d_index="define" $ pidtype="pid_t" $ sig_name1="ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE" $ sig_name2=" ALRM TERM USR1 USR2 NUM18 NUM19 CHLD CONT STOP TSTP TTIN TTOU DEBUG" -$ IF (vms_ver .GES. "7.3") -$ THEN -$ sig_name2 = sig_name2 + " NUM27 WINCH" -$ ENDIF +$ sig_name2 = sig_name2 + " NUM27 WINCH" $!* signal.h defines SIGRTMIN as 33 and SIGRTMAX as 64, but there is no $!* sigqueue function or other apparent means to do realtime signalling, $!* so let's not try to include the realtime range for now. @@ -5407,6 +5610,7 @@ $ d_mbtowc="define" $ d_mktime="define" $ d_nl_langinfo="define" $ d_setlocale="define" +$ d_setlocale_accepts_any_locale_name="undef" $ d_stdiobase="define" $ d_stdio_cnt_lval="define" $ d_stdio_ptr_lval="define" @@ -5426,7 +5630,7 @@ $ d_vms_do_sockets="define" $ d_htonl="define" $ d_socket="define" $ d_sockpair = "undef" -$ if (vms_ver .GES. "8.2") .AND. (F$ELEMENT(0, "-", archname) .NES. "VMS_VAX") +$ if (vms_ver .GES. "8.2") $ then $ echo "Found 64 bit OpenVMS 8.2, will build with socketpair support" $ d_sockpair = "define" @@ -5503,20 +5707,22 @@ $ IF use64bitint .OR. use64bitint .EQS. "define" $ THEN $ ivtype = "''i64type'" $ uvtype = "''u64type'" -$ ELSE -$ i64size="undef" -$ u64size="undef" $ ENDIF +$ i64size="8" +$ u64size="8" $! +$ doublemantbits = "52" $ IF uselongdouble .OR. uselongdouble .EQS. "define" $ THEN $ nvtype="long double" +$ nvmantbits = longdblmantbits +$ ELSE +$ nvmantbits = doublemantbits $ ENDIF $! $ 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 @@ -5528,7 +5734,6 @@ $! $ tmp = "''uvtype'" $ GOSUB type_size_check $ uvsize = tmp -$ IF use64bitint .OR. use64bitint .EQS. "define" THEN u64size = tmp $! $ tmp = "''i8type'" $ GOSUB type_size_check @@ -5822,6 +6027,8 @@ $ WC "PERL_CONFIG_SH='true'" $ WC "_a='" + lib_ext + "'" $ WC "_exe='" + exe_ext + "'" $ WC "_o='" + obj_ext + "'" +$ WC "afs='undef'" +$ WC "afsroot='/afs'" $ WC "alignbytes='" + alignbytes + "'" $ WC "aphostname='write sys$output f$edit(f$getsyi(\""SCSNODE\""),\""TRIM,LOWERCASE\"")'" $ WC "api_revision='" + api_revision + "'" @@ -5894,6 +6101,7 @@ $ WC "d_PRIu64='" + d_PRIu64 + "'" $ WC "d_PRIx64='" + d_PRIx64 + "'" $ WC "d_SCNfldbl='" + d_SCNfldbl + "'" $ WC "d__fwalk='undef'" +$ WC "d_accept4='undef'" $ WC "d_access='" + d_access + "'" $ WC "d_accessx='undef'" $ WC "d_acosh='" + d_acosh + "'" @@ -5901,8 +6109,11 @@ $ WC "d_aintl='undef'" $ WC "d_alarm='define'" $ WC "d_archlib='define'" $ WC "d_asctime64='undef'" +$ WC "d_asinh='" + d_asinh + "'" +$ WC "d_atanh='" + d_atanh + "'" $ WC "d_atolf='" + d_atolf + "'" $ WC "d_atoll='" + d_atoll + "'" +$ WC "d_attribute_always_inline='undef'" $ WC "d_attribute_format='" + d_attribut + "'" $ WC "d_attribute_deprecated='undef'" $ WC "d_attribute_malloc='undef'" @@ -5914,25 +6125,25 @@ $ WC "d_attribute_warn_unused_result='undef'" $ WC "d_prctl='undef'" $ WC "d_prctl_set_name='undef'" $ WC "d_printf_format_null='undef'" -$ WC "d_bcmp='" + d_bcmp + "'" -$ WC "d_bcopy='" + d_bcopy + "'" $ WC "d_bincompat3='undef'" $ WC "d_bsd='undef'" $ WC "d_bsdgetpgrp='undef'" $ WC "d_bsdsetpgrp='undef'" $ WC "d_builtin_choose_expr='undef'" ! GCC only $ WC "d_builtin_expect='undef'" ! GCC only -$ WC "d_bzero='" + d_bzero + "'" +$ WC "d_builtin_add_overflow='undef'" ! GCC only +$ WC "d_builtin_mul_overflow='undef'" ! GCC only +$ WC "d_builtin_sub_overflow='undef'" ! GCC only $ WC "d_casti32='define'" $ WC "d_castneg='define'" -$ WC "d_charvspr='undef'" +$ WC "d_cbrt='" + d_cbrt + "'" $ WC "d_chown='define'" $ WC "d_chroot='undef'" $ WC "d_chsize='undef'" $ WC "d_class='undef'" $ WC "d_closedir='define'" $ WC "d_cmsghdr_s='undef'" -$ WC "d_const='define'" +$ WC "d_copysign='" + d_copysign + "'" $ WC "d_copysignl='define'" $ WC "d_cplusplus='" + d_cplusplus + "'" $ WC "d_crypt='define'" @@ -5960,8 +6171,18 @@ $ ENDIF $ 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_dup3='undef'" +$ WC "d_duplocale='undef'" $ WC "d_eaccess='undef'" $ WC "d_endgrent='define'" $ WC "d_endhent='" + d_endhent + "'" @@ -5970,18 +6191,29 @@ $ WC "d_endpent='" + d_endpent + "'" $ WC "d_endpwent='define'" $ WC "d_endsent='" + d_endsent + "'" $ WC "d_eofnblk='undef'" +$ WC "d_erf='" + d_erf + "'" +$ WC "d_erfc='" + d_erfc + "'" $ WC "d_eunice='undef'" -$ WC "d_fchmod='undef'" +$ WC "d_exp2='" + d_exp2 + "'" +$ WC "d_expm1='" + d_expm1 + "'" +$ IF ("''F$EXTRACT(1,3, F$GETSYI(""VERSION""))'".GES."8.3") +$ THEN +$ WC "d_fchmod='define'" +$ ELSE +$ WC "d_fchmod='undef'" +$ ENDIF $ WC "d_fchdir='undef'" -$ WC "d_fchown='undef'" +$ WC "d_fchown='define'" $ WC "d_fcntl='" + d_fcntl + "'" $ WC "d_fcntl_can_lock='" + d_fcntl_can_lock + "'" $ WC "d_fd_set='" + d_fd_set + "'" $ WC "d_fd_macros='define'" +$ WC "d_fdclose='undef'" +$ WC "d_fdim='" + d_fdim + "'" $ WC "d_fds_bits='define'" $ WC "d_fegetround='undef'" $ WC "d_fgetpos='define'" -$ IF F$ELEMENT(0, "-", archname) .NES. "VMS_VAX" .AND. use_ieee_math +$ IF use_ieee_math $ THEN $ WC "d_finite='define'" $ WC "d_finitel='define'" @@ -5992,6 +6224,9 @@ $ ENDIF $ WC "d_flexfnam='define'" $ WC "d_flock='undef'" $ WC "d_flockproto='undef'" +$ WC "d_fma='" + d_fma + "'" +$ WC "d_fmax='" + d_fmax + "'" +$ WC "d_fmin='" + d_fmin + "'" $ WC "d_fork='undef'" $ WC "d_fp_class='undef'" $ WC "d_fp_classify='" + d_fp_classify + "'" @@ -5999,7 +6234,7 @@ $ WC "d_fp_classify='undef'" $ WC "d_fp_classl='undef'" $ WC "d_fpathconf='" + d_fpathconf + "'" $ WC "d_fpclass='undef'" -$ WC "d_fpclassify='undef'" +$ WC "d_fpclassify='" + d_fpclassify + "'" $ WC "d_fpclassl='undef'" $ WC "d_fpgetround='undef'" $ WC "d_fpos64_t='" + d_fpos64_t + "'" @@ -6009,18 +6244,13 @@ $ WC "d_fseeko='" + d_fseeko + "'" $ WC "d_fsetpos='define'" $ WC "d_fstatfs='undef'" $ WC "d_fstatvfs='" + d_fstatvfs + "'" -$ WC "d_fsync='undef'" +$ WC "d_fsync='define'" $ WC "d_ftello='" + d_ftello + "'" $ WC "d_ftime='define'" $ WC "d_futimes='undef'" $ WC "d_gdbmndbm_h_uses_prototypes='undef'" $ WC "d_gdbm_ndbm_h_uses_prototypes='undef'" -$ IF vms_ver .GES. "7.3" -$ THEN -$ WC "d_getaddrinfo='define'" -$ ELSE -$ WC "d_getaddrinfo='undef'" -$ ENDIF +$ WC "d_getaddrinfo='define'" $ WC "d_getcwd='define'" $ WC "d_getespwnam='undef'" $ WC "d_getfsstat='undef'" @@ -6035,12 +6265,7 @@ $ WC "d_getitimer='" + d_getitimer + "'" $ WC "d_getlogin='define'" $ WC "d_getmnt='undef'" $ WC "d_getmntent='undef'" -$ IF vms_ver .GES. "7.3" -$ THEN -$ WC "d_getnameinfo='define'" -$ ELSE -$ WC "d_getnameinfo='undef'" -$ ENDIF +$ WC "d_getnameinfo='define'" $ WC "d_getnbyaddr='" + d_getnbyaddr + "'" $ WC "d_getnbyname='" + d_getnbyname + "'" $ WC "d_getnent='" + d_getnent + "'" @@ -6068,6 +6293,8 @@ $ WC "d_gnulibc='undef'" $ WC "d_grpasswd='undef'" $ WC "d_hasmntopt='undef'" $ WC "d_htonl='" + d_htonl + "'" +$ WC "d_hypot='" + d_hypot + "'" +$ WC "d_ilogb='" + d_ilogb + "'" $ WC "d_ilogbl='undef'" $ WC "d_inc_version_list='undef'" $ WC "d_index='" + d_index + "'" @@ -6080,45 +6307,65 @@ $ WC "d_ip_mreq_source='undef'" $ WC "d_ipv6_mreq='define'" $ WC "d_ipv6_mreq_source='undef'" $ WC "d_isascii='define'" -$ WC "d_isblank='undef'" +$ WC "d_isblank='" + d_isblank + "'" $ WC "d_isfinite='undef'" $ WC "d_isfinitel='undef'" $ WC "d_isinf='undef'" $ WC "d_isinfl='undef'" +$ WC "d_isless='" + d_isless + "'" $ WC "d_isnan='" + d_isnan + "'" $ WC "d_isnanl='" + d_isnanl + "'" +$ WC "d_isnormal='" + d_isnormal + "'" $ WC "d_j0='" + d_j0 + "'" $ WC "d_j0l='undef'" -$ WC "d_killpg='undef'" +$ WC "d_killpg='define'" $ WC "d_lchown='" + d_lchown + "'" $ WC "d_ldbl_dig='define'" $ WC "d_ldexpl='" + d_ldexpl + "'" +$ WC "d_lgamma='" + d_lgamma + "'" $ WC "d_libm_lib_version='undef'" $ WC "d_link='" + d_link + "'" +$ WC "d_llrint='" + d_llrint + "'" +$ WC "d_llrintl='" + d_llrintl + "'" +$ WC "d_llround='" + d_llround + "'" +$ WC "d_llroundl='" + d_llroundl + "'" $ WC "d_llseek='undef'" +$ WC "d_localeconv_l='undef'" $ WC "d_localtime64='undef'" $ WC "d_locconv='" + d_locconv + "'" $ WC "d_lc_monetary_2008='undef'" $ WC "d_lockf='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 "d_lrintl='" + d_lrintl + "'" +$ WC "d_lround='" + d_lround + "'" +$ WC "d_lroundl='" + d_lroundl + "'" $ WC "d_lseekproto='define'" $ WC "d_lstat='" + d_lstat + "'" $ WC "d_madvise='undef'" $ WC "d_malloc_size='undef'" $ WC "d_malloc_good_size='undef'" $ WC "d_mblen='" + d_mblen + "'" +$ WC "d_mbrlen='define'" +$ WC "d_mbrtowc='define'" $ WC "d_mbstowcs='" + d_mbstowcs + "'" $ WC "d_mbtowc='" + d_mbtowc + "'" -$ WC "d_memchr='" + d_memchr + "'" -$ WC "d_memcmp='define'" -$ WC "d_memcpy='define'" -$ WC "d_memmove='define'" -$ WC "d_memset='define'" +$ WC "d_memmem='undef'" +$ WC "d_memrchr='" + d_memrchr + "'" $ WC "d_mkdir='define'" $ WC "d_mkdtemp='" + d_mkdtemp + "'" $ WC "d_mkfifo='undef'" $ WC "d_mknod='undef'" +$ WC "d_mkostemp='undef'" $ WC "d_mkstemp='" + d_mkstemp + "'" $ WC "d_mkstemps='" + d_mkstemps + "'" $ WC "d_mktime='" + d_mktime + "'" @@ -6142,9 +6389,13 @@ $ WC "d_msghdr_s='undef'" $ WC "d_msync='" + d_msync + "'" $ WC "d_munmap='" + d_munmap + "'" $ WC "d_mymalloc='" + d_mymalloc + "'" +$ WC "d_nan='undef'" $ WC "d_nanosleep='" + d_nanosleep + "'" $ WC "d_ndbm='undef'" $ WC "d_ndbm_h_uses_prototypes='undef'" +$ WC "d_nearbyint='" + d_nearbyint + "'" +$ WC "d_nextafter='" + d_nextafter + "'" +$ WC "d_nexttoward='" + d_nexttoward + "'" $ WC "d_nice='define'" $ WC "d_nl_langinfo='" + d_nl_langinfo + "'" $ WC "d_nv_preserves_uv='" + d_nv_preserves_uv + "'" @@ -6157,11 +6408,17 @@ $ WC "d_oldarchlib='define'" $ WC "d_oldpthreads='" + d_oldpthreads + "'" $ WC "d_oldsock='undef'" $ WC "d_open3='define'" +$ WC "d_openat='undef'" +$ WC "d_unlinkat='undef'" +$ WC "d_renameat='undef'" +$ WC "d_linkat='undef'" +$ WC "d_fchmodat='undef'" $ WC "d_pathconf='" + d_pathconf + "'" $ WC "d_pause='define'" $ WC "d_perl_otherlibdirs='undef'" $ WC "d_phostname='" + d_phostname + "'" $ WC "d_pipe='define'" +$ WC "d_pipe2='undef'" $ WC "d_poll='" + d_poll + "'" $ WC "d_portable='define'" $ WC "d_procselfexe='undef'" @@ -6181,19 +6438,24 @@ $ WC "d_pwpasswd='define'" $ WC "d_pwquota='undef'" $ WC "d_qgcvt='undef'" $ WC "d_quad='" + d_quad + "'" +$ WC "d_re_comp='undef'" $ WC "d_readdir='define'" $ WC "d_readlink='" + d_readlink + "'" -$ WC "d_readv='undef'" +$ WC "d_readv='define'" $ WC "d_realpath='" + d_realpath + "'" -$ WC "d_recvmsg='undef'" +$ WC "d_recvmsg='define'" +$ WC "d_regcmp='undef'" +$ WC "d_regcomp='undef'" +$ WC "d_remainder='" + d_remainder + "'" +$ WC "d_remquo='" + d_remquo + "'" $ WC "d_rename='define'" $ WC "d_rewinddir='define'" +$ WC "d_rint='" + d_rint + "'" $ WC "d_rmdir='define'" -$ WC "d_safebcpy='undef'" -$ WC "d_safemcpy='define'" -$ WC "d_sanemcmp='define'" +$ WC "d_round='" + d_round + "'" $ WC "d_sbrkproto='define'" -$ WC "d_scalbnl='undef'" +$ WC "d_scalbn='" + d_scalbn + "'" +$ WC "d_scalbnl='" + d_scalbnl + "'" $ WC "d_sched_yield='" + d_sched_yield + "'" $ WC "d_scm_rights='undef'" $ WC "d_seekdir='define'" @@ -6214,7 +6476,7 @@ $ WC "d_semctl_semun='undef'" $ WC "d_semget='undef'" $ WC "d_semop='undef'" $ ENDIF -$ WC "d_sendmsg='undef'" +$ WC "d_sendmsg='define'" $ WC "d_setegid='undef'" $ WC "d_setenv='" + d_setenv + "'" $ WC "d_seteuid='" + d_seteuid + "'" @@ -6224,6 +6486,7 @@ $ WC "d_sethent='" + d_sethent + "'" $ WC "d_setitimer='" + d_setitimer + "'" $ WC "d_setlinebuf='undef'" $ WC "d_setlocale='" + d_setlocale + "'" +$ WC "d_setlocale_accepts_any_locale_name='" + d_setlocale_accepts_any_locale_name + "'" $ WC "d_setnent='" + d_setnent + "'" $ WC "d_setpent='" + d_setpent + "'" $ WC "d_setpgid='" + d_setpgid + "'" @@ -6248,6 +6511,14 @@ $ WC "d_shmctl='" + d_shmctl + "'" $ WC "d_shmdt='" + d_shmdt + "'" $ WC "d_shmget='" + d_shmget + "'" $ WC "d_sigaction='" + d_sigaction + "'" +$ WC "d_siginfo_si_addr='" + d_siginfo_si_addr + "'" +$ WC "d_siginfo_si_band='" + d_siginfo_si_band + "'" +$ WC "d_siginfo_si_errno='" + d_siginfo_si_errno + "'" +$ WC "d_siginfo_si_fd='" + d_siginfo_si_fd + "'" +$ WC "d_siginfo_si_pid='" + d_siginfo_si_pid + "'" +$ WC "d_siginfo_si_status='" + d_siginfo_si_status + "'" +$ WC "d_siginfo_si_uid='" + d_siginfo_si_uid + "'" +$ WC "d_siginfo_si_value='" + d_siginfo_si_value + "'" $ WC "d_signbit='" + d_signbit + "'" $ WC "d_sigprocmask='" + d_sigprocmask + "'" $ WC "d_sigsetjmp='" + d_sigsetjmp + "'" @@ -6255,18 +6526,19 @@ $ WC "d_sin6_scope_id='" + d_sin6_scope_id + "'" $ WC "d_sitearch='define'" $ WC "d_sockaddr_in6='define'" $ WC "d_sockaddr_sa_len='" + d_sockaddr_sa_len + "'" +$ WC "d_sockaddr_storage='undef'" $ WC "d_sockatmark='undef'" $ WC "d_sockatmarkproto='undef'" $ WC "d_socket='" + d_socket + "'" $ WC "d_socklen_t='" + d_socklen_t + "'" $ WC "d_sockpair='" + d_sockpair + "'" $ WC "d_socks5_init='undef'" -$ WC "d_sprintf_returns_strlen='define'" $ WC "d_sqrtl='define'" $ WC "d_sresgproto='undef'" $ WC "d_sresgproto='undef'" $ WC "d_sresproto='undef'" $ WC "d_sresuproto='undef'" +$ WC "d_stat='define'" $ WC "d_statblks='undef'" $ WC "d_statfs_f_flags='undef'" $ WC "d_statfs_s='undef'" @@ -6281,17 +6553,16 @@ $ WC "d_stdiobase='" + d_stdiobase + "'" $ WC "d_stdstdio='" + d_stdstdio + "'" $ WC "d_faststdio='" + d_faststdio + "'" $ WC "d_statvfs='" + d_statvfs + "'" -$ WC "d_strchr='define'" $ 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_strlcat='undef'" $ WC "d_strlcpy='undef'" +$ WC "d_strnlen='" + d_strnlen + "'" $ WC "d_strtod='define'" +$ WC "d_strtod_l='undef'" $ WC "d_strtol='define'" $ WC "d_strtold='" + d_strtold + "'" +$ WC "d_strtold_l='undef'" $ WC "d_strtoll='" + d_strtoll + "'" $ WC "d_strtoq='" + d_strtoq + "'" $ WC "d_strtoul='define'" @@ -6310,6 +6581,8 @@ $ WC "d_tcgetpgrp='undef'" $ WC "d_tcsetpgrp='undef'" $ WC "d_telldir='define'" $ WC "d_telldirproto='define'" +$ WC "d_tgamma='" + d_tgamma + "'" +$ WC "d_thread_safe_nl_langinfo_l='undef'" $ WC "d_time='define'" $ WC "d_timegm='undef'" $ WC "d_times='define'" @@ -6322,6 +6595,7 @@ $ WC "d_tm_tm_gmtoff='undef'" $ WC "d_tm_tm_zone='undef'" $ ENDIF $ WC "d_truncate='" + d_truncate + "'" +$ WC "d_trunc='" + d_trunc + "'" $ WC "d_truncl='" + d_truncl + "'" $ WC "d_tzname='" + d_tzname + "'" $ WC "d_u32align='define'" @@ -6347,16 +6621,15 @@ $ WC "d_vms_shorten_long_symbols='" + d_vms_shorten_long_symbols + "'" ! VMS $ WC "d_void_closedir='define'" $ WC "d_voidsig='undef'" $ WC "d_voidtty='" + "'" -$ WC "d_volatile='define'" -$ WC "d_vprintf='define'" $ WC "d_vsnprintf='" + d_vsnprintf + "'" $ WC "d_wait4='" + d_wait4 + "'" $ WC "d_waitpid='define'" +$ WC "d_wcrtomb='define'" $ WC "d_wcscmp='define'" $ WC "d_wcstombs='define'" $ WC "d_wcsxfrm='define'" $ WC "d_wctomb='define'" -$ WC "d_writev='undef'" +$ WC "d_writev='define'" $ WC "d_xenix='undef'" $ WC "db_hashtype=' '" $ WC "db_prefixtype=' '" @@ -6365,10 +6638,15 @@ $ WC "db_version_minor='" + "'" $ WC "db_version_patch='" + "'" $ WC "dbgprefix='" + dbgprefix + "'" $ WC "devtype='" + devtype + "'" +$ WC "default_inc_excludes_dot='" + default_inc_excludes_dot + "'" $ WC "direntrytype='struct dirent'" $ WC "dlext='" + dlext + "'" $ WC "dlobj='" + dlobj + "'" $ WC "dlsrc='dl_vms.xs'" +$ WC "doublekind='3'" +$ WC "doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'" +$ WC "doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'" +$ WC "doublemantbits='" + doublemantbits + "'" $ WC "doublesize='" + doublesize + "'" $ WC "drand01='" + drand01 + "'" $ WC "dtrace='" + "'" @@ -6413,7 +6691,6 @@ $ WC "i64type='" + i64type + "'" $ WC "i8size='" + i8size + "'" $ WC "i8type='" + i8type + "'" $ WC "i_arpainet='" + i_arpainet + "'" -$ WC "i_assert='define'" $ WC "i_bfd='undef'" $ WC "i_bsdioctl='undef'" $ WC "i_crypt='undef'" @@ -6424,7 +6701,6 @@ $ WC "i_dlfcn='undef'" $ WC "i_execinfo='undef'" $ WC "i_fcntl='" + i_fcntl + "'" $ WC "i_fenv='undef'" -$ WC "i_float='define'" $ WC "i_fp='undef'" $ WC "i_fp_class='undef'" $ WC "i_gdbm='undef'" @@ -6435,14 +6711,11 @@ $ 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 + "'" $ WC "i_machcthr='undef'" $ WC "i_machcthreads='undef'" $ WC "i_malloc='undef'" $ WC "i_mallocmalloc='undef'" -$ WC "i_math='define'" -$ WC "i_memory='undef'" $ WC "i_mntent='undef'" $ WC "i_ndbm='undef'" $ WC "i_netdb='" + i_netdb + "'" @@ -6458,17 +6731,14 @@ $ WC "i_rpcsvcdbm='undef'" $ WC "i_sgtty='undef'" $ WC "i_shadow='" + i_shadow + "'" $ WC "i_socks='" + i_socks + "'" -$ WC "i_stdarg='define'" $ IF ccname .EQS. "DEC" .AND. F$INTEGER(Dec_C_Version).GE.60400000 $ THEN $ WC "i_stdbool='define'" $ ELSE $ WC "i_stdbool='undef'" $ ENDIF -$ WC "i_stddef='define'" -$ WC "i_stdint='undef'" +$ WC "i_stdint='" + i_stdint + "'" $ WC "i_stdlib='define'" -$ WC "i_string='define'" $ WC "i_sunmath='undef'" $ WC "i_sysaccess='" + i_sysaccess + "'" $ WC "i_sysdir='undef'" @@ -6505,10 +6775,10 @@ $ WC "i_time='define'" $ WC "i_unistd='" + i_unistd + "'" $ WC "i_ustat='undef'" $ WC "i_utime='" + i_utime + "'" -$ WC "i_values='undef'" -$ WC "i_varargs='undef'" -$ WC "i_varhdr='stdarg.h'" $ WC "i_vfork='undef'" +$ WC "i_wchar='define'" +$ WC "i_wctype='define'" +$ WC "i_xlocale='undef'" $ WC "inc_version_list='0'" $ WC "inc_version_list_init='0'" $ WC "installarchlib='" + installarchlib + "'" @@ -6516,7 +6786,7 @@ $ WC "installbin='" + installbin + "'" $ WC "installman1dir='" + installman1dir + "'" $ WC "installman3dir='" + installman3dir + "'" $ WC "installprefix='" + vms_prefix + "'" -$ WC "installprefixexp='" + vms_prefix + ":'" +$ WC "installprefixexp='/" + vms_prefix + "'" $ WC "installprivlib='" + installprivlib + "'" $ WC "installscript='" + installscript + "'" $ WC "installsitearch='" + installsitearch + "'" @@ -6545,6 +6815,9 @@ $ WC "libswanted='" + "'" $ WC "libswanted_uselargefiles='" + "'" $ WC "longdblsize='" + longdblsize + "'" $ WC "longdblkind='" + longdblkind + "'" +$ WC "longdblinfbytes='" + longdblinfbytes + "'" +$ WC "longdblnanbytes='" + longdblnanbytes + "'" +$ WC "longdblmantbits='" + longdblmantbits + "'" $ WC "longlongsize='" + longlongsize + "'" $ WC "longsize='" + longsize + "'" $ IF uselargefiles .OR. uselargefiles .EQS. "define" @@ -6580,6 +6853,7 @@ $ WC "nvfformat='" + nvfformat + "'" $ WC "nvFUformat='" + nvFUformat + "'" $ WC "nvgformat='" + nvgformat + "'" $ WC "nvGUformat='" + nvGUformat + "'" +$ WC "nvmantbits='" + nvmantbits + "'" $ WC "nvsize='" + nvsize + "'" $ WC "nvtype='" + nvtype + "'" $ WC "o_nonblock=' '" @@ -6605,7 +6879,7 @@ $ WC "perl_verb='" + perl_verb + "'" ! VMS specific $ WC "pgflquota='" + pgflquota + "'" $ WC "pidtype='" + pidtype + "'" $ WC "prefix='" + vms_prefix + "'" -$ WC "prefixexp='" + vms_prefix + ":'" +$ WC "prefixexp='/" + vms_prefix + "'" $ WC "privlib='" + privlib + "'" $ WC "privlibexp='" + privlibexp + "'" $ WC "procselfexe=' '" @@ -6675,7 +6949,7 @@ $ WC "sitelib='" + sitelib + "'" $ WC "sitelib_stem='" + sitelib_stem + "'" $ WC "sitelibexp='" + sitelibexp + "'" $ WC "siteprefix='" + vms_prefix + "'" -$ WC "siteprefixexp='" + vms_prefix + ":'" +$ WC "siteprefixexp='/" + vms_prefix + "'" $ WC "sizesize='" + sizesize + "'" $ WC "sizetype='size_t'" $ WC "so='" + so + "'" @@ -6710,11 +6984,11 @@ $ WC "uidsign='1'" $ WC "uidsize='4'" $ WC "uidtype='" + uidtype + "'" $ WC "uquadtype='" + uquadtype + "'" -$ WC "use5005threads='" + use5005threads + "'" $ WC "use64bitall='" + use64bitall + "'" $ WC "use64bitint='" + use64bitint + "'" $ WC "usecasesensitive='" + be_case_sensitive + "'" ! VMS-specific $ WC "usedebugging_perl='"+use_debugging_perl+"'" +$ WC "usedefaultstrict='undef'" $ WC "usedefaulttypes='" + usedefaulttypes + "'" ! VMS-specific $ WC "usecbacktrace='undef'" $ WC "usecrosscompile='undef'" @@ -6755,7 +7029,6 @@ $ WC "uvuformat='" + uvuformat + "'" $ WC "uvxformat='" + uvxformat + "'" $ WC "uvXUformat='" + uvXUformat + "'" $ WC "vendorarch='" + "'" -$ WC "vaproto='define'" $ WC "vendorarchexp='" + "'" $ WC "vendorbin='" + "'" $ WC "vendorbinexp='" + "'" @@ -6774,7 +7047,7 @@ $! ## The UNIXy POSIXy reentrantey thingys ## $! See "Appendix B, Version-Dependency Tables" in the C RTL $! manual for when assorted _r functions became available. $! -$ IF use_threads .AND. vms_ver .GES. "7.2" +$ IF use_threads $ THEN $ WC "asctime_r_proto='REENTRANT_PROTO_B_SB'" $ WC "d_asctime_r='define'" @@ -6795,13 +7068,15 @@ $ WC "d_endnetent_r='undef'" $ WC "d_endprotoent_r='undef'" $ WC "d_endpwent_r='undef'" $ WC "d_endservent_r='undef'" +$ WC "d_freelocale='undef'" +$ WC "d_gai_strerror='define'" $ WC "d_getgrent_r='undef'" $ WC "d_getgrgid_r='" + d_getgrgid_r + "'" $ WC "d_getgrnam_r='" + d_getgrnam_r + "'" $ WC "d_gethostbyaddr_r='undef'" $ WC "d_gethostbyname_r='undef'" $ WC "d_gethostent_r='undef'" -$ WC "d_getlogin_r='undef'" +$ WC "d_getlogin_r='define'" $ WC "d_getnetbyaddr_r='undef'" $ WC "d_getnetbyname_r='undef'" $ WC "d_getnetent_r='undef'" @@ -6816,8 +7091,11 @@ $ WC "d_getservbyport_r='undef'" $ WC "d_getservent_r='undef'" $ WC "d_getspnam_r='undef'" $ WC "d_gmtime_r='undef'" ! leave undef'd; we use my_gmtime +$ WC "d_lgamma_r='undef'" $ WC "d_localtime_r='undef'" ! leave undef'd; we use my_localtime $ WC "d_localtime_r_needs_tzset='undef'" +$ WC "d_newlocale='undef'" +$ WC "d_querylocale='undef'" $ WC "d_random_r='undef'" $ WC "d_readdir_r='define'" ! always defined; we roll our own $ WC "d_readdir64_r='undef'" @@ -6831,9 +7109,13 @@ $ WC "d_setservent_r='undef'" $ WC "d_snprintf='" + d_snprintf + "'" $ WC "d_srand48_r='undef'" $ WC "d_srandom_r='undef'" +$ WC "d_strerror_l='undef'" $ WC "d_strerror_r='undef'" $ WC "d_tmpnam_r='undef'" +$ WC "d_towlower='define'" +$ WC "d_towupper='define'" $ WC "d_ttyname_r='" + d_ttyname_r + "'" +$ WC "d_uselocale='undef'" $ WC "ctermid_r_proto='0'" $ WC "crypt_r_proto='0'" $ WC "drand48_r_proto='0'" @@ -6849,7 +7131,12 @@ $ WC "getgrnam_r_proto='" + getgrnam_r_proto + "'" $ WC "gethostbyaddr_r_proto='0'" $ WC "gethostbyname_r_proto='0'" $ WC "gethostent_r_proto='0'" -$ WC "getlogin_r_proto='0'" +$ IF use_threads +$ THEN +$ WC "getlogin_r_proto='REENTRANT_PROTO_I_BW'" +$ ELSE +$ WC "getlogin_r_proto='0'" +$ ENDIF $ WC "getnetbyaddr_r_proto='0'" $ WC "getnetbyname_r_proto='0'" $ WC "getnetent_r_proto='0'" @@ -6898,12 +7185,12 @@ $ WRITE CONFIG "Gnu_CC:[000000]gcclib.olb/library" $ ENDIF $ WRITE CONFIG "Sys$Share:VAXCRTL/Share" $ CLOSE CONFIG -$ 'ld' munchconfig.obj,munchconfig.opt/opt +$ 'ld'/EXE='exe_ext' munchconfig'obj_ext',munchconfig.opt/opt $ DELETE/NOLOG/NOCONFIRM munchconfig.opt; $ ELSE -$ 'ld' munchconfig.obj +$ 'ld'/EXE='exe_ext' munchconfig'obj_ext' $ ENDIF -$ IF F$SEARCH("munchconfig.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.obj; +$ IF F$SEARCH("munchconfig''obj_ext'") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig'obj_ext'; $ IF F$SEARCH("munchconfig.c") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.c; $ IF ccname .EQS. "CXX" $ THEN @@ -6993,7 +7280,7 @@ $ echo4 "Extracting config.h (with variable substitutions)" $! $! Now build the normal config.h $ DEFINE/USER_MODE sys$output [-]config.main -$ mcr []munchconfig 'config_sh' [-]config_h.sh +$ mcr []munchconfig'exe_ext' 'config_sh' [-]config_h.sh $ ! Concatenate them together $ copy [-]config.local,[-]config.main [-]config.h $! Clean up @@ -7082,9 +7369,9 @@ $ close CONFIG $! $ echo4 "Extracting ''defmakefile' (with variable substitutions)" $ DEFINE/USER_MODE sys$output 'UUmakefile' -$ mcr []munchconfig 'config_sh' 'Makefile_SH' -f extra_subs.txt +$ mcr []munchconfig'exe_ext' 'config_sh' 'Makefile_SH' -f extra_subs.txt $! Clean up after ourselves -$ DELETE/NOLOG/NOCONFIRM []munchconfig.exe; +$ DELETE/NOLOG/NOCONFIRM []munchconfig'exe_ext'; $ DELETE/NOLOG/NOCONFIRM []extra_subs.txt; $! $! Note that the /key qualifier to search, as in: @@ -7099,6 +7386,7 @@ $! 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. +$ miniperl = f$search("sys$disk:[]miniperl.%xe;") ! could have alternate extension $ 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 @@ -7121,7 +7409,7 @@ $ pod_file_rdt = f$cvtime(f$file_attributes(pod_file,"RDT")) $ if file_rdt .GTS. pod_file_rdt then do_copy := true $ endif $ ! wacky method to preserve case on ODS-5 even when parse style is traditional -$ if do_copy then mcr sys$disk:[]miniperl.exe -e "exit 0+$^E unless File::Copy::rmscopy(q{''file'}, q{''pod_file'});" +$ if do_copy then mcr 'miniperl' -e "exit 0+$^E unless File::Copy::rmscopy(q{''file'}, q{''pod_file'});" $ endif $ endif $ goto extra_loop @@ -7300,18 +7588,19 @@ $ ENDIF $ WRITE CONFIG "$!" $ WRITE CONFIG "$! Symbols for Perl-based utility programs:" $ WRITE CONFIG "$!" -$ WRITE CONFIG "$ c2ph == """ + perl_setup_perl + " ''vms_prefix':[utils]c2ph.com""" $ WRITE CONFIG "$ corelist == """ + perl_setup_perl + " ''vms_prefix':[utils]corelist.com""" $ WRITE CONFIG "$ cpan == """ + perl_setup_perl + " ''vms_prefix':[utils]cpan.com""" $ WRITE CONFIG "$ enc2xs == """ + perl_setup_perl + " ''vms_prefix':[utils]enc2xs.com""" -$ WRITE CONFIG "$ find2perl == """ + perl_setup_perl + " ''vms_prefix':[utils]find2perl.com""" +$ WRITE CONFIG "$ encguess == """ + perl_setup_perl + " ''vms_prefix':[utils]encguess.com""" $ WRITE CONFIG "$ h2ph == """ + perl_setup_perl + " ''vms_prefix':[utils]h2ph.com""" $ WRITE CONFIG "$ h2xs == """ + perl_setup_perl + " ''vms_prefix':[utils]h2xs.com""" $ WRITE CONFIG "$ instmodsh == """ + perl_setup_perl + " ''vms_prefix':[utils]instmodsh.com""" +$ WRITE CONFIG "$ json_pp == """ + perl_setup_perl + " ''vms_prefix':[utils]json_pp.com""" $ WRITE CONFIG "$ libnetcfg == """ + perl_setup_perl + " ''vms_prefix':[utils]libnetcfg.com""" $ WRITE CONFIG "$ perlbug == """ + perl_setup_perl + " ''vms_prefix':[utils]perlbug.com""" $ WRITE CONFIG "$ perldoc == """ + perl_setup_perl + " ''vms_prefix':[utils]perldoc.com """"-t""""""" $ WRITE CONFIG "$ perlivp == """ + perl_setup_perl + " ''vms_prefix':[utils]perlivp.com""" +$ WRITE CONFIG "$ perlthanks == """ + perl_setup_perl + " ''vms_prefix':[utils]perlthanks.com""" $ WRITE CONFIG "$ piconv == """ + perl_setup_perl + " ''vms_prefix':[utils]piconv.com""" $ WRITE CONFIG "$ pl2pm == """ + perl_setup_perl + " ''vms_prefix':[utils]pl2pm.com""" $ WRITE CONFIG "$ pod2html == """ + perl_setup_perl + " ''vms_prefix':[utils]pod2html.com""" @@ -7321,9 +7610,6 @@ $ WRITE CONFIG "$ pod2usage == """ + perl_setup_perl + " ''vms_prefix':[utils]p $ WRITE CONFIG "$ podchecker == """ + perl_setup_perl + " ''vms_prefix':[utils]podchecker.com""" $ WRITE CONFIG "$ podselect == """ + perl_setup_perl + " ''vms_prefix':[utils]podselect.com""" $ WRITE CONFIG "$ prove == """ + perl_setup_perl + " ''vms_prefix':[utils]prove.com""" -$ WRITE CONFIG "$ psed == """ + perl_setup_perl + " ''vms_prefix':[utils]psed.com""" -$ WRITE CONFIG "$ pstruct == """ + perl_setup_perl + " ''vms_prefix':[utils]pstruct.com""" -$ WRITE CONFIG "$ s2p == """ + perl_setup_perl + " ''vms_prefix':[utils]s2p.com""" $ WRITE CONFIG "$ ptar == """ + perl_setup_perl + " ''vms_prefix':[utils]ptar.com""" $ WRITE CONFIG "$ ptardiff == """ + perl_setup_perl + " ''vms_prefix':[utils]ptardiff.com""" $ WRITE CONFIG "$ ptargrep == """ + perl_setup_perl + " ''vms_prefix':[utils]ptargrep.com"""