bug-make
[Top][All Lists]
Advanced

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




reply via email to

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