$(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:
# 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 \
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)
=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.
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
$! 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
$! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$!
$! send suggestions to:
-$! Dan Sugalski <sugalskd@ous.edu>
+$! Dan Sugalski <dan@sidhe.org>
$! Thank you!!!!
$!
$! Adapted and converted from Larry Wall & Andy Dougherty's
$ gcc_symbol = "gcc"
$ ans = ""
$ macros = ""
-$ use_vmsdebug_perl = "N"
+$ use_vmsdebug_perl = "n"
$ use_debugging_perl = "Y"
$ use_64bitint = "n"
$ C_Compiler_Replace = "CC="
$! 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:
$ 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
$ 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=""
$!
$ 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
$ 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
$ 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
$!
$!
$ 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'"
$ 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
$ 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 ""
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
@ 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)
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
$ 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"
$ 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"
$ 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")
$ 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 + "'"