# HG changeset patch # User Jim Blandy # Date 741941869 0 # Node ID 20abae0de304929708c2c01edf63d83a69543a8c # Parent 45b5a7ac812feb21e9d44e927a6fdfaa56853cda * m/pmax.h (C_SWITCH_X_MACHINE): Set this to "-DNeedFunctionPrototypes=0", to avoid lossage in DEC X11 header files. * ymakefile (really-oldXMenu): Pass C_SWITCH_X_MACHINE to the oldXMenu make. diff -r 45b5a7ac812f -r 20abae0de304 src/m/pmax.h --- a/src/m/pmax.h Tue Jul 06 06:18:50 1993 +0000 +++ b/src/m/pmax.h Tue Jul 06 06:57:49 1993 +0000 @@ -58,3 +58,24 @@ /* mcc@timessqr.gc.cuny.edu says it is /vmunix on Ultrix 4.2a. */ #undef KERNEL_FILE #define KERNEL_FILE "/vmunix" + +/* Jim Wilson writes: + [...] The X11 include files that Dec distributes with Ultrix + are bogus. + + When __STDC__ is defined (which is true with gcc), the X11 include files + try to define prototypes. The prototypes however use types which haven't + been defined yet, and thus we get syntax/parse errors. + + You can not fix this by changing the include files, because the prototypes + create circular dependencies, in particular Xutil.h depends on types defined + in Xlib.h, and Xlib.h depends on types defined in Xutil.h. So, no matter + which order you try to include them in, it will still fail. + + Compiling with -DNeedFunctionPrototypes=0 will solve the problem by + directly inhibiting the bad prototypes. This could perhaps just be put in + an a Ultrix configuration file. + + Using the MIT X11 distribution instead of the one provided by Dec will + also solve the problem, but I doubt you can convince everyone to do this. */ +#define C_SWITCH_X_MACHINE -DNeedFunctionPrototypes=0