These two files c2ph.pl and s2p.pl need to be updated for hard link
support before you can build perl on VMS for hard link support.
These files may be the only reason that building Perl on VMS with hard
link support requires it to be built on a disk with hard link support
enabled.
If a different change was made where if the "link" routine fails, a copy
is used instead, it may remove the above dependency, or it may expose
some other dependencies.
These were the ones that stopped my build until I fixed them and enabled
hard links on the build disk.
When perl is built on VMS with hard link support enabled, for the tests
to run successfully, the DECC$_FILE_PERMISSION_UNIX feature logical name
needs to be defined as "ENABLE" or one of the other values that the CRTL
will treat as equivalent.
I will post the diffs for the configure.com and descrip_mms.template next.
I also mis-counted on my previous post, I have a total of 54 files, 913
blocks.
-John
[EMAIL PROTECTED]
Personal Opinion Only
--- utils/c2ph.PL_5_8_6 Thu Feb 10 13:24:12 2005
+++ utils/c2ph.PL Wed Mar 9 15:07:20 2005
@@ -1435,9 +1435,9 @@
close OUT or die "Can't close $file: $!";
chmod 0755, $file or die "Can't reset permissions for $file: $!\n";
unlink 'pstruct';
-print "Linking c2ph to pstruct.\n";
+print "Linking $file to pstruct.\n";
if (defined $Config{d_link}) {
- link 'c2ph', 'pstruct';
+ link $file, 'pstruct';
} else {
unshift @INC, '../lib';
require File::Copy;
--- x2p/s2p.PL_5_8_6 Thu Feb 10 15:22:08 2005
+++ x2p/s2p.PL Tue Jun 14 16:30:23 2005
@@ -564,7 +564,13 @@
my $doAutoPrint = 1; # automatic printing of pattern space (-n => 0)
my $doOpenWrite = 1; # open w command output files at start (-a => 0)
my $svOpenWrite = 0; # save $doOpenWrite
-my $doGenerate = $0 eq 's2p';
+
+#lower case $0 below as a VMSism. The VMS build procedure creates the s2p file
+#in upper case, and in VMS mode, Perl returns it in lower case.
+#When VMS is in UNIX compatibility mode, Perl returns it in exact case
+#which could be either upper or lower, so make this test case tolerant.
+
+my $doGenerate = lc($0) eq 's2p';
# Collected and compiled script
#
@@ -2046,9 +2052,9 @@
close OUT or die "Can't close $file: $!";
chmod 0755, $file or die "Can't reset permissions for $file: $!\n";
unlink 'psed';
-print "Linking s2p to psed.\n";
+print "Linking $file to psed.\n";
if (defined $Config{d_link}) {
- link 's2p', 'psed';
+ link $file, 'psed';
} else {
unshift @INC, '../lib';
require File::Copy;