Re: pmake, xview ?!

Martin Ostermann (ost@comnets.rwth-aachen.de)
Sat, 2 Nov 1996 13:54:57 +0100 (MET)

> > I just tried to compile xview, but apparently pmake is needed to do
> > so. That one doesn't compile due to some BSDisms. Anyone patched that
> > already?
>
> I've built it on Alpha's, but it always seg's. I just rewrote the make file
> file for the one package I cared about (ash).

OK, below is the hack I did to make pmake work. I just removed the
w_error references, thus the -B option probably won't work.

If you still got your version, you might want to just add the patch
to ./lst.lib/lstInt.h ; It cleans up an inconsistency concerning
NilListNode and NILLIST as defined in ./lst.h

Now, xview still doesn't compile. Anybody knows if it had been ported
to Digital Unix? I searched the Web, but found nothing.

Martin

--- ../pmake/./lst.lib/lstInt.h Sun Aug 8 11:13:49 1993
+++ ./lst.lib/lstInt.h Fri Nov 1 17:32:59 1996
@@ -59,7 +59,7 @@
*/
#define LN_DELETED 0x0001 /* List node should be removed when done */

-#define NilListNode ((ListNode)-1)
+#define NilListNode ((ListNode)(0xffffffff))

typedef enum {
Head, Middle, Tail, Unknown
@@ -81,7 +81,7 @@
* Lst_Remove */
} *List;

-#define NilList ((List)-1)
+#define NilList ((List)0xffffffff)

/*
* PAlloc (var, ptype) --
--- ../pmake/./buf.h Sun Aug 8 11:15:26 1993
+++ ./buf.h Fri Nov 1 15:51:40 1996
@@ -46,7 +46,9 @@
#ifndef _BUF_H
#define _BUF_H

+#include <stdlib.h>
#include "sprite.h"
+#include "make.h"

typedef unsigned char Byte;

--- ../pmake/./hash.c Sun Aug 8 11:15:29 1993
+++ ./hash.c Fri Nov 1 15:53:10 1996
@@ -50,6 +50,7 @@

#include "sprite.h"
#include "hash.h"
+#include "make.h"

/*
* Forward references to local procedures that are used before they're
--- ../pmake/./job.c Sun Aug 8 11:15:32 1993
+++ ./job.c Fri Nov 1 16:31:57 1996
@@ -252,6 +252,8 @@
*
*-----------------------------------------------------------------------
*/
+static int JobCondPassSig(Job *job, int signo);
+
static int
JobCondPassSig(job, signo)
Job *job; /* Job to biff */
@@ -293,7 +295,9 @@
{
int mask;

- Lst_ForEach(jobs, JobCondPassSig, (ClientData)signo);
+ Lst_ForEach(jobs,
+ JobCondPassSig,
+ (ClientData)signo);

/*
* Deal with proper cleanup based on the signal received. We only run
@@ -649,7 +653,7 @@
(job->flags & JOB_IGNERR) ? " (ignored)" : "");

if (job->flags & JOB_IGNERR) {
- status.w_status = 0;
+ /* status.w_status = 0; */
}
} else if (DEBUG(JOB)) {
if (usePipes && job->node != lastNode) {
@@ -716,7 +720,7 @@
* try and restart the job on the next command. If JobStart says it's
* ok, it's ok. If there's an error, this puppy is done.
*/
- if ((status.w_status == 0) &&
+ if (/* (status.w_status == 0 )*/ 1 &&
!Lst_IsAtEnd (job->node->commands))
{
switch (JobStart (job->node,
@@ -749,7 +753,7 @@
if (done &&
(aborting != ABORT_ERROR) &&
(aborting != ABORT_INTERRUPT) &&
- (status.w_status == 0))
+ 1 /* (status.w_status == 0) */ )
{
/*
* As long as we aren't aborting and the job didn't return a non-zero
@@ -765,7 +769,7 @@
job->node->made = MADE;
Make_Update (job->node);
free((Address)job);
- } else if (status.w_status) {
+ } else if (0 /* status.w_status */) {
errors += 1;
free((Address)job);
}
@@ -1296,7 +1300,7 @@
} else {
Error("couldn't resume %s: %s",
job->node->name, strerror(errno));
- status.w_status = 0;
+ /* status.w_status = 0; */
status.w_retcode = 1;
JobFinish(job, status);
}
@@ -2482,7 +2486,7 @@
*/
union wait status;

- status.w_status = 0;
+ /* status.w_status = 0; */
status.w_retcode = 1;
JobFinish(job, status);
}
--- ../pmake/./lst.h Sun Aug 8 11:15:33 1993
+++ ./lst.h Fri Nov 1 16:40:21 1996
@@ -46,6 +46,7 @@
#define _LST_H_

#include <sprite.h>
+#include <stdlib.h>

/*
* basic typedef. This is what the Lst_ functions handle
--- ../pmake/./make.h Sun Aug 8 11:15:35 1993
+++ ./make.h Fri Nov 1 15:40:32 1996
@@ -49,6 +49,7 @@
#include <sys/types.h>
#include <string.h>
#include <ctype.h>
+#include <stdlib.h>
#include "sprite.h"
#include "lst.h"
#include "config.h"
--- ../pmake/./var.c Sun Aug 8 11:15:42 1993
+++ ./var.c Fri Nov 1 16:36:14 1996
@@ -399,7 +399,7 @@
* to the environment (as per POSIX standard)
*/
if (ctxt == VAR_CMD) {
- setenv(name, val);
+ setenv(name, val,1);
}
}

--
To unsubscribe: send e-mail to axp-list-request@redhat.com with
'unsubscribe' as the subject.  Do not send it to axp-list@redhat.com



Feedback | Store | News | Support | Product Errata | About Us | Linux Info | Search | JumpWords
No Frames | Show Frames

Copyright © 1995-1997 Red Hat Software. Legal notices