[comp.windows.x] Fixs and modifications for compiling X11R3 on Encore multimax

jb@CS.BROWN.EDU (11/15/88)

Below is a sh archive containing a set of diffs I had to make when
installing X11R3 on an Encore multimax and a macro file for imake.
A couple of the diffs correct minor bugs in the release.  The main
fixes are for the load widget and for makedepend.  Makedepend uses
a routine called defined() which interferes with the "if" preprocessor
directive.

My one comment about trying to install this release was that it took
a while to figure out how have something defined for every compilation.
I ended up looking at the macII macro file, but feel there should be
some easier way to say this.  This problem arises since the multimax
does not have a machine specific define.

				Jim Bloom


:               ---- CUT HERE ----
: This is a shar archive. Extract with sh, not csh.
: The rest of this file will extract:
: multimax.diffs multimax.macros
echo x - multimax.diffs
sed -e 's/^X//' > multimax.diffs <<'!End-Of-diffs!'
X*** ./util/imake.includes/Guess.macros.orig	Sun Oct 23 11:00:35 1988
X--- ./util/imake.includes/Guess.macros	Thu Nov 10 15:39:08 1988
X***************
X*** 63,69 ****
X             RANLIB = ranlib
X    RANLIBINSTFLAGS = 			/* might use -t if supported */
X                 RM = rm -f
X!   STD_CPP_DEFINES =			/* for passing things through cpp */ */
X        STD_DEFINES =			/* actually special compiler flags */
X  SYSLAST_LIBRARIES =			/* socket or emulation libraries */
X               TAGS = ctags
X--- 63,69 ----
X             RANLIB = ranlib
X    RANLIBINSTFLAGS = 			/* might use -t if supported */
X                 RM = rm -f
X!   STD_CPP_DEFINES =			/* for passing things through cpp */
X        STD_DEFINES =			/* actually special compiler flags */
X  SYSLAST_LIBRARIES =			/* socket or emulation libraries */
X               TAGS = ctags
X*** ./util/imake.includes/Imake.tmpl.orig	Sun Oct 23 22:37:17 1988
X--- ./util/imake.includes/Imake.tmpl	Thu Nov 10 11:14:11 1988
X***************
X*** 104,109 ****
X--- 104,116 ----
X  #define MipsArchitecture
X  #endif /* mips */
X  
X+ #ifdef multimax
X+ #define MacroIncludeFile "multimax.macros"
X+ #define MacroFile multimax.macros
X+ #undef multimax
X+ #define MultimaxArchitecture
X+ #endif /* mips */
X+ 
X  #ifndef MacroIncludeFile
X  /**/# WARNING:  Imake.tmpl not configured; guessing at definitions!!!
X  /**/# This might mean that BOOTSTRAPCFLAGS wasn't set when building imake.
X*** ./lib/Xaw/Load.c.orig	Sun Oct 23 14:44:23 1988
X--- ./lib/Xaw/Load.c	Fri Nov 11 16:04:38 1988
X***************
X*** 435,440 ****
X--- 435,479 ----
X  
X  #else /* LOADSTUB */
X  
X+ #ifdef multimax
X+ #include <sys/procstats.h>
X+ #include <sys/statistics.h>
X+ 
X+ static struct proc_summary Proc_sum_data;
X+ static struct stat_descr Proc_info = {
X+ 	NULL,
X+ 	SUBSYS_PROC,
X+ 	PROCTYPE_SUMMARY,
X+ 	0,
X+ 	0,
X+ 	(char *) &Proc_sum_data,
X+ 	sizeof (struct proc_summary),
X+ 	0,
X+ 	0};
X+ 
X+ static void GetLoadPoint( w, closure, call_data )
X+      Widget	w;		/* unused */
X+      caddr_t	closure;	/* unused */
X+      caddr_t	call_data;	/* pointer to (double) return value */
X+ {
X+   	double *loadavg = (double *)call_data;
X+ 	int i, j;
X+ 	double sum = 0;
X+ 
X+ 	if (inq_stats (1, &Proc_info) != 0) {
X+ 		perror ("xload");
X+ 		exit (1);
X+ 	}
X+ 	for (i = Proc_sum_data.ps_nrunidx, j = 0; j < 12; j++) {
X+ 		sum += Proc_sum_data.ps_nrun[i];
X+ 		if (--i < 0) i = PS_NRUNSIZE - 1;
X+ 	}
X+ 	*loadavg  = sum / 12;
X+ 
X+ 	return;
X+ }
X+ #else /* multimax */
X+ 
X  #ifndef KMEM_FILE
X  #define KMEM_FILE "/dev/kmem"
X  #endif
X***************
X*** 593,598 ****
X--- 632,638 ----
X  #endif /* sun */
X  	return;
X  }
X+ #endif /* multimax */
X  #endif /* LOADSTUB */
X  #endif /* apollo */
X  
X*** ./util/makedepend/cppsetup.c.orig	Tue Sep  6 17:53:49 1988
X--- ./util/makedepend/cppsetup.c	Thu Nov 10 13:38:05 1988
X***************
X*** 76,82 ****
X  	static struct symtab    undefined;
X  	struct symtab   *sp;
X  
X! 	sp = defined(symbol, currentinc);
X  	if (sp == NULL) {
X  		sp = &undefined;
X  		sp->s_value = NULL;
X--- 76,82 ----
X  	static struct symtab    undefined;
X  	struct symtab   *sp;
X  
X! 	sp = sdefined(symbol, currentinc);
X  	if (sp == NULL) {
X  		sp = &undefined;
X  		sp->s_value = NULL;
X*** ./util/makedepend/def.h.orig	Thu Sep 22 13:52:37 1988
X--- ./util/makedepend/def.h	Thu Nov 10 13:36:40 1988
X***************
X*** 91,97 ****
X  char			*basename();
X  char			*getline();
X  struct symtab		*slookup();
X! struct symtab		*defined();
X  struct symtab		*fdefined();
X  struct filepointer	*getfile();
X  struct inclist		*newinclude();
X--- 91,97 ----
X  char			*basename();
X  char			*getline();
X  struct symtab		*slookup();
X! struct symtab		*sdefined();
X  struct symtab		*fdefined();
X  struct filepointer	*getfile();
X  struct inclist		*newinclude();
X*** ./clients/x10tox11/dispatch.c.orig	Tue Oct 11 18:10:28 1988
X--- ./clients/x10tox11/dispatch.c	Fri Nov 11 09:20:36 1988
X***************
X*** 30,35 ****
X--- 30,39 ----
X  #include "resource.h"
X  #include "X10int.h"
X  
X+ #ifdef multimax
X+ typedef unsigned short ushort;
X+ #endif
X+ 
X  extern int ScreenDepth;
X  extern int errno;
X  extern int havemask[];
X*** ./util/imake/imake.c.orig	Sat Oct  8 20:08:33 1988
X--- ./util/imake/imake.c	Thu Nov 10 11:18:32 1988
X***************
X*** 154,159 ****
X--- 154,162 ----
X  #ifdef macII
X  	"-DmacII",		/* default cpp has no unique symbol */
X  #endif /* macII (Apple) */
X+ #ifdef multimax
X+ 	"-Dmultimax",		/* default cpp has no unique symbol */
X+ #endif /* multimax (Encore) */
X  };
X  int	make_argindex;
X  int	cpp_argindex;
X*** ./util/makedepend/parse.c.orig	Thu Sep 22 13:52:53 1988
X--- ./util/makedepend/parse.c	Thu Nov 10 13:39:49 1988
X***************
X*** 41,48 ****
X  			break;
X  		case IFDEF:
X  		case IFNDEF:
X! 			if ((type == IFDEF && defined(line, file_red))
X! 			 || (type == IFNDEF && !defined(line, file_red))) {
X  				debug1(type == IFNDEF ?
X  				    "line %d: %s !def'd in %s via %s%s\n" : "",
X  				    filep->f_line, line,
X--- 41,48 ----
X  			break;
X  		case IFDEF:
X  		case IFNDEF:
X! 			if ((type == IFDEF && sdefined(line, file_red))
X! 			 || (type == IFNDEF && !sdefined(line, file_red))) {
X  				debug1(type == IFNDEF ?
X  				    "line %d: %s !def'd in %s via %s%s\n" : "",
X  				    filep->f_line, line,
X***************
X*** 85,93 ****
X  			}
X  		    {
X  			struct symtab *val;
X! 			for(val = defined(line, file_red);
X  			    (val && val->s_name);
X! 			    val = defined(line, file_red))
X  
X  			    *(val->s_name) = '\0';
X  		    }
X--- 85,93 ----
X  			}
X  		    {
X  			struct symtab *val;
X! 			for(val = sdefined(line, file_red);
X  			    (val && val->s_name);
X! 			    val = sdefined(line, file_red))
X  
X  			    *(val->s_name) = '\0';
X  		    }
X***************
X*** 255,261 ****
X  
X  		/* Support ANSI macro substitution */
X  		{
X! 		    struct symtab *sym = defined(p, file_red);
X  		    while (sym) {
X  			p = sym->s_value;
X  			debug3("%s : #includes SYMBOL %s = %s\n",
X--- 255,261 ----
X  
X  		/* Support ANSI macro substitution */
X  		{
X! 		    struct symtab *sym = sdefined(p, file_red);
X  		    while (sym) {
X  			p = sym->s_value;
X  			debug3("%s : #includes SYMBOL %s = %s\n",
X***************
X*** 264,270 ****
X  			       sym -> s_value);
X  			/* mark file as having included a 'soft include' */
X  			file->i_included_sym = TRUE; 
X! 			sym = defined(p, file_red);
X  		    }
X  		}
X  
X--- 264,270 ----
X  			       sym -> s_value);
X  			/* mark file as having included a 'soft include' */
X  			file->i_included_sym = TRUE; 
X! 			sym = sdefined(p, file_red);
X  		    }
X  		}
X  
X***************
X*** 305,311 ****
X  	return(ret);
X  }
X  
X! struct symtab *defined(symbol, file)
X  	register char	*symbol;
X  	struct inclist	*file;
X  {
X--- 305,311 ----
X  	return(ret);
X  }
X  
X! struct symtab *sdefined(symbol, file)
X  	register char	*symbol;
X  	struct inclist	*file;
X  {
!End-Of-diffs!
echo x - multimax.macros
sed -e 's/^X//' > multimax.macros <<'!End-Of-multimax.macros!'
X/*
X * This is a sample .macros; you should copy it, set the make variables at the
X * top for your system, set the defines, and add server-specific definitions
X * (see site.def for a list).
X */
X
X/****************************************************************************
X *                                                                          *
X *		   SET MAKE VARIABLES THAT ARE OS-DEPENDENT                 *
X *                                                                          *
X ****************************************************************************/
X
X#define StandardSystemDefines -Dmultimax
X#define StandardDefines StandardSystemDefines
X
X
X               AR = ar clq
X  BOOTSTRAPCFLAGS = -Dmultimax		/* set if cpp doesn't have uniq sym */
X               CC = cc
X         COMPRESS = compress
X              CPP = /lib/cpp
X          INSTALL = install
X               LD = ld
X             LINT = lint
X      LINTLIBFLAG = -C
X         LINTOPTS = -axz
X               LN = ln -s
X               MV = mv
X           RANLIB = /bin/true
X  RANLIBINSTFLAGS = 			/* might use -t if supported */
X               RM = rm -f
XSTD_CPP_DEFINES = StandardSystemDefines
X    STD_DEFINES = StandardDefines
XSYSLAST_LIBRARIES =			/* socket or emulation libraries */
X             TAGS = ctags
X
X
X/*****************************************************************************
X *                                                                           *
X *			DEFINE PARAMETERS FOR BUILDING                       *
X *                                                                           *
X *****************************************************************************/
X
X/* #define XmumbleServer Xmumble */	/* if BuildServer isn't set false */
X#define LibraryDefines		StandardDefines
X#define ServerDefines		StandardDefines
X#define ConnectionFlags -DTCPCONN /* -DUNIXCONN -DDNETCONN */
X/* #define FontDefines -DFONT_SNF -DFONT_BDF -DCOMPRESSED_FONTS */
X
X
X/*****************************************************************************
X *                                                                           *
X *	      OVERRIDE ANY CONFIGURATION PARAMETERS FROM site.def            *
X *                                                                           *
X *****************************************************************************/
X
X#define DestDir	/pro/x11/multi3
X#define BuildServer	NO
!End-Of-multimax.macros!