[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VAX/VMS 7.3 and build from copy of master.

From: John E. Malmberg
Subject: Re: VAX/VMS 7.3 and build from copy of master.
Date: Thu, 20 Feb 2014 20:50:56 -0600
User-agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3

On 2/20/2014 9:52 AM, h.becker wrote:

1. building from a git-cloned repository

config_h_from_vms_template.com is a rather long name, no problem.
However, there seems to be something similar for w32: "Windows32 SCM
build preparation of ...". That file is named prepare_w32.bat. So I
suggest to rename config_h_from_vms_template.com to prepare_vms.com. OK,
the lowercase vms/w32 is not consistent with other file names which have
VMS/W32, if that is important ...

Ironically the file case is significant if you are serving files via NFS to VAX/VMS. When doing that, only lower case filenames show up correctly on the VAX. The rest get NFS mangled.

I am ok with prepare_vms.com but prefer a name that describes the function, since a prepare_vms.com could mean doing many things, and this is a specialized command procedure.

I would rather use configure.ac to determine the package and the version.

Now that I know where it that information is, I would agree. I was searching for the word "version" in that file. I did not try just reading it.

Whether it is useful to check for NFS/ODS-2 encoded filenames, I don't
know. But then, when a git clone is copied to an ODS-2 disk, somehow,
how would one handle filenames with multiple dots, anyway. I suggest to
simply require an ODS-5 disk for git cloned repositories and leave it to
the user of old VMS systems to handle problems on other disks.

As I stated above, I am using a common NFS served disk for all my systems. So for me to build on VAX, I have to deal with the NFS mangled names.

How a clone shows up on ODS-2 depends on what tool was used to unpack it.

The user
can change the symbol config_template, anyway. Maybe a comment should
explain this, or maybe a P1 can be added so that a user can supply an
ODS-2 name. To me it seems removing these special filenames makes things
simpler. And, to make generating the config.h-vms more obvious I would
use some "replace" commands. Again, I use a "new" feature: pipe, here to
avoid creating a temporary file.

Some VMS utilities do not play well with random accessing files on an NFS volume, particularly before VMS 8.4. So I use a more restricted set for building. I did not create any temporary files in my scripts.

Whether invoking this command procedure should go into makefile.com is
another question. I think it isn't necessary. The prepare_w32.bat isn't
run from any other .bat-file, as far as I can see.

I think it should go there, then we have the same build procedure on master as in a release tarball. Eventually I hope to get to a single command file that will do the complete build and create a PCSI kit with no extra editing.

2. Compiling and linking guile

Yes, after the release of 4.0 there was a change which added a call to
guile_gmake_setup to main.c. I sent a patch to handle that for VMS, in
last November. Obviously it didn't make it into the repository.

But I don't see that you need gmk-default.h without having HAVE_GUILE

To me it seems enough to change makefile.com and makefile.vms as in the
appended diff/patch and then there is no need for gmk_default_h.com.

I am not sure yet what the guile module can do on VMS, so I would prefer to leave generating the header file in place until that is determined.

3. Changes in config.h-vms.template

Isn't it more obvious to do what decc$types.h does?
#ifndef __CRTL_VER
# define __CRTL_VER __VMS_VER

It is also not a good idea. The double underscore macros should only be redefined as a last resort. Doing the above hack will also unexpectedly impact people doing cross version builds.

Are you subscribed to bugs-make or equivalent, or do you want me to continue to bcc you?

I will try to put together a revised patch this weekend.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]