$ sav_ver = 'F$VERIFY(0)'
$! SET VERIFY
$!
-$! Installation and usage: COPY this file into you perl source tree - at or
-$! below where the main MANIFEST. file is located.
-$!
$! For example, if you unpacked perl into: [USER.PERL5_00n...] then you will
-$! want to:
-$!
-$! $ COPY Configure.com [USER.PERL5_00n.VMS]
-$!
-$! Now cd into the tree and execute Configure:
+$! want to cd into the tree and execute Configure:
$!
$! $ SET DEFAULT [USER.PERL5_00n]
-$! $ @[.vms]Configure
+$! $ @Configure
$!
$! or
$!
$! $ SET DEFAULT [USER.PERL5_00n]
-$! $ @[.vms]Configure "-des"
+$! $ @Configure "-des"
$!
$! That's it. If you get into a bind trying to build perl on VMS then
$! definitely read through the README.VMS file.
$ ELSE
$! MANIFEST. has been found and we have set def'ed there -
$! time to bail out before it's too late.
+$ tmp = f$extract(1,3,f$edit(f$getsyi("VERSION"),"TRIM,COLLAPSE"))
+$ IF tmp .GES. "7.2" THEN GOTO Beyond_depth_check
$ IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("Default")).nes.".")
$ THEN
$ TYPE SYS$INPUT:
$ STOP
$ EXIT !2 !$STATUS = "%X00000002" (error)
$ ENDIF
+$Beyond_depth_check:
$!
$! after finding MANIFEST let's create (but not yet enter) the UU subdirectory
$!
$ ENDIF
$ IF (archname.EQS."VMS_AXP")
$ THEN
-$ dflt = "N"
+$ dflt = "n"
$ rp = "Are you sharing your PERL_ROOT with a VAX? [''dflt'] "
$ GOSUB myread
$ if ans.NES.""
$ THEN
$ dflt = "DECC"
$ else
-$ dlft = "SOCKETSHR"
+$ dflt = "SOCKETSHR"
$ endif
$ rp = "Choose socket stack (NONE"
$ if "''has_socketshr'".eqs."T" THEN rp = rp + ",SOCKETSHR"
$ echo "unpatched 7.1 system. (Several OS patches were required when
$ echo "this procedure was written)
$ echo ""
-$ dflt = "N"
+$ dflt = "n"
$ rp = "Enable multiple kernel threads and upcalls? [''dflt'] "
$ gosub myread
$ if ans.eqs."" then ans="''dflt'"
$ echo "a time penalty (to spawn the subprocess) every time you invoke
$ echo "perl. Depending on your system, this might not be a big deal.
$ echo ""
-$ dflt = "N"
+$ dflt = "n"
$ rp = "Populate %ENV at startup time? [''dflt'] "
$ GOSUB myread
$ if ans.eqs."" then ans="''dflt'"
$ echo "system memory allocator. It also has the advantage of providing
$ echo "memory allocation statistics, if you choose to enable them.
$ echo ""
-$ dflt = "N"
+$ dflt = "n"
$ rp = "Build with perl's memory allocator? [''dflt'] "
$ GOSUB myread
$ if ans.eqs."" then ans="''dflt'"
$ echo "them. This is useful for debugging, but does have some
$ echo "performance overhead.
$ echo ""
-$ dflt = "N"
+$ dflt = "n"
$ rp = "Do you want the debugging memory allocator? [''dflt'] "
$ gosub myread
$ if ans.eqs."" then ans="''dflt'"
$! Invoke the subconfig piece
$!
$ echo ""
-$ echo4 "Generating config.h"
+$ echo4 "Checking the C Run time library"
$ dflt = F$ENVIRONMENT("DEFAULT")
$ SET DEFAULT [-.vms]
$ @subconfigure
$ ENDIF
$ WRITE_RESULT "selectype is ''perl_selecttype'"
$!
+$! Check for sys/file.h
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <sys/file.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_sysfile="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_sysfile="undef"
+$ ELSE
+$ perl_i_sysfile="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "i_sysfile is ''perl_i_sysfile'"
+$!
+$! Check for fcntl.h
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <fcntl.h>
+$ WS "int main()
+$ WS "{"
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_fcntl="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_i_fcntl="undef"
+$ ELSE
+$ perl_i_fcntl="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "i_fcntl is ''perl_i_fcntl'"
+$!
+$! Check for fcntl
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "#include <unistd.h>
+$ WS "#include <fcntl.h>
+$ WS "int main()
+$ WS "{"
+$ WS "fcntl(1,2,3);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_fcntl="undef"
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ ELSE
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_fcntl="undef"
+$ ELSE
+$ perl_d_fcntl="define"
+$ ENDIF
+$ ENDIF
+$ WRITE_RESULT "d_fcntl is ''perl_d_fcntl'"
+$!
$! Check for bzero
$!
$ OS
$ ELSE
$ if "''Has_Socketshr'" .eqs."T"
$ THEN
-$ SOCKET_REPLACE = "SOCKET=SOCKETSHRSOCKETS=1"
+$ SOCKET_REPLACE = "SOCKET=SOCKETSHR_SOCKETS=1"
$ ELSE
$ SOCKET_REPLACE = "SOCKET="
$ ENDIF