VMS patch (from Peter Prymmer)
Gurusamy Sarathy [Sat, 26 Feb 2000 08:03:36 +0000 (08:03 +0000)]
p4raw-id: //depot/perl@5271

Makefile.SH
README.vms
configure.com
vms/descrip_mms.template
vms/sockadapt.h
vms/subconfigure.com

index 0817c99..56c5d91 100644 (file)
@@ -534,7 +534,6 @@ extra.pods: miniperl
            $(LNS) ../$$x "pod/perl"$$nx".pod" ; \
            echo "pod/perl"$$nx".pod" >> extra.pods ; \
        done
-       -@test -f README.vms && $(LNS) ../README.vms pod/README_vms.pod && echo "pod/README_vms.pod" >> extra.pods
        -@test -f vms/perlvms.pod && $(LNS) ../vms/perlvms.pod pod/perlvms.pod && echo "pod/perlvms.pod" >> extra.pods
 
 install-strip:
@@ -558,9 +557,7 @@ install.man:        all installman
 # XXX Experimental. Hardwired values, but useful for testing.
 # Eventually Configure could ask for some of these values.
 install.html: all installhtml
-       -@test -f pod/README_vms.pod && rm -f pod/README_vms.pod
        -@test -f README.vms && $(LNS) ../README.vms vms/README_vms.pod
-       -@test -f pod/perlvms.pod && rm -f pod/perlvms.pod
        $(LDLIBPTH) ./perl installhtml                   \
       --podroot=. --podpath=. --recurse  \
       --htmldir=$(privlib)/html     \
index e58e6dd..f6d970f 100644 (file)
@@ -327,70 +327,73 @@ rebuild attempt.  They might not, too, so it is best to be sure and do it.
 There are several steps you need to take to get Perl installed and
 running.
 
-1) Create a directory somewhere and define the concealed logical PERL_ROOT
-to point to it. For example, 
+=over 4
 
-    CREATE/DIRECTORY dka200:[perl]
-    DEFINE/TRANS=(CONC,TERM) PERL_ROOT dka200:[perl.]
+=item 1
 
-2) Run the install script via:
+Check your default file protections with
 
-    MMS install
+     SHOW PROTECTION /DEFAULT
 
-or
+and adjust if necessary with SET PROTECTION=(code)/DEFAULT.
 
-    MMK install
+=item 2
 
-If for some reason it complains about target INSTALL being up to date,
-throw a /FORCE switch on the MMS or MMK command.
+Create a directory somewhere and either run @perl_setup or 
+define the concealed logical PERL_ROOT to point to it by hand. 
+For example, 
 
-The DCL script [.VMS]PERL_SETUP.COM that is written by CONFIGURE.COM 
-will take care of most of the following:
+    CREATE/DIRECTORY dka200:[perl]
+    @PERL_SETUP
+    SHOW LOGICAL PERL_ROOT
 
-3) Either create the global foreign symbol PERL somewhere, such as
-SYS$MANAGER:SYLOGIN.COM, to be
+or,
 
-    $ PERL :== "$PERL_ROOT:[000000]PERL.EXE"
+    CREATE/DIRECTORY dka200:[perl]
+    DEFINE/TRANS=(CONC,TERM) PERL_ROOT dka200:[perl.]
 
-or install Perl into DCLTABLES.EXE (Check out the section "Installing Perl
-into DCLTABLES (optional)" for more information), or put the image in a 
-directory that's in your DCL$PATH (if you're using VMS V6.2 or higher).
 
-4) Either define the logical name PERLSHR somewhere 
-(such as in PERL_SETUP.COM) like so
+=item 3
 
-    $ DEFINE/NOLOG PERLSHR PERL_ROOT:[000000]PERLSHR.EXE
+Run the install script via:
 
-or copy the file into the system shareable library directory with
+    MMS install
 
-    copy perl_root:[000000]perlshr.exe sys$share:
+or
 
-5) Optionally define the command PERLDOC as 
+    MMK install
 
-    $ PERLDOC == "$PERL_ROOT:[000000]PERL PERL_ROOT:[LIB.POD]PERLDOC.COM -t"
+If for some reason it complains about target INSTALL being up to date,
+throw a /FORCE switch on the MMS or MMK command.
 
-(See above for where to find the B<most> pager for use with perldoc).
+=back
+
+The DCL script PERL_SETUP.COM that is written by CONFIGURE.COM
+will help you with the definition of PERL_ROOT, PERLSHR and the PERL
+Foreign symbol.  Take a look at PERL_SETUP.COM and modify it if you want 
+to.  Then copy PERL_SETUP.COM to a place accessible to your perl users.  
+For example:
 
-6) Optionally define the command PERLBUG (the Perl bug report generator) as
+    COPY PERL_SETUP.COM SYS$LIBRARY: 
 
-    $ PERLBUG == "$PERL_ROOT:[000000]PERL PERL_ROOT:[LIB]PERLBUG.COM"
+If you want to have everyone on the system have access to perl
+then add a line that reads
 
-7) Optionally define the command POD2MAN (Converts POD files to nroff
-source suitable for converting to man pages. Also quiets complaints during
-module builds) as
+    $ @sys$library:perl_setup
 
-    $ DEFINE/NOLOG POD2MAN PERL_ROOT:[LIB.POD]POD2MAN.COM
-    $ POD2MAN == "$PERL_ROOT:[000000]PERL POD2MAN"
+to SYS$MANAGER:SYLOGIN.COM.
 
-8) Optionally define the command POD2TEXT (Converts POD files to text,
-which is required for B<perldoc -f> to work properly) as
+Two alternatives to the foreign symbol would be to install PERL into 
+DCLTABLES.EXE (Check out the section "Installing Perl into DCLTABLES 
+(optional)" for more information), or put the image in a 
+directory that's in your DCL$PATH (if you're using VMS V6.2 or higher).
 
-    $ DEFINE/NOLOG POD2TEXT PERL_ROOT:[LIB.POD]POD2TEXT.COM
-    $ POD2TEXT == "$PERL_ROOT:[000000]PERL POD2TEXT"
+An alternative to having PERL_SETUP.COM define the PERLSHR logical name
+is to simply copy it into the system shareable library directory with:
+
+    copy perl_root:[000000]perlshr.exe sys$share:
 
-In all these cases, if you've got PERL defined as a foreign command symbol, 
-you can replace $PERL_ROOT:[000000]PERL with ''perl'.  If you have installed 
-perl into DCLTABLES, replace it with just perl.
+See also the "INSTALLing images (optional)" section.
 
 =head2 Installing Perl into DCLTABLES (optional)
 
@@ -567,7 +570,7 @@ of extending vmsperl with CPAN modules after Perl has been installed.
 
 =head1 AUTHORS
 
-Last revised 13-February-2000 by Peter Prymmer pvhp@best.com.  
+Last revised 25-February-2000 by Peter Prymmer pvhp@best.com.  
 Revised 27-October-1999 by Craig Berry craig.berry@metamorgs.com.  
 Revised 01-March-1999 by Dan Sugalski dan@sidhe.org.  
 Originally by Charles Bailey bailey@newman.upenn.edu.
@@ -601,6 +604,8 @@ missed someone.  That said, special thanks are due to the following:
   the Stanford Synchrotron Radiation Laboratory and the
      Laboratory of Nuclear Studies at Cornell University for
      the opportunity to test and develop for the AXP,
+  John Hasstedt John.Hasstedt@sunysb.edu
+     for VAX VMS V7.2 support
 
 and to the entire VMSperl group for useful advice and suggestions.  In
 addition the perl5-porters deserve credit for their creativity and
index af42385..ccb66bd 100644 (file)
@@ -4,12 +4,12 @@ $!
 $! For example, if you unpacked perl into: [USER.PERL5_00n...] then you will 
 $! want to cd into the tree and execute Configure:
 $!
-$! $ SET DEFAULT [USER.PERL5_00n]
+$! $ SET DEFAULT [USER.PERL5_xxx]
 $! $ @Configure 
 $!
 $! or
 $!
-$! $ SET DEFAULT [USER.PERL5_00n]
+$! $ SET DEFAULT [USER.PERL5_xxx]
 $! $ @Configure "-des"
 $!
 $! That's it. If you get into a bind trying to build perl on VMS then 
@@ -19,7 +19,7 @@ $!
 $! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 $!
 $! send suggestions to: 
-$!  Dan Sugalski <sugalskd@ous.edu>
+$!  Dan Sugalski <dan@sidhe.org>
 $! Thank you!!!!
 $!
 $! Adapted and converted from Larry Wall & Andy Dougherty's
@@ -39,7 +39,7 @@ $ cat  = "type"
 $ gcc_symbol = "gcc"
 $ ans = ""
 $ macros = ""
-$ use_vmsdebug_perl = "N"
+$ use_vmsdebug_perl = "n"
 $ use_debugging_perl = "Y"
 $ use_64bitint = "n"
 $ C_Compiler_Replace = "CC="
@@ -395,7 +395,7 @@ $ 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 (tmp .GES. "7.2") .AND. (F$GETSYI("HW_MODEL") .GE. 1024) THEN GOTO Beyond_depth_check
 $   IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("Default")).nes.".")
 $   THEN
 $     TYPE SYS$INPUT:
@@ -590,7 +590,7 @@ $ user = F$EDIT(F$GETJPI("","USERNAME"),"TRIM,COLLAPSE")
 $ IF .NOT.(F$SEARCH("[-.CONFIG]INSTRUCT.").EQS."")
 $ THEN
 $   messages = F$ENVIRONMENT("MESSAGE")
-$   SET MESSAGE/NOFAC/NOSEV/NOIDENT/NOTEXT !sorry :-(
+$   SET MESSAGE/NOFAC/NOSEV/NOIDENT/NOTEXT
 $   contains /NOOUTPUT [-.CONFIG]INSTRUCT. 'user'
 $   IF .NOT.($status.EQ.%X08D78053)
 $   THEN
@@ -600,7 +600,7 @@ $     rp = "Would you like to see the instructions? [''dflt'] "
 $     GOSUB myread
 $     if .NOT.ans THEN needman=""
 $   ENDIF
-$   SET MESSAGE 'messages'                 !hope you made it here :-)
+$   SET MESSAGE 'messages'
 $ ENDIF
 $ if (fastread.AND.silent.AND.(alldone.eqs."cont")) THEN needman=""
 $!
@@ -618,9 +618,9 @@ brackets; typing carriage return will give you the default.
 $   READ SYS$COMMAND/PROMPT="Type carriage return to continue " ans
 $   TYPE SYS$INPUT:
 
-In a hurry? You may run '@Configure -d'.  This will bypass nearly all
+In a hurry? You may run '@Configure "-d"'.  This will bypass nearly all
 the questions and use the computed defaults (or the previous answers provided 
-there was already a config.sh file). Type '@Configure -h' for a list of 
+there was already a config.sh file). Type '@Configure "-h"' for a list of 
 options.
 
 $   READ SYS$COMMAND/PROMPT="Type carriage return to continue " ans
@@ -1925,9 +1925,9 @@ $Build_probe:
 $ build = F$ELEMENT(n,"/",builders)
 $ probe  = F$ELEMENT(n,"!",probers)
 $ echo "Testing whether you have ''build' on your system..."
-$ SET NOON                                        !sorry :-(
-$ ON CONTROL_Y THEN GOTO Reenable_messages_build  !sorry :-(
-$ SET MESSAGE/NOFAC/NOSEV/NOIDENT/NOTEXT          !sorry :-(
+$ SET NOON
+$ ON CONTROL_Y THEN GOTO Reenable_messages_build
+$ SET MESSAGE/NOFAC/NOSEV/NOIDENT/NOTEXT
 $ 'build' 'probe'
 $ IF ($SEVERITY .EQ. 1)
 $ THEN 
@@ -1942,9 +1942,9 @@ $   IF (.NOT. default_set) THEN dflt = build
 $ ELSE 
 $   echo "Nope."
 $ ENDIF
-$Reenable_messages_build:                         !hope you made it here :-)
-$ SET MESSAGE 'messages'                          !hope you made it here :-)
-$ SET ON                                          !hope you made it here :-)
+$Reenable_messages_build:
+$ SET MESSAGE 'messages'
+$ SET ON
 $ n = n + 1
 $ IF (n .LT. max_build) THEN GOTO Build_probe
 $!
@@ -2097,7 +2097,7 @@ $! %Config-I-VMS, write perl_setup.com here
 $!
 $ echo ""
 $ echo4 "%Config-I-VMS, The perl_setup.com file is now being written..."
-$ file_2_find = "[-.vms]perl_setup.com"
+$ file_2_find = "[-]perl_setup.com"
 $ OPEN/WRITE CONFIG 'file_2_find'
 $ WRITE CONFIG "$!"
 $ WRITE CONFIG "$! Perl_Setup.com    ''cf_time'"
@@ -2126,6 +2126,9 @@ $ else
 $   WRITE CONFIG "$ perl :== $Perl_Root:[000000]Perl'ext'"
 $   WRITE CONFIG "$ define PerlShr Perl_Root:[000000]PerlShr'ext'"
 $ endif
+$ WRITE CONFIG "$ define/nolog pod2text Perl_Root:[lib.pod]pod2text.com"
+$ WRITE CONFIG "$ define/nolog pod2html Perl_Root:[lib.pod]pod2html.com"
+$ WRITE CONFIG "$ define/nolog pod2man  Perl_Root:[lib.pod]pod2man.com"
 $!
 $ IF (tzneedset)
 $ THEN
@@ -2136,7 +2139,14 @@ $ ENDIF
 $ WRITE CONFIG "$!"
 $ WRITE CONFIG "$! Symbols for commonly used scripts:"
 $ WRITE CONFIG "$!"
-$ WRITE CONFIG "$ Perldoc == ""'"+"'Perl' Perl_Root:[lib.pod]Perldoc.com -t"""
+$ WRITE CONFIG "$ Perldoc  == ""'"+"'Perl' Perl_Root:[lib.pod]Perldoc.com -t"""
+$ WRITE CONFIG "$ pod2text == ""'"+"'Perl' pod2text"""
+$ WRITE CONFIG "$ pod2html == ""'"+"'Perl' pod2html"""
+$ WRITE CONFIG "$!pod2man  == ""'"+"'Perl' pod2man"""
+$ WRITE CONFIG "$!Perlbug  == ""'"+"'Perl' Perl_Root:[lib]Perlbug.com"""
+$ WRITE CONFIG "$!c2ph == ""'"+"'Perl' c2ph"""
+$ WRITE CONFIG "$!h2ph == ""'"+"'Perl' h2ph"""
+$ WRITE CONFIG "$!h2xs == ""'"+"'Perl' h2xs"""
 $ CLOSE CONFIG
 $!
 $ echo  ""
index c07c6d9..9e426e9 100644 (file)
@@ -375,7 +375,7 @@ pod8 = [.lib.pod]perltoot.pod [.lib.pod]perltootc.pod [.lib.pod]perltrap.pod [.l
 pod9 = [.lib.pod]perlfaq.pod [.lib.pod]perlfaq1.pod [.lib.pod]perlfaq2.pod [.lib.pod]perlfaq3.pod [.lib.pod]perlfaq4.pod [.lib.pod]perlfaq5.pod
 pod10 = [.lib.pod]perlfaq6.pod [.lib.pod]perlfaq7.pod [.lib.pod]perlfaq8.pod [.lib.pod]perlfaq9.pod
 
-perlpods : $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) $(pod9) $(pod10) [.lib.pod]perlvms.pod [.lib.pod]README_vms.pod
+perlpods : $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) $(pod9) $(pod10) [.lib.pod]perlvms.pod
        @ $(NOOP)
 
 archcorefiles : $(ac) $(acth) $(ARCHAUTO)time.stamp
@@ -850,13 +850,10 @@ preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) $(SOCKPM)
        @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
        @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
 
-[.lib.pod]README_vms.pod : README.vms
-       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
-
-[.lib.pod]perlwin32.pod : README.win32
-       @ If F$Search("[.lib]pod.dir").eqs."" Then Create/Directory [.lib.pod]
-       @ Copy/Log $(MMS$SOURCE) $(MMS$TARGET)
+install.html : []perl_setup.com installhtml. install $(perlpods)
+       @ @perl_setup
+       @ If F$Search("[.lib]html.dir").eqs."" Then Create/Directory [.lib.html]
+       $(MINIPERL) installhtml. "--podroot=/perl_root --recurse --htmldir=lib/html --htmlroot=lib/html --splithead=pod/perlipc --splititem=pod/perlfunc --libpods=perlfunc:perlguts:perlvar:perlrun:perlop --verbose"
 
 printconfig :
         @ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
index 0ff309a..97a49f8 100644 (file)
@@ -35,7 +35,7 @@
    void setservent(int);
    void endservent(void);
 #endif
-#  if defined(__DECC) && defined(__DECC_VER) && (__DECC_VER >= 50200000)
+#  if defined(__DECC) && defined(__DECC_VER) && (__DECC_VER >= 50200000) && !defined(Sock_size_t)
 #    define Sock_size_t unsigned int
 #  endif
 
index dae2bda..dfa3482 100644 (file)
@@ -141,6 +141,7 @@ $   perl_uselargefiles = "undef"
 $   perl_uselongdouble = "undef"
 $   perl_usemorebits = "undef"
 $ ENDIF
+$ use_64bitall = use_64bitint ! until configure.com question is reworded?
 $ IF use_64bitall .eqs. "Y"
 $ THEN
 $   perl_use64bitall = "define"
@@ -3349,7 +3350,12 @@ $ perl_d_gethostprotos="define"
 $ perl_d_getnetprotos="define"
 $ perl_d_getprotoprotos="define"
 $ perl_d_getservprotos="define"
-$ perl_sock_size_type="int *"
+$ IF ("''Using_Dec_C'".EQS."Yes")
+$ THEN
+$ perl_socksizetype="unsigned int"
+$ ELSE
+$ perl_socksizetype="int *"
+$ ENDIF
 $ ELSE
 $ perl_d_vms_do_sockets="undef"
 $ perl_d_htonl="undef"
@@ -3371,7 +3377,7 @@ $ perl_d_gethostprotos="undef"
 $ perl_d_getnetprotos="undef"
 $ perl_d_getprotoprotos="undef"
 $ perl_d_getservprotos="undef"
-$ perl_sock_size_type="undef"
+$ perl_socksizetype="undef"
 $ ENDIF
 $! Threads
 $ if ("''use_threads'".eqs."T")
@@ -3919,7 +3925,7 @@ $ WC "netdb_host_type='" + perl_netdb_host_type + "'"
 $ WC "netdb_hlen_type='" + perl_netdb_hlen_type + "'"
 $ WC "netdb_name_type='" + perl_netdb_name_type + "'"
 $ WC "netdb_net_type='" + perl_netdb_net_type + "'"
-$ WC "sock_size_type='" + perl_sock_size_type + "'"
+$ WC "socksizetype='" + perl_socksizetype + "'"
 $ WC "baserev='" + perl_baserev + "'"
 $ WC "doublesize='" + perl_doublesize + "'"
 $ WC "ptrsize='" + perl_ptrsize + "'"