[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
>
gnu-make-vms.patch
Description: Text Data
- VAX/VMS 7.3 and build from copy of master., John E. Malmberg, 2014/02/20
- Re: VAX/VMS 7.3 and build from copy of master.,
h.becker <=
- Re: VAX/VMS 7.3 and build from copy of master., John E. Malmberg, 2014/02/20
- Re: VAX/VMS 7.3 and build from copy of master., h.becker, 2014/02/21
- Re: VAX/VMS 7.3 and build from copy of master., John E. Malmberg, 2014/02/21
- Re: VAX/VMS 7.3 and build from copy of master., h.becker, 2014/02/22
- Re: VAX/VMS 7.3 and build from copy of master., John E. Malmberg, 2014/02/23
- Re: VAX/VMS 7.3 and build from copy of master., h.becker, 2014/02/24
- Re: VAX/VMS 7.3 and build from copy of master., John E. Malmberg, 2014/02/24
- Re: VAX/VMS 7.3 and build from copy of master., John E. Malmberg, 2014/02/24
- Re: VAX/VMS 7.3 and build from copy of master., h.becker, 2014/02/25
- Re: VAX/VMS 7.3 and build from copy of master., John E. Malmberg, 2014/02/26