diff options
author | Paul Smith <psmith@gnu.org> | 2013-05-27 13:01:48 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2013-05-27 13:01:48 -0400 |
commit | e8f5d322cf720f65a1d24c1219bcedef8af9e6ec (patch) | |
tree | e50750525d4a4576033edb283f023891ede2c668 | |
parent | dc922e3f4c442255ba8deb84c9300aa7e3a6108c (diff) | |
download | gunmake-e8f5d322cf720f65a1d24c1219bcedef8af9e6ec.tar.gz |
Porting to VMS, from Hartmut Becker.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | function.c | 1 | ||||
-rw-r--r-- | job.h | 4 | ||||
-rw-r--r-- | load.c | 7 | ||||
-rw-r--r-- | makefile.com | 2 | ||||
-rw-r--r-- | makefile.vms | 69 | ||||
-rw-r--r-- | makeint.h | 1 | ||||
-rw-r--r-- | vmsjobs.c | 4 |
8 files changed, 58 insertions, 40 deletions
@@ -1,3 +1,13 @@ +2013-05-27 Hartmut Becker <becker.ismaning@freenet.de> + + * function.c (func_shell_base) [VMS]: Support VMS. + * makefile.com [VMS]: Ditto. + * makefile.vms [VMS]: Ditto. + * makeint.h [VMS]: Ditto. + * vmsjobs.c [VMS]: Ditto. + * job.h: Define RECORD_SYNC_MUTEX() when OUTPUT_SYNC is not set. + * load.c (unload_file): Fix signature if MAKE_LOAD is not set. + 2013-05-26 Paul Smith <psmith@gnu.org> * remake.c (f_mtime): Ensure that archive file names are in the @@ -1626,6 +1626,7 @@ func_shell_base (char *o, char **argv, int trim_newlines) { fprintf (stderr, "This platform does not support shell\n"); die (EXIT_FAILURE); + return NULL; } #define func_shell 0 @@ -78,6 +78,10 @@ typedef int sync_handle_t; /* file descriptor */ # define RECORD_SYNC_MUTEX(m) (void)(m) # endif +#else /* !OUTPUT_SYNC */ +#define RECORD_SYNC_MUTEX(m) \ + error (NILF, \ + _("-O[TYPE] (--output-sync[=TYPE]) is not configured for this build.")); #endif /* OUTPUT_SYNC */ /* Structure describing a running or dead child process. */ @@ -231,11 +231,10 @@ load_file (const gmk_floc *flocp, const char **ldname, int noerror) return 0; } -int -unload_file (struct file *file) +void +unload_file (const char *name) { - fatal (flocp, "INTERNAL: Cannot unload when load is not supported!"); - return 0; + fatal (NILF, "INTERNAL: Cannot unload when load is not supported!"); } #endif /* MAKE_LOAD */ diff --git a/makefile.com b/makefile.com index 47b8d74..fee8d5e 100644 --- a/makefile.com +++ b/makefile.com @@ -67,7 +67,7 @@ $ then $ gosub check_cc_qual $ endif $ filelist = "alloca ar arscan commands default dir expand file function " + - - "hash implicit job main misc read remake remote-stub rule " + - + "hash implicit job load main misc read remake remote-stub rule " + - "signame variable version vmsfunctions vmsify vpath " + - "[.glob]glob [.glob]fnmatch getopt1 getopt strcache" $ copy config.h-vms config.h diff --git a/makefile.vms b/makefile.vms index cf659ba..4534a44 100644 --- a/makefile.vms +++ b/makefile.vms @@ -20,7 +20,7 @@ # Klaus Kämpf (kkaempf@rmi.de) # Modified for version 3.78.1 by Hartmut.Becker@compaq.com. # Modified for version 3.80 by zinser@decus.de -# Modified for version 3.81 by Hartmut Becker +# Modified for versions 3.81, 3.99.90 by Hartmut Becker CC = cc CP = copy @@ -91,16 +91,16 @@ manext = 1 #guile = ,guile.obj objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,hash.obj,\ - main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\ + load.obj,main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\ default.obj,variable.obj,expand.obj,function.obj,strcache.obj,\ vpath.obj,version.obj\ $(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob)$(guile) srcs = commands.c job.c dir.c file.c misc.c guile.c hash.c \ - main.c read.c remake.c rule.c implicit.c \ + load.c main.c read.c remake.c rule.c implicit.c \ default.c variable.c expand.c function.c strcache.c \ vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \ - commands.h dep.h filedef.h job.h make.h rule.h variable.h + commands.h dep.h filedef.h job.h makeint.h rule.h variable.h .PHONY: all doc @@ -114,40 +114,43 @@ make.exe: $(objs) .PHONY: clean realclean clean: - $$ purge [...] + -purge [...] -$(RM) make.exe;,*.obj; -$(RM) [.glob]*.obj; # Automatically generated dependencies. -commands.obj: commands.c make.h dep.h commands.h filedef.h variable.h job.h -job.obj: job.c vmsjobs.c make.h commands.h job.h filedef.h variable.h -dir.obj: dir.c make.h -file.obj: file.c make.h commands.h dep.h filedef.h variable.h -misc.obj: misc.c make.h dep.h -hash.obj: hash.c make.h hash.h -strcache.obj: strcache.c make.h hash.h -main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h -guile.obj: guile.c make.h debug.h dep.h gmk-default.h -read.obj: read.c make.h commands.h dep.h filedef.h variable.h -remake.obj: remake.c make.h commands.h job.h dep.h filedef.h -rule.obj: rule.c make.h commands.h dep.h filedef.h variable.h rule.h -implicit.obj: implicit.c make.h rule.h dep.h filedef.h -default.obj: default.c make.h rule.h dep.h filedef.h commands.h variable.h -variable.obj: variable.c make.h commands.h variable.h dep.h filedef.h -expand.obj: expand.c make.h commands.h filedef.h variable.h -function.obj: function.c make.h variable.h dep.h commands.h job.h -vpath.obj: vpath.c make.h filedef.h variable.h +# makeint.h: config.h gnumake.h gettext.h +# filedef.h: hash.h +ar.obj: ar.c makeint.h filedef.h dep.h [.glob]fnmatch.h +arscan.obj: arscan.c makeint.h +commands.obj: commands.c makeint.h dep.h commands.h filedef.h variable.h job.h +default.obj: default.c makeint.h rule.h dep.h job.h filedef.h commands.h variable.h +dir.obj: dir.c makeint.h hash.h [.glob]glob.h +expand.obj: expand.c makeint.h commands.h filedef.h job.h rule.h variable.h +file.obj: file.c makeint.h commands.h dep.h filedef.h variable.h job.h debug.h +function.obj: function.c makeint.h variable.h dep.h commands.h filedef.h debug.h job.h +getopt.obj: getopt.c getopt.h config.h gettext.h +getopt1.obj: getopt1.c getopt.h config.h +guile.obj: guile.c makeint.h debug.h dep.h gmk-default.h +hash.obj: hash.c makeint.h hash.h +implicit.obj: implicit.c makeint.h rule.h dep.h filedef.h debug.h variable.h job.h commands.h +job.obj: job.c vmsjobs.c makeint.h commands.h job.h filedef.h variable.h debug.h +load.obj: load.c makeint.h debug.h filedef.h variable.h +main.obj: main.c makeint.h commands.h dep.h filedef.h variable.h job.h rule.h debug.h getopt.h +misc.obj: misc.c makeint.h dep.h debug.h +read.obj: read.c makeint.h commands.h dep.h filedef.h variable.h [.glob]glob.h debug.h rule.h job.h +remake.obj: remake.c makeint.h commands.h job.h dep.h filedef.h variable.h debug.h +remote-stub.obj: remote-stub.c makeint.h filedef.h job.h commands.h +rule.obj: rule.c makeint.h commands.h dep.h filedef.h variable.h rule.h job.h +signame.obj: signame.c makeint.h +strcache.obj: strcache.c makeint.h hash.h +variable.obj: variable.c makeint.h commands.h variable.h dep.h filedef.h job.h rule.h version.obj: version.c config.h -arscan.obj: arscan.c -ar.obj: ar.c make.h filedef.h -signame.obj: signame.c -remote-stub.obj: remote-stub.c -[.glob]glob.obj: [.glob]glob.c -[.glob]fnmatch.obj: [.glob]fnmatch.c -getopt.obj: getopt.c -getopt1.obj: getopt1.c -vmsfunctions.obj: vmsfunctions.c make.h vmsdir.h -vmsify.obj: vmsify.c make.h +vmsfunctions.obj: vmsfunctions.c makeint.h vmsdir.h debug.h job.h +vmsify.obj: vmsify.c +vpath.obj: vpath.c makeint.h filedef.h variable.h +[.glob]fnmatch.obj: [.glob]fnmatch.c [.glob]fnmatch.h config.h +[.glob]glob.obj: [.glob]glob.c [.glob]glob.h [.glob]fnmatch.h config.h config.h: config.h-vms $(CP) $< $@ @@ -197,6 +197,7 @@ unsigned int get_path_max (void); #endif #ifdef VMS +# include <fcntl.h> # include <types.h> # include <unixlib.h> # include <unixio.h> @@ -149,7 +149,7 @@ vmsHandleChildTerm(struct child *child) { /* The commands failed. Write an error message, delete non-precious targets, and abort. */ - child_error (c->file->name, c->cstatus, 0, 0, 0); + child_error (c, c->cstatus, 0, 0, 0); c->file->update_status = 1; delete_child_targets (c); } @@ -158,7 +158,7 @@ vmsHandleChildTerm(struct child *child) if (child_failed) { /* The commands failed, but we don't care. */ - child_error (c->file->name, c->cstatus, 0, 0, 1); + child_error (c, c->cstatus, 0, 0, 1); child_failed = 0; } |