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(\"$@\") .eqs. ..." with "@if f$$search(\"$@\") .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. _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make