From dab31494e8babda9e44271415766b2d4aac35d7a Mon Sep 17 00:00:00 2001 From: Peter Prymmer Date: Tue, 14 Aug 2001 06:33:32 -0700 Subject: [PATCH] modify VMS default prefix for installation Message-ID: p4raw-id: //depot/perl@11674 --- README.vms | 30 ++++++++++++++++++++++++++++-- configure.com | 38 +++++++++++++++++++++++++++++++------- 2 files changed, 59 insertions(+), 9 deletions(-) diff --git a/README.vms b/README.vms index 524eb2f..2aa9fb0 100644 --- a/README.vms +++ b/README.vms @@ -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] diff --git a/configure.com b/configure.com index 77c537a..04ed20c 100644 --- a/configure.com +++ b/configure.com @@ -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 -- 2.7.4