This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
modify VMS default prefix for installation
authorPeter Prymmer <PPrymmer@factset.com>
Tue, 14 Aug 2001 13:33:32 +0000 (06:33 -0700)
committerJarkko Hietaniemi <jhi@iki.fi>
Wed, 15 Aug 2001 03:25:32 +0000 (03:25 +0000)
Message-ID: <Pine.OSF.4.10.10108141327590.192110-100000@aspara.forte.com>

p4raw-id: //depot/perl@11674

README.vms
configure.com

index 524eb2f..2aa9fb0 100644 (file)
@@ -196,6 +196,17 @@ non-default location for where Perl will be installed:
 
     @ Configure "-d" "-Dprefix=dka100:[utils.perl5.]"
 
+Note that the installation location would be by default where you unpacked 
+the source with a "ROOT." appended.  For example if you unpacked the perl 
+source into:
+
+   DKA200:[PERL-5_10_2...]
+
+Then the PERL_SETUP.COM that gets written out by Configure.com will
+try to DEFINE your installation PERL_ROOT to be:
+
+   DKA200:[PERL-5_10_2ROOT.]
+
 More help with configure.com is available from:
 
     @ Configure "-h"
@@ -451,6 +462,20 @@ it is probably beneficial to INSTALL at least portions of perl.
 While there is code in perl to remove privileges as it runs you are advised
 to NOT INSTALL PERL.EXE with PRIVs!
 
+=head2 Running h2ph to create perl header files (optional) on VMS
+
+If using DEC C or Compaq C ensure that you have extracted loose versions
+of your compiler's header or *.H files.  Be sure to check the contents of:
+
+    SYS$LIBRARY:DECC$RTLDEF.TLB
+    SYS$LIBRARY:SYS$LIB_C.TLB
+    SYS$LIBRARY:SYS$STARLET_C.TLB
+
+etcetera.
+
+If using GNU cc then also check your GNU_CC:[000000...] tree for the locations
+of the GNU cc headers.
+
 =head1 Reporting Bugs
 
 If you come across what you think might be a bug in Perl, please report
@@ -467,8 +492,9 @@ script prints!
 
 The next big gotcha is directory depth.  Perl can create directories four,
 five, or even six levels deep during the build, so you don't have to be 
-too deep to start to hit the RMS 8 level limit (for versions of VMS prior 
-to V7.2 and even with V7.2 on the VAX).  It is best to do
+too deep to start to hit the RMS 8 level limit (for ODS 2 volumes which were
+common on versions of VMS prior to V7.2 and even with V7.2 on the VAX).  
+It is best to do:
 
     DEFINE/TRANS=(CONC,TERM) PERLSRC "disk:[dir.dir.dir.perldir.]"
     SET DEFAULT PERLSRC:[000000]
index 77c537a..04ed20c 100644 (file)
@@ -427,11 +427,15 @@ $     miss_list = ""
 $     GOTO Beyond_manifest
 $   ENDIF
 $ 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") .AND. (F$GETSYI("HW_MODEL") .GE. 1024) THEN GOTO Beyond_depth_check
-$   IF (F$ELEMENT(max_allowed_dir_depth,".",F$ENVIRONMENT("Default")).nes.".")
+$! 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
@@ -1130,7 +1134,8 @@ $ THEN
 $   prefix = F$ENVIRONMENT("DEFAULT") - ".UU]" + "]"
 $   prefix = F$PARSE(prefix,,,,"NO_CONCEAL") - "][" - ".;"
 $   prefixbase = prefix - "]"
-$   prefix = prefixbase + ".]"
+$!  Add ROOT to make install PERL_ROOT differ from build directory.
+$   prefix = prefixbase + "ROOT.]"
 $ ENDIF
 $ src = prefix
 $!: determine root of directory hierarchy where package will be installed.
@@ -1160,6 +1165,22 @@ $!  -> ask if removal desired.
 $! Check here for writability of requested PERL_ROOT if it is not the default (cwd).
 $!  -> recommend letting PERL_ROOT be PERL_SRC if requested PERL_ROOT is not writable.
 $!
+$ IF .NOT. F$GETDVI(perl_root,"MNT")
+$ THEN
+$   tmp = F$PARSE(perl_root,,,"DEVICE",)
+$   echo4 "''tmp' is not mounted."
+$ ELSE
+$   tmp = perl_root - ".]" + "]"
+$   dflt = F$PARSE(tmp,,,,)
+$   IF dflt .eqs. ""
+$   THEN
+$       echo4 "''tmp' does not yet exist."
+$!      create/directory 'tmp'
+$   ELSE
+$       echo4 "''tmp' already exists."
+$   ENDIF
+$ ENDIF
+$!
 $ vms_skip_install = "true"
 $ dflt = "y"
 $! echo ""
@@ -2481,6 +2502,7 @@ $ dflt = dflt - "GDBM_File"           ! needs porting/special library
 $ dflt = dflt - "IPC/SysV"            ! needs to be ported
 $ dflt = dflt - "NDBM_File"           ! needs porting/special library
 $ dflt = dflt - "ODBM_File"           ! needs porting/special library
+$ dflt = dflt - "Sys/Syslog"          ! needs porting/special library "GDBM_File macro LOG_DEBUG"
 $ IF .NOT. Has_socketshr .AND. .NOT. Has_Dec_C_Sockets
 $ THEN
 $   dflt = dflt - "Socket"            ! optional on VMS
@@ -6042,7 +6064,7 @@ $ ELSE    !leave in but commented out (in case setting was from perl :-)
 $ WRITE CONFIG "$! define SYS$TIMEZONE_DIFFERENTIAL ''tzd'"
 $ ENDIF
 $ WRITE CONFIG "$!"
-$ WRITE CONFIG "$! Symbols for commonly used scripts:"
+$ WRITE CONFIG "$! Symbols for commonly used programs:"
 $ WRITE CONFIG "$!"
 $ IF (perl_symbol)
 $ THEN
@@ -6060,6 +6082,7 @@ $   ENDIF
 $   WRITE CONFIG "$ h2ph     == ""'"+"'Perl' ''vms_prefix':[utils]h2ph.com"""
 $   WRITE CONFIG "$ h2xs     == ""'"+"'Perl' ''vms_prefix':[utils]h2xs.com"""
 $   WRITE CONFIG "$!perlcc   == ""'"+"'Perl' ''vms_prefix':[utils]perlcc.com"""
+$   WRITE CONFIG "$ perlivp  == ""'"+"'Perl' ''vms_prefix':[utils]perlivp.com"""
 $   WRITE CONFIG "$ splain   == ""'"+"'Perl' ''vms_prefix':[utils]splain.com"""
 $ ELSE
 $   WRITE CONFIG "$ Perldoc  == ""Perl ''vms_prefix':[lib.pod]Perldoc.com -t"""
@@ -6076,6 +6099,7 @@ $   ENDIF
 $   WRITE CONFIG "$ h2ph     == ""Perl ''vms_prefix':[utils]h2ph.com"""
 $   WRITE CONFIG "$ h2xs     == ""Perl ''vms_prefix':[utils]h2xs.com"""
 $   WRITE CONFIG "$!perlcc   == ""Perl ''vms_prefix':[utils]perlcc.com"""
+$   WRITE CONFIG "$ perlivp  == ""Perl ''vms_prefix':[utils]perlivp.com"""
 $   WRITE CONFIG "$ splain   == ""Perl ''vms_prefix':[utils]splain.com"""
 $ ENDIF
 $ CLOSE CONFIG