[comp.windows.x] X11 R3 on IBM RT/PC under AOS 4.3 Release 2

ehrlich@shire.cs.psu.edu (Dan Ehrlich) (12/07/88)

We (Penn State Computer Science) has just acquired a large number of
RT/PC to set up in a teaching lab.  We would really like to run X11 R3
instead of the X11 R2 that IBM is distributing with AOS 4.3 Release 2.
Here is my tale of woe.

Has anyone been able to get the X11 R3 'core' to even come close to
working on an IBM RT/PC under AOS 4.3 Release 2?  At first we compiled
the release using the 'new and improved' MetaWare High-C compiler
v2.1, but bitmaps and tilings do not seem to work right.  So last
night I tried to recompile the whole core release with High-C v1.4,
but fatal errors are reported by the compiler.  Attached are copies of
util/imake.includes/{Rt.macros,site.def} that were in place when I
tried to 'make world'.  If anyone can tell me what I am doing wrong I
would appreciate hearing from you.  Thanks in advance.

Dan Ehrlich <ehrlich@shire.cs.psu.edu> | Disclaimer: The opinions expressed are
The Pennsylvania State University      | my own, and should not be attributed
Department of Computer Science         | to anyone else, living or dead.
University Park, PA   16802            |

=========================== util/imake.includes/Rt.Macros ==========================
/**/# platform:  $XConsortium: Rt.macros,v 1.47 88/10/25 18:39:43 keith Exp $

#include "IBM.macros"

#define	GlobalDefines	-DHCVERSION=HCRevision
#define OPERATING_SYSTEM BSDrt
#define OSDefines -DBSDrt

BOOTSTRAPCFLAGS = 
             CC = hc1.4
 LDCOMBINEFLAGS = -X -r
             LN = ln -s
         RANLIB = ranlib
RANLIBINSTFLAGS = -t
             AR = ar cq
       LINTOPTS = -axz
    LINTLIBFLAG = -C

            PCC = pcc
/*
 * It's real useful to know the version of hc we're using, but hc doesn't
 * identify itself in the pre-processor, so we have to do it by hand.
 *
 * To determine which version of hc you have, compile (DON'T link) some simple 
 * program ("hello world" leaps to mind) and look in the .o (with "nm") for a 
 * symbol named ".oVhc[0-9].[0-9][a-z]" -- this symbol is included in all 
 * .o's by hc, and identifies the compiler release.
 * 
 * To Calculate HCRevision, multiply the version number by 1000 and add the
 * index of the release letter.
 * For example, if nm reports:
 *	00000000 A .oVhc2.1d
 * The HCRevision is ((2.1 * 1000)+('d'-'a'+1)) == 21004
 * Another popular version of hc is:
 *	00000000 A .oVhc1.4r
 * Whose HCRevision is ((1.4 * 1000)+('r'-'a'+1)) == 14018
 *
 * A good clue that HCRevision is defined incorrectly is the undefined symbol
 * '_Alloca' at load time.
 */

/* #define	HCRevision	21004 */
#define	HCRevision	14018

/* 
 * define this as you like for server compilation 
 * affected: all makefiles in .../X11/server
 */
#define ServerDefines		-DUNIXCPP -DNOSTDHDRS GlobalDefines

/* define this as you like for server font support */
#define FontDefines	-DFONT_SNF -DFONT_BDF -DCOMPRESSED_FONTS GlobalDefines

/* define the following line for easily debuggable servers, the */
/* second line for especially speedy servers.			*/
/* #define ServerCDebugFlags	-O -DDEBUG -DTRACE_X */
#define	ServerCDebugFlags	-O 

/* define this as you like for normal library compilation */
#define LibraryDefines		-DUNIXCPP GlobalDefines

/* 
 * These define the screens the server will allow
 * affected:	.../server/ddx/ibm/Makefile
 *		.../server/ddx/ibm/common/Makefile
 * Also, be sure to remove .../server/ddx/ibm/common/ibmscreen.o
 */
#define	ibmInclude8514	YES
#define	ibmIncludeAED	NO
#define	ibmIncludeAPA16	NO
#define	ibmIncludeAPA8c	NO
#define	ibmIncludeEGA	YES
#define	ibmIncludeMPEL	YES
#define	ibmIncludeVGA	YES
#define	ibmIncludeGEN	NO

#define BigEndianArchitecture	YES	/* ddx-specific stuff might need? */



=========================== util/imake.includes/site.def ===========================
/**/# site:  $XConsortium: site.def,v 1.16 88/10/12 10:30:24 jim Exp $

/*****************************************************************************
 *                                                                           *
 *			   SITE-SPECIFIC DEFINITIONS                         *
 *                                                                           *
 * Override any of the defaults in def.def here.  Use ifndef so that servers *
 * can override you if necessary:                                            *
 *                                                                           *
 *     #ifndef ABuildParameter                                               *
 *     #define ABuildParameter myvalue                                       *
 *     #endif                                                                *
 *                                                                           *
 * We strongly recommend that you don't change the installation directories  *
 * and just use symbolic links if you want things to be installed on a       *
 * different partition.  For example,                                        *
 *                                                                           *
 *     # cd directory_containing_X_distribution                              *
 *     # make World                                                          *
 *     # mkdir /otherdisk/X                                                  *
 *     # foreach i (bin lib include)                                         *
 *     >     mkdir /otherdisk/X/$i                                           *
 *     >     ln -s /otherdisk/X/$i /usr/$i/X11                               *
 *     > end                                                                 *
 *     # make install                                                        *
 *                                                                           *
 * Note on using DESTDIR:  If you want to install into a scratch directory   *
 * but will eventually move the tree back to the root, compile with DESTDIR  *
 * blank and install with "make install DESTDIR=directory".                  *
 *                                                                           *
 *****************************************************************************/

/*
 * place site-specific definitions here
 */
#ifndef	UsrLibDir
#define	UsrLibDir	$(DESTDIR)/usr/new/lib
#endif

#ifndef BinDir
#define	BinDir		$(DESTDIR)/usr/new/bin/X11R3
#endif

#ifndef	IncDir
#define	IncDir		$(DESTDIR)/usr/include/X11R3
#endif

#ifndef	AdmDir
#define	AdmDir		$(DESTDIR)/var/log/X11R3
#endif

#ifndef	LibDir
#define	LibDir		$(USRLIBDIR)/X11R3
#endif
#ifndef	InstKmemFlags
#define	InstKmemFlags	-g kmem -m 2755
#endif

#ifndef	DefaultUserPath
#define	DefaultUserPath	:/bin:/usr/bin:/usr/new/bin:/usr/local/bin:$(BINDIR):/usr/ucb
#endif

#ifndef	DefaultSystemPath
#define	DefaultSystemPath	:/etc:/bin:/usr/bin:/usr/new/bin:/usr/local/bin:$(BINDIR):/usr/ucb
#endif
Dan Ehrlich <ehrlich@shire.cs.psu.edu> | Disclaimer: The opinions expressed are
The Pennsylvania State University      | my own, and should not be attributed
Department of Computer Science         | to anyone else, living or dead.
University Park, PA   16802            |