[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug #41758] VMS Make incorrectly reports archives support present.
From: |
h.becker |
Subject: |
Re: [bug #41758] VMS Make incorrectly reports archives support present. |
Date: |
Sun, 27 Apr 2014 17:04:18 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130519 Icedove/17.0.5 |
On 04/26/2014 12:42 AM, John Malmberg wrote:
> I have attached a preliminary patch to the default.c module that fixes the
> library rules as follows:
>
> 1. Create the library if it does not exist when inserting a module into the
> library.
Wouldn't it make sense to suppress the check and creation of the
libraries? That is, replace
"if f$$search(\"address@hidden") .eqs. ..."
with
"@if f$$search(\"address@hidden") .eqs. ..."
> 2. Support all the types of library that VMS does. Tests still need to be
> written for that.
Adding other VMS library types is OK with me. There is one more:
shareable image libarary.
> 3. Fixes the rcs rules so they have a chance of working. Of course since
> no-one noticed that they did not work due to a syntax error, it might be time
> to just remove them.
I agree to remove them.
> 4. Add a bunch of missing rules. VMS should have almost all the same rules as
> Unix plus some more for VMS specific file extensions and commands.
I don't think that VMS should include all the Posix/Unix extensions. The
Posix subsystem for VMS (had it's own Posix compliant make and) is gone
and GNV is not VMS. I know, I said this before, I think for Gnu make,
GNV should be separated from VMS.
Another question: how should these new pattern rules for non-object
libraries be used?
For objects one can use
all: o.olb(o)
and
all: o.olb(o.obj)
For help files one can use
all: h.hlp(h)
but not
all: h.hlp(h.hlp)
Also
all: h.hlp(h)
doesn't work if there are h.h and h.hlp in the same directory.
Are
all: o(o)
all: o(o.obj)
all: h(h)
all: h(h.hlp)
expected to work? The second rule worked with the old VMS make. With
the new code, always a new library is created. It may break existing
makefiles, so it needs to be documented.
And a comment: on OpenVMS/I64 CXXLINK is not required and not recommended.
And a side note: in the features_archives.gdiff there is a trailing dot
in the filename which prohibits patching the file without manual
specifying the correct filename.