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_ */