$ builder = "MMK"
$ use_vmsdebug_perl = "n"
$ use64bitall = "n"
-$ use64bitint = "n"
+$ use64bitint = "y"
$ uselongdouble = "n"
$ uselargefiles = "y"
$ usestdstat = "n"
$ 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).
$ extractsh=""
$ override=""
$ knowitall=""
-$ ccname="VAX"
+$ ccname="DECC"
$ Dec_C_Version = ""
$ cxxversion = ""
$ use_threads = "F"
-$ use_5005_threads = "N"
$ use_ithreads = "N"
$!
$!: option parsing
$ ENDIF
$ ELSE
$! MANIFEST. has been found and we have set def'ed there.
-$! Time to bail out before it's too late, i.e. too deep.
-$! Depth check is unnecessary on Alpha VMS V7.2++ (even for ODS-2).
-$ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
-$ IF (tmp .GES. "7.2") .AND. (F$GETSYI("HW_MODEL") .GE. 1024) THEN GOTO Beyond_depth_check
-$! Depth check also unnecessary on ODS 5 (or later) file systems.
-$ tmp = F$INTEGER(F$GETDVI(F$ENVIRONMENT("DEFAULT"),"ACPTYPE") - "F11V")
-$ IF (tmp .GE. 5) THEN GOTO Beyond_depth_check
-$ IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("DEFAULT")).nes.".")
-$ THEN
-$ TYPE SYS$INPUT:
-$ DECK
-%Config-E-VMS, ERROR:
- Sorry! It apears as though your perl build sub-directory is already too
- deep into the VMS file system. Please try moving stuff into a shallower
- directory (or altering the "max_allowed_dir_depth" parameter).
-$ EOD
-$ echo4 "ABORTING..."
-$ SET DEFAULT 'vms_default_directory_name' !be kind rewind
-$ STOP
-$ EXIT !2 !$STATUS = "%X00000002" (error)
-$ ENDIF
-$Beyond_depth_check:
+$!
+$ escape_extended_chars: subroutine
+$ string = 'p1' ! It's the name of the symbol
+$ chars_to_escape = p2
+$ sindex = 0
+$ slength = f$length(string)
+$ loop_over_chars:
+$ if sindex .eq. slength then goto end_loop_over_chars
+$ char = f$extract(sindex, 1, string)
+$ if f$locate(char, chars_to_escape) .lt. f$length(chars_to_escape)
+$ then
+$ string = f$extract(0, sindex, string) + "^" + f$extract(sindex, slength, string)
+$ slength = slength + 1 ! we've increased overall length by 1
+$ sindex = sindex + 1 ! don't check the char we just escaped again
+$ endif
+$ sindex = sindex + 1
+$ goto loop_over_chars
+$ end_loop_over_chars:
+$ 'p1' == string
+$!
+$ endsubroutine
$!
$! after finding MANIFEST let's create (but not yet enter) the UU subdirectory
$!
$ file_2_find = F$EXTRACT(0,F$LOCATE(" ",line),line)
$ IF F$LOCATE("/",file_2_find) .NE. F$LENGTH(file_2_find)
$ THEN
+$ escaped_fname == file_2_find
+$ call escape_extended_chars escaped_fname "~!#&\'`()+@{},;[]%^=\"
+$ file_2_find = escaped_fname
$Re_strip_line_manifest:
$ loca = F$LOCATE("/",file_2_find)
$ ante = F$EXTRACT(0,loca,file_2_find)
$ 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
$ 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:
$!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
$! 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"
$ GOSUB List_Parse
$ IF .NOT.silent THEN echo ""
$ echo "Default ""cc"" is ''line' ''archsufx' ''F$GETSYI("VERSION")'"
-$ IF F$LOCATE("VAX",line).NE.F$LENGTH(line)
+$ IF (F$LOCATE("VSI",line).NE.F$LENGTH(line)) -
+ .or.(F$LOCATE("HP",F$EDIT(line,"UPCASE")).NE.F$LENGTH(line)) -
+ .or.(F$LOCATE("Compaq",line).NE.F$LENGTH(line))
$ THEN
-$ IF .NOT.silent
-$ THEN
-$ echo "Will try cc/decc..."
-$ ENDIF
-$ SET NOON
-$ DEFINE/USER_MODE SYS$ERROR NL:
-$ DEFINE/USER_MODE SYS$OUTPUT NL:
-$ cc/decc/NoObj/list=ccvms.lis ccvms.c
-$ tmp = $status
-$ SET ON
-$ IF (silent) THEN GOSUB Shut_up
-$ IF tmp.NE.%X10B90001
-$ THEN
-$ echo "Apparently you don't have that one."
-$ ELSE
-$ GOSUB List_parse
-$ echo "You also have: ''line' ''archsufx' ''F$GETSYI("VERSION")'"
-$ vms_cc_available = vms_cc_available + "cc/decc "
-$ ENDIF
-$ ELSE
-$ IF (F$LOCATE("DEC",line).NE.F$LENGTH(line)).or.(F$LOCATE("Compaq",line).NE.F$LENGTH(line)) -
- .or.(F$LOCATE("HP",F$EDIT(line,"UPCASE")).NE.F$LENGTH(line))
-$ THEN
-$ vms_cc_dflt = "/decc"
-$ vms_cc_available = vms_cc_available + "cc/decc "
-$ ENDIF
+$ vms_cc_dflt = "/decc"
+$ vms_cc_available = vms_cc_available + "cc/decc "
$ ENDIF
$!
$Gcc_initial_check:
$ ans = F$EDIT(ans,"TRIM, COMPRESS, LOWERCASE")
$ Mcc = ans
$ IF (F$LOCATE("dec",ans).NE.F$LENGTH(ans)).or.(F$LOCATE("compaq",ans).NE.F$LENGTH(ans)) -
- .or.(F$LOCATE("hp",ans).NE.F$LENGTH(ans))
+ .or.(F$LOCATE("hp",ans).NE.F$LENGTH(ans)) -
+ .or.(F$LOCATE("vsi",ans).NE.F$LENGTH(ans))
$ THEN
$ Mcc = "cc/decc"
$! CPQ ?
$ IF Mcc.NES.dflt
$ THEN
$ IF F$LOCATE("dec",dflt) .NE. F$LENGTH(dflt) .or. -
- F$LOCATE("compaq",dflt) .NE. F$LENGTH(dflt)
+ F$LOCATE("compaq",dflt) .NE. F$LENGTH(dflt) -
+ .or.(F$LOCATE("vsi",dflt).NE.F$LENGTH(dflt))
$ THEN
$ C_COMPILER_Replace = "CC=cc=''Mcc'"
$ ELSE
$ 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:
$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")
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
$ 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
$ 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."
$ ELSE
$ usethreads = "undef"
$ ENDIF
+$ ELSE
+$ usethreads = "undef"
$ ENDIF
$ IF F$TYPE(usethreadupcalls) .EQS. "" THEN usethreadupcalls = "undef"
$ IF F$TYPE(usekernelthreads) .EQS. "" THEN usekernelthreads = "undef"
$ 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 ""
$ 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"
$ 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' ] ")
$ 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' ] ")
$ 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' ] ")
$ 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' ] ")
$!: 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? "
$!: 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' ] ")
$!
$ 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 ""
$ 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")
$ 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..."
$!
$ 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;}"""
$ 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_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_hypot = "define"
$ d_ilogb = "define"
$ d_isnan = "define"
-$ d_isnanl = "define"
$ d_isnormal = "define"
$ d_j0 = "define"
$ d_lgamma = "define"
$ d_lrintl = "define"
$ d_lround = "define"
$ d_lroundl = "define"
-$ d_nearbyint = "define"
$ d_nextafter = "define"
$ d_nexttoward = "define"
$ d_remainder = "define"
$ d_trunc = "define"
$ d_truncl = "define"
$ ELSE
+$ d_double_style_vax = "define"
+$ IF uselongdouble .OR. uselongdouble .EQS. "define"
+$ THEN
+$ d_long_double_style_vax = "undef" ! VAX format H unlikely
+$ ENDIF
+$ d_acosh = "undef"
$ d_acosh = "undef"
$ d_asinh = "undef"
$ d_atanh = "undef"
$ d_hypot = "undef"
$ d_ilogb = "undef"
$ d_isnan = "undef"
-$ d_isnanl = "undef"
$ d_isnormal = "undef"
$ d_j0 = "undef"
$ d_lgamma = "undef"
$ d_lrintl = "undef"
$ d_lround = "undef"
$ d_lroundl = "undef"
-$ d_nearbyint = "undef"
$ d_nextafter = "undef"
$ d_nexttoward = "undef"
$ d_remainder = "undef"
$!
$! Now some that we build up
$!
-$ use5005threads = "undef"
$ d_old_pthread_create_joinable = "undef"
$ old_pthread_create_joinable = " "
$ IF use_threads
$ THEN
$ longdblsize="0"
$ longdblkind="0"
+$ longdblinfbytes="undef"
+$ longdblnanbytes="undef"
+$ longdblmantbits="undef"
$ d_longdbl="undef"
$ echo "You do not have long double."
$ ELSE
$ 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
$ 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"
$ echo "You do not have off64_t."
$ ENDIF
$!
+$! Check to see if fpclassify exists
+$!
+$ OS
+$ WS "#if defined(__DECC) || defined(__DECCXX)"
+$ WS "#include <stdlib.h>"
+$ WS "#endif"
+$ WS "#include <math.h>"
+$ 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..."
$ ENDIF
$ d_fcntl_can_lock = tmp
$!
-$! Check for memchr
+$! Check to see if isblank exists
+$!
+$ OS
+$ WS "#include <stdlib.h>"
+$ WS "#include <ctype.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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 <stdlib.h>"
+$ WS "#include <math.h>"
+$ 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)"
$ 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 = "memchr"
+$ tmp = "memrchr"
$ GOSUB inlibc
-$ d_memchr = tmp
+$ d_memrchr = tmp
+$!
+$! Check for strnlen
+$!
+$ OS
+$ WS "#if defined(__DECC) || defined(__DECCXX)"
+$ WS "#include <stdlib.h>"
+$ WS "#endif"
+$ WS "#include <string.h>"
+$ WS "int main()"
+$ WS "{"
+$ WS "size_t len;"
+$ WS "len = strnlen(""foot"", 3);"
+$ WS "exit(0);"
+$ WS "}"
+$ CS
+$ tmp = "strnlen"
+$ GOSUB inlibc
+$ d_strnlen = tmp
$!
$! Check for strtoull
$!
$ WS "int main()"
$ WS "{"
$ WS "long double result;"
-$ WS "result = strtold(""123123"", NULL, 10);"
+$ WS "result = strtold(""123123"", NULL);"
$ WS "exit(0);"
$ WS "}"
$ CS
$ GOSUB inlibc
$ d_access = tmp
$!
-$! Check for bzero
-$!
-$ OS
-$ WS "#if defined(__DECC) || defined(__DECCXX)"
-$ WS "#include <stdlib.h>"
-$ WS "#endif"
-$ WS "#include <stdio.h>"
-$ WS "#include <strings.h>"
-$ 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 <stdlib.h>"
-$ WS "#endif"
-$ WS "#include <stdio.h>"
-$ WS "#include <strings.h>"
-$ 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
$! 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
$!
$ 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"
$ 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."
$ 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.
$ 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"
$ 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"
$ d_attribut="undef"
$ ENDIF
$!
-$ d_bcmp="define"
$ d_getitimer="define"
$ d_gettimeod="define"
$ d_mmap="define"
$ 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"
$ 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.
$ 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"
$ 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"
$ 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
$ tmp = "''uvtype'"
$ GOSUB type_size_check
$ uvsize = tmp
-$ IF use64bitint .OR. use64bitint .EQS. "define" THEN u64size = tmp
$!
$ tmp = "''i8type'"
$ GOSUB type_size_check
$ 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 + "'"
$ 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 + "'"
$ 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'"
$ 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_cbrt='" + d_cbrt + "'"
-$ WC "d_charvspr='undef'"
$ 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_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 + "'"
$ WC "d_eunice='undef'"
$ WC "d_exp2='" + d_exp2 + "'"
$ WC "d_expm1='" + d_expm1 + "'"
-$ WC "d_fchmod='undef'"
+$ 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'"
$ 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 + "'"
$ 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'"
$ 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 + "'"
$ 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='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='undef'"
-$ WC "d_llrintl='undef'"
-$ WC "d_llround='undef'"
-$ WC "d_llroundl='undef'"
+$ 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_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_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 + "'"
$ WC "d_nanosleep='" + d_nanosleep + "'"
$ WC "d_ndbm='undef'"
$ WC "d_ndbm_h_uses_prototypes='undef'"
-$ WC "d_nearbyint='undef'"
+$ WC "d_nearbyint='" + d_nearbyint + "'"
$ WC "d_nextafter='" + d_nextafter + "'"
$ WC "d_nexttoward='" + d_nexttoward + "'"
$ WC "d_nice='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'"
$ 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_rewinddir='define'"
$ WC "d_rint='" + d_rint + "'"
$ WC "d_rmdir='define'"
-$ WC "d_round='undef'"
-$ WC "d_safebcpy='undef'"
-$ WC "d_safemcpy='define'"
-$ WC "d_sanemcmp='define'"
+$ WC "d_round='" + d_round + "'"
$ WC "d_sbrkproto='define'"
-$ WC "d_scalbn='undef'"
-$ 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'"
$ 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 + "'"
$ 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 + "'"
$ 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 + "'"
$ 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_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'"
$ 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'"
$ 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=' '"
$ 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='" + "'"
$ 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'"
$ 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'"
$ 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 + "'"
$ 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'"
$ 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 + "'"
$ 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 + "'"
$ 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"
$ WC "nvFUformat='" + nvFUformat + "'"
$ WC "nvgformat='" + nvgformat + "'"
$ WC "nvGUformat='" + nvGUformat + "'"
+$ WC "nvmantbits='" + nvmantbits + "'"
$ WC "nvsize='" + nvsize + "'"
$ WC "nvtype='" + nvtype + "'"
$ WC "o_nonblock=' '"
$ 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=' '"
$ 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 + "'"
$ 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'"
$ WC "uvxformat='" + uvxformat + "'"
$ WC "uvXUformat='" + uvXUformat + "'"
$ WC "vendorarch='" + "'"
-$ WC "vaproto='define'"
$ WC "vendorarchexp='" + "'"
$ WC "vendorbin='" + "'"
$ WC "vendorbinexp='" + "'"
$! 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'"
$ 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'"
$ 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'"
$ 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'"
$ 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'"
$ 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
$!
$! 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
$!
$ 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:
$! 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
$ 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
$ 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 "$ encguess == """ + perl_setup_perl + " ''vms_prefix':[utils]encguess.com"""
-$ WRITE CONFIG "$ find2perl == """ + perl_setup_perl + " ''vms_prefix':[utils]find2perl.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"""
$ 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"""