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!