[comp.windows.x] Apollo SR10 and X.V11R3

casey@admin.cognet.ucla.edu (Casey Leedom) (11/13/88)

  Thanks much to Dave Gorgen of Apollo for his incredibly helpful
information leading to the final conquest of X.V11R3 under Apollo's
new operating system release SR10.0.  Dave deserves a raise both for his
technical knowledge and his constructive and supportive attitude in the
face of a very hostile audience (i.e. me).  Thanks Dave, really!!

  Following are fixes to four of the core files in the X.V11R3
distribution for compilation under Apollo's SR10.0.  These fixes should
be transparent to other platforms, including other versions of the Apollo
operating system.  Note in particular the addition of the _APOLLO_SR10
define in the imake.includes/Apllo.macros file - comment this out if you
are not running SR10.0.

Casey

-----
util/imake.includes/Apllo.macros:

	Added _APOLLO_SR10 define for use in other distribution files to
	distinguish between Apollo's SR10.0 and other releases.  Used
	above to locate pascal compiler ...  (Unfortunately, Apollo
	doesn't provide a similar define themselves - I wish they would
	issue a general patch instructing all customers to add something
	like this to their <apollo_$std.h> (where they define all general
	cpp predefines).)

util/imake.includes/Imake.tmpl:

	Added ``-A nansi'' to OptimizedCDebugFlags (ifdef _APOLLO_SR10)
	because Apollo's SR10 C compiler *isn't really* an ANSI C
	compiler - even though *it does* predefine __STDC__.  Fucking,
	idiot brain damage.  Note that ``-A nansi'' should also be added
	to DebuggableCDebugFlags, but I doubt very much whether anyone is
	ever going to want to use an Apollo to try to debug X ...

	The ``-A nansi'' will cause warning in the make depend phase.
	ignore them.  Also, just as a general note, the Apollo compiler
	is very good at detecting variables which are assigned to, but
	never used, and several other problems of this nature.  Ignore
	all the warnings it produces about these (though we should
	probably hand the complete set over to the X consortium) ...

server/ddx/apollo/apc/Imakefile:

	Under Apollo's SR10, the object file format got changed.  SR10
	now uses COFF.  In any case, we can't just unpack the apcfont.bin
	object module and hope for it to work.  Added obj2coff step
	(ifdef _APOLLO_SR10).  Also added pascal compile step if pascal
	compiler available (pascal is an unbundled product on Apollos).

server/ddx/apollo/apc/apctext.h:

	Added missing #endif.

*** util/imake.includes/Apllo.macros-dist	Sun Oct 23 15:00:32 1988
--- util/imake.includes/Apllo.macros	Sat Nov 12 01:19:52 1988
***************
*** 1,5 ****
--- 1,8 ----
  /**/# platform:  $XConsortium: Apllo.macros,v 1.44 88/10/23 11:00:30 jim Exp $
  
+ /* define this if you're running Apollo SR10 */
+ #define	_APOLLO_SR10
+ 
  BOOTSTRAPCFLAGS = 
               AS = exit 1
               CC = cc
***************
*** 15,26 ****
  RANLIBINSTFLAGS = 
               AR = ar clq
               LS = ls
-             PAS = /com/pas
         LINTOPTS = -axz
      LINTLIBFLAG = -C
             MAKE = make
  STD_CPP_DEFINES = 
      STD_DEFINES = 
  
  /* This defines the server you want */
  #define XapolloServer Xapollo
--- 18,35 ----
  RANLIBINSTFLAGS = 
               AR = ar clq
               LS = ls
         LINTOPTS = -axz
      LINTLIBFLAG = -C
             MAKE = make
+ #ifdef _APOLLO_SR10
+             PAS = /usr/apollo/lib/pas
+ STD_CPP_DEFINES = -D_APOLLO_SR10
+     STD_DEFINES = -D_APOLLO_SR10
+ #else
+             PAS = /com/pas
  STD_CPP_DEFINES = 
      STD_DEFINES = 
+ #endif
  
  /* This defines the server you want */
  #define XapolloServer Xapollo

*** util/imake.includes/Imake.tmpl-dist	Mon Oct 24 02:37:17 1988
--- util/imake.includes/Imake.tmpl	Sat Nov 12 02:13:46 1988
***************
*** 246,252 ****
--- 246,256 ----
  #define FontCompilerFlags -t
  #endif
  #ifndef OptimizedCDebugFlags
+ #ifdef _APOLLO_SR10
+ #define OptimizedCDebugFlags -O -A nansi
+ #else
  #define OptimizedCDebugFlags -O
+ #endif
  #endif
  #ifndef DebuggableCDebugFlags
  #define DebuggableCDebugFlags -g

*** server/ddx/apollo/apc/Imakefile-dist	Fri Oct 21 19:32:20 1988
--- server/ddx/apollo/apc/Imakefile	Sat Nov 12 01:04:22 1988
***************
*** 19,27 ****
  NormalLibraryObjectRule()
  NormalLibraryTarget(apc,$(OBJS))
  
! apcfont.bin: apcfont.tar
  	-$(RM) apcfont.bin
! 	tar -xvf apcfont.tar
  
  DependTarget()
  
--- 19,45 ----
  NormalLibraryObjectRule()
  NormalLibraryTarget(apc,$(OBJS))
  
! #ifdef _APOLLO_SR10
! apcfont.bin: apcfont.pas apcfont.tar
  	-$(RM) apcfont.bin
! 	set -ex; \
! 	if [ -s ${PAS} ]; then \
! 		${PAS} apcfont.pas; \
! 	else \
! 		tar -xvf apcfont.tar; \
! 		/usr/apollo/bin/obj2coff apcfont.bin apcfont.coff; \
! 		mv apcfont.coff apcfont.bin; \
! 	fi
! #else
! apcfont.bin: apcfont.pas apcfont.tar
! 	-$(RM) apcfont.bin
! 	set -ex; \
! 	if [ -s ${PAS} ]; then \
! 		${PAS} apcfont.pas; \
! 	else \
! 		tar -xvf apcfont.tar; \
! 	fi
! #endif
  
  DependTarget()
  

*** server/ddx/apollo/apc/apctext.h-dist	Mon Feb 22 23:42:39 1988
--- server/ddx/apollo/apc/apctext.h	Fri Nov  4 00:07:39 1988
***************
*** 38,40 ****
--- 38,42 ----
  extern int gprPolyText8();
  extern int gprPolyText16();
  extern int nopText();
+ 
+ #endif /* _APOLLO_TEXT_H_ */