$ use_pack_malloc = "N"
$ use_debugmalloc = "N"
$ ccflags = ""
+$ static_ext = ""
$ vms_default_directory_name = F$ENVIRONMENT("DEFAULT")
$ max_allowed_dir_depth = 3 ! e.g. [A.B.PERLxxx] not [A.B.C.PERLxxx]
$! max_allowed_dir_depth = 2 ! e.g. [A.PERLxxx] not [A.B.PERLxxx]
$!
+$! Sebastian Bazley's request: close the CONFIG handle with /NOLOG
+$! qualifier "just in case" (configure.com is re @ed in a bad state).
+$! This construct was tested to be not a problem as far back as
+$! VMS V5.5-2, hopefully earlier versions are OK as well.
+$!
+$ CLOSE/NOLOG CONFIG
+$!
+$! Now keep track of open files
+$!
$ vms_filcnt = F$GETJPI ("","FILCNT")
$!
$!: compute my invocation name
$ api_subversion = F$ELEMENT(2," ",line)
$ got_api_subversion = "true"
$ ENDIF
-$ IF (.NOT.got_patch).OR.(.NOT.got_sub) THEN GOTO Patchlevel_h_loop
+$ IF (.NOT. got_patch) .OR. -
+ (.NOT. got_sub) .OR. -
+ (.NOT. got_api_revision) .OR. -
+ (.NOT. got_api_version) .OR. -
+ (.NOT. got_api_subversion) -
+ THEN GOTO Patchlevel_h_loop
$Close_patch:
$ CLOSE CONFIG
$ ELSE
$ patchlevel="0"
$ subversion="0"
+$ api_revision="0"
+$ api_version="0"
+$ api_subversion="0"
$ ENDIF
$ IF (F$STRING(subversion) .NES. "0")
$ THEN
$!: Looking for optional libraries
$!: see if nm is to be used to determine whether a symbol is defined or not
$!: get list of predefined functions in a handy place
-$!: see if we have sigaction
+$!: see if we have sigaction or sigprocmask
$!: see whether socketshr exists
$ IF (F$SEARCH(F$PARSE("SocketShr","Sys$Share:.Exe")).NES."")
$ THEN
$ IF ans.eqs."decc" then Has_Dec_C_Sockets = "T"
$ IF ans.eqs."socketshr" then Has_socketshr = "T"
$ ENDIF
+$ IF Has_Dec_C_Sockets .or. Has_socketshr
+$ THEN
+$ static_ext = f$edit(static_ext+" "+"Socket","trim,compress")
+$ ENDIF
$!
$!
$! Ask if they want to build with VMS_DEBUG perl
$ echo ""
$ echo "Which modules do you want to build into perl?"
$! we need to add Byteloader to this list:
-$ dflt = "re Fcntl Encode Errno File::Glob IO Opcode Devel::Peek Devel::DProf Data::Dumper attrs VMS::Stdio VMS::DCLsym B SDBM_File Storable Thread Sys::Hostname"
+$ dflt = "re Fcntl Encode Errno File::Glob Filter::Util::Call IO Opcode Devel::Peek Devel::DProf Data::Dumper attrs VMS::Stdio VMS::DCLsym B SDBM_File Storable Thread Sys::Hostname"
$ IF Using_Dec_C .OR. using_cxx
$ THEN
$ dflt = dflt + " POSIX"
$ ENDIF
$ ENDIF
$!
+$! PerlIO abstraction
+$!
+$ dflt = "n"
+$ IF F$TYPE(useperlio) .NES. ""
+$ THEN
+$ IF useperlio THEN dflt = "y"
+$ IF useperlio .EQS. "define" THEN dflt = "y"
+$ ENDIF
+$ IF .NOT. silent
+$ THEN
+$ echo "Previous version of ''package' used the standard IO mechanisms as"
+$ TYPE SYS$INPUT:
+$ DECK
+defined in <stdio.h>. Versions 5.003_02 and later of perl allow
+alternate IO mechanisms via the PerlIO abstraction layer, but the
+stdio mechanism is still the default. This abstraction layer can
+use AT&T's sfio (if you already have sfio installed) or regular stdio.
+Using PerlIO with sfio may cause problems with some extension modules.
+
+$ EOD
+$ echo "If this does not make any sense to you, just accept the default '" + dflt + "'."
+$ ENDIF
+$ rp = "Use the experimental PerlIO abstraction layer? [''dflt'] "
+$ GOSUB myread
+$ IF ans .EQS. "" THEN ans = dflt
+$ IF ans
+$ THEN
+$ useperlio = "define"
+$ ELSE
+$ echo "Ok, doing things the stdio way."
+$ useperlio = "undef"
+$ ENDIF
+$!
$ echo ""
$ echo4 "Checking the C run-time library."
$!
$ GOSUB inlibc
$ d_strtoll = tmp
$!
+$! Check for strtoq
+$!
+$ OS
+$ WS "#if defined(__DECC) || defined(__DECCXX)"
+$ WS "#include <stdlib.h>"
+$ WS "#endif"
+$ WS "#include <string.h>"
+$ WS "int main()"
+$ WS "{"
+$ WS "__int64 result;"
+$ WS "result = strtoq(""123123"", NULL, 10);"
+$ WS "exit(0);"
+$ WS "}"
+$ CS
+$ tmp = "strtoq"
+$ GOSUB inlibc
+$ d_strtoq = tmp
+$!
+$! Check for strtoq
+$!
+$ OS
+$ WS "#if defined(__DECC) || defined(__DECCXX)"
+$ WS "#include <stdlib.h>"
+$ WS "#endif"
+$ WS "#include <string.h>"
+$ WS "int main()"
+$ WS "{"
+$ WS "__int64 result;"
+$ WS "result = strtoq(""123123"", NULL, 10);"
+$ WS "exit(0);"
+$ WS "}"
+$ CS
+$ tmp = "strtoq"
+$ GOSUB inlibc
+$ d_strtoq = tmp
+$!
$! Check for strtold
$!
$ OS
$ GOSUB inlibc
$ d_setvbuf = tmp
$!
+$! see if sfio.h is available
+$! see if sfio library is available
+$! Ok, but do we want to use it.
+$! IF F$TYPE(usesfio) .EQS. "" THEN usesfio = "undef"
+$! IF val .EQS. "define"
+$! THEN
+$! IF usesfio .EQS. "define"
+$! THEN dflt = "y"
+$! ELSE dflt = "n"
+$! ENDIF
+$! echo "''package' can use the sfio library, but it is experimental."
+$! IF useperlio .EQS. "undef"
+$! THEN
+$! echo "For sfio also the PerlIO abstraction layer is needed."
+$! echo "Earlier you said you would not want that."
+$! ENDIF
+$! rp="You seem to have sfio available, do you want to try using it? [''dflt'] "
+$! GOSUB myread
+$! IF ans .EQS. "" THEN ans = dflt
+$! IF ans
+$! THEN
+$! echo "Ok, turning on both sfio and PerlIO, then."
+$! useperlio="define"
+$! val="define"
+$! ELSE
+$! echo "Ok, avoiding sfio this time. I'll use stdio instead."
+$! val="undef"
+$! ENDIF
+$! ELSE
+$! IF usesfio .EQS. "define"
+$! THEN
+$! echo4 "Sorry, cannot find sfio on this machine."
+$! echo4 "Ignoring your setting of usesfio=''usesfio'."
+$! val="undef"
+$! ENDIF
+$! ENDIF
+$!
$! Check for setenv
$!
$ OS
$ d_gettimeod="define"
$ d_uname="define"
$ d_sigaction="define"
+$ d_sigprocmask="define"
$ d_truncate="define"
$ d_wait4="define"
$ d_index="define"
$ sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 64"",0"
$ sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,64,0"
$! perl_sig_num_with_commas=sig_num_init
+$ sig_size="36"
$ uidtype="uid_t"
$ d_pathconf="define"
$ d_fpathconf="define"
$ d_bcmp="undef"
$ d_uname="undef"
$ d_sigaction="undef"
+$ d_sigprocmask="undef"
$ d_truncate="undef"
$ d_wait4="undef"
$ d_index="undef"
$ sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17"",0"
$ sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0"
$! perl_sig_num_with_commas=sig_num_init
+$ sig_size="19"
$ uidtype="unsigned int"
$ d_pathconf="undef"
$ d_fpathconf="undef"
$ uvuformat="""lu"""
$ uvoformat="""lo"""
$ uvxformat="""lx"""
+$ uvxuformat="""lX"""
$! uselongdouble?
$ nveformat="""e"""
$ nvfformat="""f"""
$ IF use_vmsdebug_perl
$ THEN
$ optimize="/Debug/NoOpt"
+$ ldflags="/Debug/Trace/Map"
$ dbgprefix = "DBG"
$ ELSE
$ optimize= ""
+$ ldflags="/NoTrace/NoMap"
$ dbgprefix = ""
$ ENDIF
$!
$ WC "CONFIG='true'"
$ WC "Makefile_SH='" + Makefile_SH + "'"
$ WC "Mcc='" + Mcc + "'"
-$! WC "PERL_SUBVERSION='" + subversion + "'" ! VMS specific to descrip_mms.template
-$ WC "PERL_VERSION='" + patchlevel + "'" ! VMS specific to descrip_mms.template
+$ WC "PERL_REVISION=" + revision
+$ WC "PERL_VERSION=" + patchlevel
+$ WC "PERL_SUBVERSION=" + subversion
+$ WC "PERL_API_VERSION=" + api_version
+$ WC "PERL_API_SUBVERSION=" + api_subversion
$ WC "alignbytes='" + alignbytes + "'"
$ WC "aphostname='" + "'"
$ WC "ar='" + "'"
$ WC "d_shm='undef'"
$ WC "d_shmatprototype='undef'"
$ WC "d_sigaction='" + d_sigaction + "'"
+$ WC "d_sigprocmask='" + d_sigprocmask + "'"
$ WC "d_sigsetjmp='" + d_sigsetjmp + "'"
$ WC "d_socket='" + d_socket + "'"
$ WC "d_socklen_t='" + d_socklen_t + "'"
$ WC "d_strtol='define'"
$ WC "d_strtold='" + d_strtold + "'"
$ WC "d_strtoll='" + d_strtoll + "'"
+$ WC "d_strtoq='define'"
$ WC "d_strtoul='define'"
$ WC "d_strtoull='" + d_strtoull + "'"
$ WC "d_strtouq='" + d_strtouq + "'"
$ WC "known_extensions='" + known_extensions + "'"
$ WC "ld='" + ld + "'"
$ WC "lddlflags='/Share'"
-$ WC "ldflags='/NoTrace/NoMap'"
+$ WC "ldflags='" + ldflags + "'"
$ WC "lib_ext='" + lib_ext + "'"
$ WC "libc='" + libc + "'"
$ WC "libpth='/sys$share /sys$library'"
$ WC "mydomain='" + mydomain + "'"
$ WC "myhostname='" + myhostname + "'"
$ WC "myuname='" + myuname + "'"
+$ WC "need_va_copy='undef'"
$ WC "netdb_hlen_type='" + netdb_hlen_type + "'"
$ WC "netdb_host_type='" + netdb_host_type + "'"
$ WC "netdb_name_type='" + netdb_name_type + "'"
$ DELETE/SYMBOL tmp
$ WC "sig_num='" + sig_num + "'"
$ WC "sig_num_init='" + sig_num_init + "'"
+$ WC "sig_size='" + sig_size + "'"
$ WC "signal_t='" + signal_t + "'"
$ WC "sitearch='" + sitearch + "'"
$ WC "sitearchexp='" + sitearchexp + "'"
$ WC "src='" + src + "'"
$ WC "ssizetype='int'"
$ WC "startperl=" + startperl ! This one's special--no enclosing single quotes
-$ WC "static_ext='" + "'"
+$ WC "static_ext='" + static_ext + "'"
$ WC "stdchar='" + stdchar + "'"
$ WC "stdio_base='((*fp)->_base)'"
$ WC "stdio_bufsiz='((*fp)->_cnt + (*fp)->_ptr - (*fp)->_base)'"
$ WC "usemorebits='" + usemorebits + "'"
$ WC "usemultiplicity='" + usemultiplicity + "'"
$ WC "usemymalloc='" + usemymalloc + "'"
-$ WC "useperlio='undef'"
+$ WC "useperlio='" + useperlio + "'"
$ WC "useposix='false'"
$ WC "usesocks='undef'"
$ WC "usethreads='" + usethreads + "'"
$ WC "uvtype='" + uvtype + "'"
$ WC "uvuformat='" + uvuformat + "'"
$ WC "uvxformat='" + uvxformat + "'"
+$ WC "uvxuformat='" + uvxuformat + "'"
$ WC "vendorarchexp='" + "'"
$ WC "vendorlib_stem='" + "'"
$ WC "vendorlibexp='" + "'"