🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.windows.x
Article #24877

Patch for Xaw3d on R4

#24877
From: Jake Vogelaar
Date: Sun, 14 Mar 1993 03:59
759 lines
22663 bytes

	Here is a patch for the Xaw3d library (0.6A) for X11R5 to get it to
work on X11R4 also.  This is an unofficial patch, provided in case there
are people with R4 servers and libraries out there that want the latest 
version of this library.  Patches were made using the latest available 
version for R4, Xaw3d 0.4, and borrowing some R5 library source code.  Apply
this patch in the Xaw3d directory with "patch -p < thisfile".  If make has
trouble with the Imake-produced Makefile, you can just as easily compile
everything with "xcc -DX11R4 -DARROW_SCROLLBAR -I. -c *.c", where xcc is
the compiler and the cflags you normally use to compile X programs.

	Usage of the patched library and header files is as normal except
when you are using the Xaw3d header files you need to define X11R4.
I tested this on the O'Reilly Xaw examples distributed with X11R4, 
and with aXe 4.0 compiled to use 3d Athena.  The Xaw examples all work fine,
and so does aXe except for an occasional screen update problem.  This may
be an aXe problem with the way it uses Xaw3d, however, because the O'Reilly
examples do not show that kind of behavior.

	Again, this is an unofficial patch with all standard disclaimers
attached, merely provided for your convenience.  If you have any 
questions/comments, e-mail me at jake@aspen.njit.edu.

Jake

----------------------------------- cut --------------------------------
*** AsciiSrc.c~	Mon Mar  8 22:29:35 1993
--- AsciiSrc.c	Sat Mar 13 19:56:03 1993
***************
*** 36,42 ****
--- 36,44 ----
  #include <errno.h>
  #include <X11/StringDefs.h>
  #include <X11/Xos.h>
+ #ifndef X11R4
  #include <X11/Xfuncs.h>
+ #endif
  #include <X11/Xaw3d/XawInit.h>
  #include <X11/Xaw3d/AsciiSrcP.h>
  #include <X11/Xmu/Misc.h>
***************
*** 46,51 ****
--- 48,57 ----
  #  include <X11/Xaw/AsciiText.h> /* for Widget Classes. */
  #endif
  
+ #ifdef X11R4
+ #define XPointer caddr_t
+ #define XrmPermStringToQuark XrmStringToQuark
+ #endif
  
  /****************************************************************
   *
*** Command.c~	Tue Mar  9 00:26:18 1993
--- Command.c	Sat Mar 13 19:56:03 1993
*************** static XtActionsRec actionsList[] = {
*** 93,98 ****
--- 93,102 ----
    {"unhighlight",	Unhighlight}
  };
  
+ #ifdef X11R4
+ XtActionList xaw_command_actions_list = actionsList;
+ #endif
+ 
  #define SuperClass ((LabelWidgetClass)&labelClassRec)
  
  CommandClassRec commandClassRec = {
*** Form.c~	Mon Mar  8 22:51:02 1993
--- Form.c	Sat Mar 13 19:56:03 1993
*************** SOFTWARE.
*** 32,37 ****
--- 32,40 ----
  
  #include <X11/Xaw3d/XawInit.h>
  #include <X11/Xaw3d/FormP.h>
+ #ifdef X11R4
+ #define XrmPermStringToQuark XrmStringToQuark
+ #endif
  
  /* Private Definitions */
  
*************** static void ClassInitialize()
*** 205,213 ****
--- 208,218 ----
  
      XtAddConverter( XtRString, XtREdgeType, _CvtStringToEdgeType, 
  		    (XtConvertArgList)NULL, 0 );
+ #ifndef X11R4
      XtSetTypeConverter (XtRString, XtRWidget, XmuNewCvtStringToWidget,
  			parentCvtArgs, XtNumber(parentCvtArgs), XtCacheNone,
  			(XtDestructor)NULL);
+ #endif
  }
  
  static void ClassPartInitialize(class)
*** Simple.c~	Tue Mar  9 21:07:01 1993
--- Simple.c	Sat Mar 13 19:56:04 1993
*************** SOFTWARE.
*** 30,35 ****
--- 30,38 ----
  #include <X11/Xaw3d/XawInit.h>
  #include <X11/Xaw3d/SimpleP.h>
  #include <X11/Xmu/Drawing.h>
+ #ifdef X11R4
+ #define XPointer caddr_t
+ #endif
  
  #define offset(field) XtOffsetOf(SimpleRec, simple.field)
  
*************** SimpleClassRec simpleClassRec = {
*** 92,97 ****
--- 95,176 ----
  
  WidgetClass simpleWidgetClass = (WidgetClass)&simpleClassRec;
  
+ #ifdef X11R4
+ #define	new_done(type, value) \
+ 	{							\
+ 	    if (toVal->addr != NULL) {				\
+ 		if (toVal->size < sizeof(type)) {		\
+ 		    toVal->size = sizeof(type);			\
+ 		    return False;				\
+ 		}						\
+ 		*(type*)(toVal->addr) = (value);		\
+ 	    }							\
+ 	    else {						\
+ 		static type static_val;				\
+ 		static_val = (value);				\
+ 		toVal->addr = (XPointer)&static_val;		\
+ 	    }							\
+ 	    toVal->size = sizeof(type);				\
+ 	    return True;					\
+ 	}
+ 
+ /*	Function Name: XmuCvtStringToColorCursor
+  *	Description: Converts a string into a colored cursor.
+  *	Arguments: dpy
+  *		   args - an argument list (see below).
+  *                 num_args - number of elements in the argument list.
+  *                 fromVal - value to convert from.
+  *                 toVal - value to convert to.
+  *		   data
+  *	Returns:   True or False
+  */
+ 
+ /*ARGSUSED*/
+ Boolean
+ XmuCvtStringToColorCursor(dpy, args, num_args, fromVal, toVal, converter_data)
+     Display     *dpy;
+     XrmValuePtr args;
+     Cardinal    *num_args;
+     XrmValuePtr	fromVal;
+     XrmValuePtr	toVal;
+     XtPointer   *converter_data;	/* unused */
+ {
+     Cursor cursor;
+     Pixel fg, bg;
+     Colormap c_map;
+     XColor colors[2];
+     Cardinal number;
+     XrmValue ret_val;
+ 
+     if (*num_args != 4) {
+ 	XtAppWarningMsg(XtDisplayToApplicationContext(dpy),
+ 	    "wrongParameters","cvtStringToColorCursor","XmuError",
+             "String to color cursor conversion needs four arguments",
+ 	    (String *)NULL, (Cardinal *)NULL);
+ 	return False;
+     }
+ 
+     fg = *((Pixel *) args[1].addr);
+     bg = *((Pixel *) args[2].addr);
+     c_map = *((Colormap *) args[3].addr);
+ 
+     number = 1;
+     XmuCvtStringToCursor(args, &number, fromVal, &ret_val);
+     
+     cursor = *((Cursor *) ret_val.addr);
+ 
+     if (cursor == None)
+ 	new_done(Cursor, cursor);
+ 
+     colors[0].pixel = fg;
+     colors[1].pixel = bg;
+ 
+     XQueryColors (dpy, c_map, colors, 2);
+     XRecolorCursor(dpy, cursor, colors, colors + 1);
+     new_done(Cursor, cursor);
+ }
+ #endif
+ 
  static void ClassInitialize()
  {
      static XtConvertArgRec convertArg[] = {
*** Simple.h~	Tue Mar  9 21:01:06 1993
--- Simple.h	Sat Mar 13 19:56:04 1993
*************** SOFTWARE.
*** 57,62 ****
--- 57,67 ----
  
  */
  
+ #ifdef X11R4
+ #define XtNpointerColor "pointerColor"
+ #define XtNpointerColorBackground "pointerColorBackground"
+ #define XtRColorCursor "ColorCursor"
+ #endif
  #define XtNcursor "cursor"
  #define XtNcursorName "cursorName"
  #define XtNinsensitiveBorder "insensitiveBorder"
*** SmeThreeD.h~	Sat Mar 13 20:21:40 1993
--- SmeThreeD.h	Sat Mar 13 20:22:32 1993
*************** SOFTWARE.
*** 36,41 ****
--- 36,44 ----
   *
   ***********************************************************************/
  
+ #ifdef X11R4
+ #include <X11/Xfuncproto.h>
+ #endif
  #include <X11/Xmu/Converters.h>
  #include <X11/Xaw3d/Sme.h>
  
*** StripChart.c~	Mon Mar  8 22:29:42 1993
--- StripChart.c	Sat Mar 13 19:56:07 1993
*************** SOFTWARE.
*** 29,35 ****
--- 29,37 ----
  #include <X11/StringDefs.h>
  #include <X11/Xaw3d/XawInit.h>
  #include <X11/Xaw3d/StripCharP.h>
+ #ifndef X11R4
  #include <X11/Xfuncs.h>
+ #endif
  
  #define MS_PER_SEC 1000
  
*** Text.c~	Mon Mar  8 22:29:49 1993
--- Text.c	Sat Mar 13 19:56:09 1993
*************** SOFTWARE.
*** 41,47 ****
--- 41,49 ----
  #include <X11/Xaw3d/Scrollbar.h>
  #include <X11/Xaw3d/TextP.h>
  
+ #ifndef X11R4
  #include <X11/Xfuncs.h>
+ #endif
  
  unsigned long FMT8BIT = 0L;
  
*************** unsigned long FMT8BIT = 0L;
*** 53,58 ****
--- 55,63 ----
  #define SrcSearch              XawTextSourceSearch
  #define SrcCvtSel              XawTextSourceConvertSelection
  #define SrcSetSelection        XawTextSourceSetSelection
+ #ifdef X11R4
+ #define XrmPermStringToQuark XrmStringToQuark
+ #endif
  
  #define BIGNUM ((Dimension)32023)
  #define MULTI_CLICK_TIME 500L
*** Text.h~	Tue Mar  9 00:35:41 1993
--- Text.h	Sat Mar 13 20:37:46 1993
*************** SOFTWARE.
*** 58,64 ****
--- 58,66 ----
  
  */
  
+ #ifdef X11R4
  typedef long XawTextPosition;
+ #endif
  
  typedef enum { XawtextScrollNever,
  	       XawtextScrollWhenNeeded, XawtextScrollAlways} XawTextScrollMode;
*** TextSrc.c~	Tue Mar  9 00:00:31 1993
--- TextSrc.c	Sat Mar 13 19:56:10 1993
***************
*** 37,42 ****
--- 37,45 ----
  #include <X11/Xaw3d/XawInit.h>
  #include <X11/Xaw3d/TextSrcP.h>
  #include <X11/Xmu/CharSet.h>
+ #ifdef X11R4
+ #define XrmPermStringToQuark XrmStringToQuark
+ #endif
  
  /****************************************************************
   *
*** ThreeD.h~	Sat Mar 13 20:22:43 1993
--- ThreeD.h	Sat Mar 13 20:23:13 1993
*************** SOFTWARE.
*** 36,41 ****
--- 36,44 ----
   *
   ***********************************************************************/
  
+ #ifdef X11R4
+ #include <X11/Xfuncproto.h>
+ #endif
  #include <X11/Xmu/Converters.h>
  
  /* Parameters:
*** Toggle.c~	Mon Mar  8 23:07:53 1993
--- Toggle.c	Sat Mar 13 19:56:10 1993
***************
*** 41,46 ****
--- 41,49 ----
  #include <X11/Xmu/Converters.h>
  #include <X11/Xmu/Misc.h>
  #include <X11/Xaw3d/ToggleP.h>
+ #ifdef X11R4
+ extern XtActionList xaw_command_actions_list;
+ #endif
  
  /****************************************************************
   *
*************** ClassInit()
*** 169,182 ****
--- 172,191 ----
    };
  
    XawInitializeWidgetSet();
+ #ifndef X11R4
    XtSetTypeConverter(XtRString, XtRWidget, XmuNewCvtStringToWidget,
  		     parentCvtArgs, XtNumber(parentCvtArgs), XtCacheNone,
  		     (XtDestructor)NULL);
+ #endif
  /* 
   * Find the set and unset actions in the command widget's action table. 
   */
  
+ #ifndef X11R4
    XtGetActionList(commandWidgetClass, &actions, &num_actions);
+ #else
+   actions = xaw_command_actions_list;
+ #endif
  
    for (i = 0 ; i < num_actions ; i++) {
      if (streq(actions[i].string, "set"))
*** Tree.c~	Mon Mar  8 23:46:44 1993
--- Tree.c	Sat Mar 13 19:56:11 1993
*************** static void check_gravity (tw, grav)
*** 298,305 ****
--- 298,307 ----
  static void ClassInitialize ()
  {
      XawInitializeWidgetSet();
+ #ifndef X11R4
      XtAddConverter (XtRString, XtRGravity, XmuCvtStringToGravity,
  		    (XtConvertArgList) NULL, (Cardinal) 0);
+ #endif
  }
  
  
*** Tree.h~	Tue Mar  9 20:58:15 1993
--- Tree.h	Sat Mar 13 19:56:11 1993
***************
*** 70,75 ****
--- 70,79 ----
  #define XtCVSpace "VSpace"
  #endif
  
+ #ifdef X11R4
+ typedef int XtGravity;
+ #define XtRGravity "Gravity"
+ #endif
  #define XtNautoReconfigure "autoReconfigure"
  #define XtNlineWidth "lineWidth"
  #define XtNtreeGC "treeGC"
*** Vendor.c~	Mon Mar  8 23:48:35 1993
--- Vendor.c	Sat Mar 13 19:56:11 1993
*************** SOFTWARE.
*** 41,47 ****
--- 41,49 ----
  #include <X11/Vendor.h>
  #include <X11/VendorP.h>
  #include <X11/Xmu/Converters.h>
+ #ifndef X11R4
  #include <X11/Xmu/Editres.h>
+ #endif
  
  static XtResource resources[] = {
    {XtNinput, XtCInput, XtRBool, sizeof(Bool),
*************** static void XawVendorShellInitialize(req
*** 144,151 ****
--- 146,155 ----
  	ArgList args;
  	Cardinal *num_args;
  {
+ #ifndef X11R4
      XtAddEventHandler(new, (EventMask) 0, TRUE, 
  			_XEditResCheckMessages, (XtPointer)NULL);
+ #endif
  }
  
  static void ChangeManaged(wid)
*** /dev/null	Sat Mar 13 16:55:00 1993
--- X11/Xfuncproto.h	Sat Mar 13 19:56:12 1993
***************
*** 0 ****
--- 1,152 ----
+ /* $XConsortium: Xfuncproto.h,v 1.7 91/05/13 20:49:21 rws Exp $ */
+ /* 
+  * Copyright 1989, 1991 by the Massachusetts Institute of Technology
+  *
+  * Permission to use, copy, modify, and distribute this software and its
+  * documentation for any purpose and without fee is hereby granted, provided 
+  * that the above copyright notice appear in all copies and that both that 
+  * copyright notice and this permission notice appear in supporting 
+  * documentation, and that the name of M.I.T. not be used in advertising
+  * or publicity pertaining to distribution of the software without specific, 
+  * written prior permission. M.I.T. makes no representations about the 
+  * suitability of this software for any purpose.  It is provided "as is"
+  * without express or implied warranty.
+  *
+  */
+ 
+ /* Definitions to make function prototypes manageable */
+ 
+ #ifndef _XFUNCPROTO_H_
+ #define _XFUNCPROTO_H_
+ 
+ #ifndef NeedFunctionPrototypes
+ #if defined(FUNCPROTO) || __STDC__ || defined(__cplusplus) || defined(c_plusplus)
+ #define NeedFunctionPrototypes 1
+ #else
+ #define NeedFunctionPrototypes 0
+ #endif
+ #endif /* NeedFunctionPrototypes */
+ 
+ #ifndef NeedVarargsPrototypes
+ #if __STDC__ || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&2)
+ #define NeedVarargsPrototypes 1
+ #else
+ #define NeedVarargsPrototypes 0
+ #endif
+ #endif /* NeedVarargsPrototypes */
+ 
+ #if NeedFunctionPrototypes
+ 
+ #ifndef NeedNestedPrototypes
+ #if __STDC__ || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&8)
+ #define NeedNestedPrototypes 1
+ #else
+ #define NeedNestedPrototypes 0
+ #endif
+ #endif /* NeedNestedPrototypes */
+ 
+ #ifndef _Xconst
+ #if __STDC__ || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&4)
+ #define _Xconst const
+ #else
+ #define _Xconst
+ #endif
+ #endif /* _Xconst */
+ 
+ #ifndef NeedWidePrototypes
+ #ifdef NARROWPROTO
+ #define NeedWidePrototypes 0
+ #else
+ #define NeedWidePrototypes 1		/* default to make interropt. easier */
+ #endif
+ #endif /* NeedWidePrototypes */
+ 
+ #endif /* NeedFunctionPrototypes */
+ 
+ #ifndef _XFUNCPROTOBEGIN
+ #ifdef __cplusplus			/* for C++ V2.0 */
+ #define _XFUNCPROTOBEGIN extern "C" {	/* do not leave open across includes */
+ #define _XFUNCPROTOEND }
+ #else
+ #define _XFUNCPROTOBEGIN
+ #define _XFUNCPROTOEND
+ #endif
+ #endif /* _XFUNCPROTOBEGIN */
+ 
+ #endif /* _XFUNCPROTO_H_ */
+ /* $XConsortium: Xfuncproto.h,v 1.7 91/05/13 20:49:21 rws Exp $ */
+ /* 
+  * Copyright 1989, 1991 by the Massachusetts Institute of Technology
+  *
+  * Permission to use, copy, modify, and distribute this software and its
+  * documentation for any purpose and without fee is hereby granted, provided 
+  * that the above copyright notice appear in all copies and that both that 
+  * copyright notice and this permission notice appear in supporting 
+  * documentation, and that the name of M.I.T. not be used in advertising
+  * or publicity pertaining to distribution of the software without specific, 
+  * written prior permission. M.I.T. makes no representations about the 
+  * suitability of this software for any purpose.  It is provided "as is"
+  * without express or implied warranty.
+  *
+  */
+ 
+ /* Definitions to make function prototypes manageable */
+ 
+ #ifndef _XFUNCPROTO_H_
+ #define _XFUNCPROTO_H_
+ 
+ #ifndef NeedFunctionPrototypes
+ #if defined(FUNCPROTO) || __STDC__ || defined(__cplusplus) || defined(c_plusplus)
+ #define NeedFunctionPrototypes 1
+ #else
+ #define NeedFunctionPrototypes 0
+ #endif
+ #endif /* NeedFunctionPrototypes */
+ 
+ #ifndef NeedVarargsPrototypes
+ #if __STDC__ || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&2)
+ #define NeedVarargsPrototypes 1
+ #else
+ #define NeedVarargsPrototypes 0
+ #endif
+ #endif /* NeedVarargsPrototypes */
+ 
+ #if NeedFunctionPrototypes
+ 
+ #ifndef NeedNestedPrototypes
+ #if __STDC__ || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&8)
+ #define NeedNestedPrototypes 1
+ #else
+ #define NeedNestedPrototypes 0
+ #endif
+ #endif /* NeedNestedPrototypes */
+ 
+ #ifndef _Xconst
+ #if __STDC__ || defined(__cplusplus) || defined(c_plusplus) || (FUNCPROTO&4)
+ #define _Xconst const
+ #else
+ #define _Xconst
+ #endif
+ #endif /* _Xconst */
+ 
+ #ifndef NeedWidePrototypes
+ #ifdef NARROWPROTO
+ #define NeedWidePrototypes 0
+ #else
+ #define NeedWidePrototypes 1		/* default to make interropt. easier */
+ #endif
+ #endif /* NeedWidePrototypes */
+ 
+ #endif /* NeedFunctionPrototypes */
+ 
+ #ifndef _XFUNCPROTOBEGIN
+ #ifdef __cplusplus			/* for C++ V2.0 */
+ #define _XFUNCPROTOBEGIN extern "C" {	/* do not leave open across includes */
+ #define _XFUNCPROTOEND }
+ #else
+ #define _XFUNCPROTOBEGIN
+ #define _XFUNCPROTOEND
+ #endif
+ #endif /* _XFUNCPROTOBEGIN */
+ 
+ #endif /* _XFUNCPROTO_H_ */
*** /dev/null	Sat Mar 13 16:55:00 1993
--- X11/Xosdefs.h	Sat Mar 13 19:56:11 1993
***************
*** 0 ****
--- 1,190 ----
+ /*
+  * O/S-dependent (mis)feature macro definitions
+  *
+  * $XConsortium: Xosdefs.h,v 1.7 91/07/19 23:22:19 rws Exp $
+  *
+  * Copyright 1991 Massachusetts Institute of Technology
+  *
+  * Permission to use, copy, modify, distribute, and sell this software and its
+  * documentation for any purpose is hereby granted without fee, provided that
+  * the above copyright notice appear in all copies and that both that
+  * copyright notice and this permission notice appear in supporting
+  * documentation, and that the name of M.I.T. not be used in advertising or
+  * publicity pertaining to distribution of the software without specific,
+  * written prior permission.  M.I.T. makes no representations about the
+  * suitability of this software for any purpose.  It is provided "as is"
+  * without express or implied warranty.
+  *
+  * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
+  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
+  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+  */
+ 
+ #ifndef _XOSDEFS_H_
+ #define _XOSDEFS_H_
+ 
+ /*
+  * X_NOT_STDC_ENV means does not have ANSI C header files.  Lack of this
+  * symbol does NOT mean that the system has stdarg.h.
+  *
+  * X_NOT_POSIX means does not have POSIX header files.  Lack of this
+  * symbol does NOT mean that the POSIX environment is the default.
+  * You may still have to define _POSIX_SOURCE to get it.
+  */
+ 
+ #ifdef NOSTDHDRS
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ 
+ #ifdef sony
+ #ifndef SYSTYPE_SYSV
+ #define X_NOT_POSIX
+ #endif
+ #endif
+ 
+ #ifdef UTEK
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ 
+ #ifdef CRAY
+ #define X_NOT_POSIX
+ #endif
+ 
+ #ifdef vax
+ #ifndef ultrix			/* assume vanilla BSD */
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ #endif
+ 
+ #ifdef luna
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ 
+ #ifdef Mips
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+   
+ #ifdef USL
+ #ifdef SYSV /* (release 3.2) */
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ #endif
+ 
+ #ifdef SYSV386
+ #ifdef SYSV
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ #endif
+ 
+ #ifdef MOTOROLA
+ #ifdef SYSV
+ #define X_NOT_STDC_ENV
+ #endif
+ #endif
+ 
+ #endif /* _XOSDEFS_H_ */
+ /*
+  * O/S-dependent (mis)feature macro definitions
+  *
+  * $XConsortium: Xosdefs.h,v 1.7 91/07/19 23:22:19 rws Exp $
+  *
+  * Copyright 1991 Massachusetts Institute of Technology
+  *
+  * Permission to use, copy, modify, distribute, and sell this software and its
+  * documentation for any purpose is hereby granted without fee, provided that
+  * the above copyright notice appear in all copies and that both that
+  * copyright notice and this permission notice appear in supporting
+  * documentation, and that the name of M.I.T. not be used in advertising or
+  * publicity pertaining to distribution of the software without specific,
+  * written prior permission.  M.I.T. makes no representations about the
+  * suitability of this software for any purpose.  It is provided "as is"
+  * without express or implied warranty.
+  *
+  * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
+  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
+  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+  */
+ 
+ #ifndef _XOSDEFS_H_
+ #define _XOSDEFS_H_
+ 
+ /*
+  * X_NOT_STDC_ENV means does not have ANSI C header files.  Lack of this
+  * symbol does NOT mean that the system has stdarg.h.
+  *
+  * X_NOT_POSIX means does not have POSIX header files.  Lack of this
+  * symbol does NOT mean that the POSIX environment is the default.
+  * You may still have to define _POSIX_SOURCE to get it.
+  */
+ 
+ #ifdef NOSTDHDRS
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ 
+ #ifdef sony
+ #ifndef SYSTYPE_SYSV
+ #define X_NOT_POSIX
+ #endif
+ #endif
+ 
+ #ifdef UTEK
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ 
+ #ifdef CRAY
+ #define X_NOT_POSIX
+ #endif
+ 
+ #ifdef vax
+ #ifndef ultrix			/* assume vanilla BSD */
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ #endif
+ 
+ #ifdef luna
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ 
+ #ifdef Mips
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+   
+ #ifdef USL
+ #ifdef SYSV /* (release 3.2) */
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ #endif
+ 
+ #ifdef SYSV386
+ #ifdef SYSV
+ #define X_NOT_POSIX
+ #define X_NOT_STDC_ENV
+ #endif
+ #endif
+ 
+ #ifdef MOTOROLA
+ #ifdef SYSV
+ #define X_NOT_STDC_ENV
+ #endif
+ #endif
+ 
+ #endif /* _XOSDEFS_H_ */
-- 
//////////////////////////////////-------\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Jake Vogelaar:  jxv3790@hertz.njit.edu, jake@aspen.njit.edu
Computer Vision R&D, Warner-Lambert Manufacturing Development Laboratory
New Jersey Institute of Technology
Technical Details
Message-ID: <1993Mar14.035906.8729@njitgw.njit.edu>
Path: arc1-ca.pugleaf.net!wupost!cs.utexas.edu!rutgers!njitgw.njit.edu!hertz.njit.edu!jxv3790

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!wupost!cs.utexas.edu!rutgers!njitgw.njit.edu!hertz.njit.edu!jxv3790
From: jxv3790@hertz.njit.edu (Jake Vogelaar)
Newsgroups: comp.windows.x,alt.sources
Subject: Patch for Xaw3d on R4
Message-ID: <1993Mar14.035906.8729@njitgw.njit.edu>
Date: 14 Mar 93 03:59:06 GMT
Sender: news@njit.edu
Organization: New Jersey Institute of Technology, Newark, N.J.
Lines: 759
Nntp-Posting-Host: hertz.njit.edu