On Tue, Aug 14, 2001 at 01:33:32PM -0700, Peter Prymmer wrote:
> 
> Greetings,
> 
> The enclosed patch affects the configure.com and README.vms files
> within the distribution.  It will make the default installation location
> differ from the build directory by default (although still allow
> over-rides).  It also removes "Sys/Syslog" from the list of buildable
> extensions, but still does allow for adding that by hand (since GDBM is
> rare on VMS it too is not built by default and if you build Sys/Syslog and
> then try to use it you see the following errors:
> 
>  $ perl "-MSys::Syslog" -e "print ""Hello world"";"
>  Your vendor has not defined GDBM_File macro LOG_DEBUG, used at -e line 0
>  Compilation failed in require.
>  BEGIN failed--compilation aborted.
>  %SYSTEM-F-ABORT, abort
> 
> There are a few other updates included too.  The nature of this patch
> has been discussed on the vmsperl list and I am indebted to Craig Berry
> for providing some very valuable feedback.

Thanks, applied.

> diff -ru perl_11626_orig/README.vms perl_11626/README.vms
> --- perl_11626_orig/README.vms        Mon Aug 13 17:09:06 2001
> +++ perl_11626/README.vms     Tue Aug 14 13:27:11 2001
> @@ -196,6 +196,17 @@
>  
>      @ 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 @@
>  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 @@
>  
>  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 -ru perl_11626_orig/configure.com perl_11626/configure.com
> --- perl_11626_orig/configure.com     Mon Aug 13 17:08:53 2001
> +++ perl_11626/configure.com  Tue Aug 14 11:46:01 2001
> @@ -427,11 +427,15 @@
>  $     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 @@
>  $   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 @@
>  $! 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 - "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 @@
>  $ 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 @@
>  $   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 @@
>  $   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
> End of Patch.
> 
> Peter Prymmer
> 

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for 'stable'.
        # It is 'dead'. -- Jack Cohen

Reply via email to