bug-make
[Top][All Lists]
Advanced

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

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


From: h.becker
Subject: Re: VAX/VMS 7.3 and build from copy of master.
Date: Thu, 20 Feb 2014 16:52:08 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130519 Icedove/17.0.5

Looks good to me, just a few suggestions with appended diff output. I
admit, so far, I only tested my suggestions on VMS/Alpha V8.3

Regards,
Hartmut

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 ...

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

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. 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.

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.

And, for the released version of GNU make this command procedure will
not run anyway.


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
defined.

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.


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
#endif

On 02/20/2014 07:34 AM, John E. Malmberg wrote:
> [bcc Hartmut Becker per request of Paul Smith]
> 
> The attach patch allows VMS to build from a clone of the master branch
> of the GNU make repository.
> 
> The config.h-vms.template was using macros that were not predefined by
> the compiler.  The macros that were in use are only defined after a VMS
> header file is included, so were preventing the GNU Make 4.0 from
> building on VMS older than 7.3-2.
> 
> The config_h_from_vms_template.com converts the config.h-vms.template to
> a config.h-vms file  It is reading the version string from NEWS. as that
> is the only place that I found it.  If there is a better place to read
> the version, I can adjust the file.
> 
> The gmk_default_h.com is used to generate the gmk-default.h file, that
> the makefile.vms is expecting.  It appears that the guile module is
> currently not using that header file when built on VMS.
> 
> The makefile.com and makefile.vms were adjusted to build from master as
> well as a release.
> 
> I tried to get the GNU make 4.0 tarball to build on VAX/VMS 7.3.  It
> failed because of the header macro bug in the config.h-vms file, and the
> then requirement of vsnprintf().  After bringing over the vsnprintf()
> from the gawk project.  This got gnu make building with almost no output
> on VAX/VMS 7.3
> 
> The lack of output was caused by a buffer allocation bug in output.c.
> That buffer allocation bug does not exist in the output.c in master and
> master does not need the vsnprintf() routine.
> 
> This patch was tested against master on VAX/VMS 7.3 and IA64/VMS 8.4.
> 
> I am now looking at what it will take to get the perl scripts for
> testing to run on VMS.
> 
> Regards,
> -John
> 
> 
> _______________________________________________
> Bug-make mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-make
> 

Attachment: gnu-make-vms.patch
Description: Text Data


reply via email to

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