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

Reply via email to