This has the makefile changes needed to build from master and on VAX/VMS.

In addition, vms_progname.c that is compatible as a VMS specific replacement for the progname.c that is used for several GNU projects.

This variant of vms_progname.c has an additional feature that it temporarily creates a foreign command that make uses for a macro to represent the command that invoked make. This foreign command has no embedded spaces or dollar sign characters which could cause unexpected results if further string processing is done.

The vms_exit() is similar to the /DEFINE=_POSIX_EXIT, except that it allows pass-through of VMS exit statuses of 8 or higher, and allows setting the SEVERITY and message inhibit settings for the encoded Posix status. The message inhibit bits prevents the DCL shell from re-displaying status messages that have already been displayed.

Additional work needs to be done to convert POSIX encoded child exit statuses back to the original Unix status internally. This is usually handled by the /DEFINE=_POSIX_EXIT.

We are not simply using the /DEFINE=_POSIX_EXIT as it does not support mixing the VMS exit codes and Unix exit codes, along with setting special VMS status bits.

Regards,
-John

Attachment: 0001-VMS-progname-and-exit-handling-take-4.patch.gz
Description: application/gzip

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to