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!