Craig A. Berry wrote:
John,
Thanks for all your good work on this. I've sprinkled in a few
comments below, but it shouldn't be too tough to get this work
incorporated into the authoritative sources, though I can't make any
promises about when that will happen.
There are a few projects that I am aware of that require a Perl running
on VMS to act more like it is on UNIX, and it is not likely those Perl
scripts will be modified to be platform independent. So it is likely
that HP will need to put out a Perl with this behavior before the
authoritative sources are updated.
What I am hoping for is to for these and the others I will be posting
later get merged in.
And as my Perl programming skills are still at a very introductory
level, there may be better ways of implementing what I have done.
At 6:43 PM -0400 7/11/05, John Malmberg wrote:
This configure.com tests to see if hard links are enabled on the
build disk, and if so enables hard link support in the build.
@@ -1480,7 +1506,7 @@
$ IF F$TYPE(archlib).EQS."" THEN -
archlib="''vms_prefix':[lib.''archname'.''version']"
$ IF F$TYPE(bin) .EQS. "" THEN -
- bin="/''vms_prefix'/000000"
+ bin="/''vms_prefix'"
$ IF F$TYPE(privlib) .EQS. "" THEN -
privlib ="''vms_prefix':[lib]"
$ IF F$TYPE(sitearch) .EQS. "" THEN -
I think this needs to be the unixy equivalent of perl_root:[000000].
So are you saying that when we translate /perl_root to VMS syntax,
that's what we'll now get?
From what I can see of the existing code, that is the way it always
should have worked. Perl already knew that /perl_root = PERL_ROOT:[000000].
The extra "/000000" was causing me problems with converting the UNIX
name back to a VMS name in the new UNIX and Posix Compliant modes, as
some of the routines know to remove it, and some do not. And if you
pass a UNIX name with that extra "/000000" in it directly to a CRTL
routine or to the GNV environment, it will not work.
@@ -1595,7 +1621,7 @@
$ ENDIF
$ ELSE
$ IF
(F$LOCATE("DEC",line).NE.F$LENGTH(line)).or.(F$LOCATE("Compaq",line).NE.F$LENGTH(line))
-
- .or.(F$LOCATE("hp",line).NE.F$LENGTH(line))
+ .or.(F$LOCATE("HP",F$EDIT(line,"UPCASE")).NE.F$LENGTH(line))
Same or similar patch is already in.
I would expect so, I got that one from your post on this list. But my
differences are to what was kitted with Perl 5.8.6.
+$ rp = "Try to understand large files, if available? [''bool_dflt'] "
Large file support is already in, so for this to be applied, we will
have to sort out what's new.
I do not know why that is showing up as a change. Perhaps DIFF is
confused, or I made a whitespace change unintentionally.
+$ IF (tmp .GES. "8.2") .AND. (f$getsyi("HW_MODEL") .GE. 1024)
Last time I checked, Itanium systems return zero for
f$getsyi("HW_MODEL"). The archname symbol should already have one of
VMS_VAX, VMS_AXP, or VMS_IA64, and the vms_ver symbol should already
have the VMS version.
I think I checked this on an Itanium system. The Itanium systems start
at a higher range than Alpha, and the VAXen are from 0 to 1023.
I will check again tomorrow.
In many cases, what is needed is to know if this is a 32 bit platform or
64 bit as Alpha and Itanium share a common source base.
Checking the VMS version lexical can be problematic when you are working
with unreleased versions of VMS.
I also noticed that some symbols get overwritten, so I copied an
existing section of code in configure.com that was using "tmp" for that
symbol just to make sure that it worked.
-John
[EMAIL PROTECTED]
Personal Opinion Only