Path: utzoo!censor!comspec!humvax!becker!ncrcan!attcan!uunet!cs.utexas.edu!usc!wuarchive!udel!princeton!njin!paul.rutgers.edu!chain From: chain@paul.rutgers.edu (Chain Lee) Newsgroups: alt.sources Subject: X11R4 patch for SCO XENIX (part10) Message-ID: Date: 7 Jan 91 02:28:32 GMT Organization: Rutgers Univ., New Brunswick, N.J. Lines: 600 *** X11R4.ORIG/mit/config/sun.cf Wed Sep 26 17:19:02 1990 --- X11R4/mit/config/sun.cf Sat Dec 23 16:10:11 1989 *************** *** 8,18 **** #define OSName SunOS 4.0.3 #define OSMajorVersion 4 #define OSMinorVersion 0 ! #define HasSaberC NO /* for machines that have it */ #define HasNdbm YES #define XsunServer Xsun ! #define HasGcc YES /* VERY USEFUL for server on Sun3 */ #define SystemV NO #define HasPutenv YES --- 8,18 ---- #define OSName SunOS 4.0.3 #define OSMajorVersion 4 #define OSMinorVersion 0 ! #define HasSaberC YES /* for machines that have it */ #define HasNdbm YES #define XsunServer Xsun ! /* #define HasGcc YES */ /* VERY USEFUL for server on Sun3 */ #define SystemV NO #define HasPutenv YES *************** *** 55,61 **** #define OptimizedCDebugFlags /* as nothing */ #endif ! #define UseSunWindowsInServer YES /* link in SunWindows support? */ #if UseSunWindowsInServer #define SunWindowsDefines -DSUN_WINDOWS --- 55,61 ---- #define OptimizedCDebugFlags /* as nothing */ #endif ! #define UseSunWindowsInServer NO /* link in SunWindows support? */ #if UseSunWindowsInServer #define SunWindowsDefines -DSUN_WINDOWS *************** *** 73,81 **** #define ExtensionDefines -DSHAPE -DMITSHM -DMULTIBUFFER -DMITMISC #define ServerDefines -DXDMCP SunWindowsDefines ExtensionDefines AllocateLocalDefines - - #define SHAPE - #define MITSHM #if OSMajorVersion >= 4 && OSMinorVersion >= 0 #define SetTtyGroup YES --- 73,78 ---- *** X11R4.ORIG/mit/config/site.def Fri Sep 28 09:32:38 1990 --- X11R4/mit/config/site.def Sun Sep 9 14:36:01 1990 *************** *** 66,72 **** * so to get to contrib, go up from TOP: */ #ifndef ContribDir ! #define ContribDir /home/datacube/disk1/X11R4/contrib #endif /* --- 66,72 ---- * so to get to contrib, go up from TOP: */ #ifndef ContribDir ! #define ContribDir $(TOP)/../contrib #endif /* *************** *** 86,91 **** --- 86,93 ---- #define HasXcuWidgets NO #endif + + /***************************************************************************** * * * Build Parameters * *************** *** 105,111 **** #ifdef UseInstalled /* if outside the tree */ #define CcCmd gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fwritable-strings -traditional #else /* server won't compile with -traditional */ ! #define CcCmd gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fcombine-regs #endif #endif #endif --- 107,113 ---- #ifdef UseInstalled /* if outside the tree */ #define CcCmd gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fwritable-strings -traditional #else /* server won't compile with -traditional */ ! #define CcCmd gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -traditional #endif #endif #endif *** X11R4.ORIG/mit/config/xenix.cf Sun Jan 6 01:40:33 1991 --- X11R4/mit/config/xenix.cf Sat Jan 5 19:52:17 1991 *************** *** 0 **** --- 1,47 ---- + /* + * SET VERSION NUMBERS BEFORE MAKING MAKEFILES; also, you'll need to install + * util/scripts/bsdinstall.sh before doing a "make install" + */ + + /* + * undefine it if you are not using socket emulator + */ + + #define SocketEmulationDefines -DBSD_SOCKET_EMULATION + + #define SunOSPlatform NO + #define HasNdbm NO + + #define SystemV YES + + #define OSName SCO Xenix System V Release 2.3.2 + #define OSMajorVersion 2 + #define OSMinorVersion 3 + #define RemoveTargetProgramByMoving YES + #define BootstrapCFlags -Dxenix + #define StandardDefines -Dxenix -DSYSV -DUSG + #define StandardCppDefines -Dxenix -DSYSV -DUSG + #define ServerDefines StandardDefines SocketEmulationDefines \ + ExtensionDefines + #define LibraryDefines StandardDefines SocketEmulationDefines + #define ExecableScripts NO + #define BuildServer YES + #define XxenixServer Xxenix + + #define HasPutenv YES + #define HasBsearch YES + #define HasVoidSignalReturn YES + + #define ExtraLibraries -lsocket -ldir -levent -lmalloc -lx + + #define ExtraLoadFlags + + #define NeedBerklibInXlib YES + + #define HasSockets YES + #define ConnectionFlags -DUNIXCONN + + #define RanlibCmd ranlib + + #define HasGcc YES + #define LibraryCcCmd CcCmd *** X11R4.ORIG/mit/include/Xos.h Mon Dec 18 16:14:36 1989 --- X11R4/mit/include/Xos.h Wed Jan 2 15:52:37 1991 *************** *** 43,48 **** --- 43,57 ---- #include #endif /* USG */ + #ifdef xenix + #ifndef __IOVEC__ + #define __IOVEC__ + struct iovec { + caddr_t iov_base; + int iov_len; + }; + #endif + #endif /* * Just about everyone needs the strings routines. For uniformity, we use *************** *** 63,70 **** #ifdef SYSV #include - #define index strchr - #define rindex strrchr #else #include #endif /* SYSV */ --- 72,77 ---- *************** *** 140,145 **** --- 147,163 ---- #ifdef hpux #define sigvec sigvector + #endif + + #ifdef xenix + #ifndef EWOULDBLOCK + #define EWOULDBLOCK 35 + #endif + #ifndef FIONREAD + #define FIONREAD (1 << 5) + #endif + #define MAXPATHLEN 128 + #define u_char uchar_t #endif #endif /* _XOS_H_ */ *** X11R4.ORIG/mit/include/Xmd.h Tue Aug 15 14:38:59 1989 --- X11R4/mit/include/Xmd.h Sun Nov 11 21:24:17 1990 *************** *** 36,41 **** --- 36,44 ---- #define UNSIGNEDBITFIELDS /* bit fields do not honor sign */ #endif + #if defined(xenix) && !defined(__GNUC__) + #define UNSIGNEDBITFIELDS /* bit fields do not honor sign */ + #endif /* * Stuff to handle large architecture machines; the constants were generated *** X11R4.ORIG/mit/Imakefile Thu Aug 30 13:55:34 1990 --- X11R4/mit/Imakefile Sat Dec 15 18:13:39 1990 *************** *** 17,23 **** EXAMPLESDIRS = examples #endif SUBDIRS = config include lib extensions $(SERVERDIRSTOMAKE) \ ! clients demos $(EXAMPLESDIRS) util doc LNINSTALLDIRS = $(EXTENSIONSRC) $(LIBSRC) MakeSubdirs($(SUBDIRS)) --- 17,23 ---- EXAMPLESDIRS = examples #endif SUBDIRS = config include lib extensions $(SERVERDIRSTOMAKE) \ ! clients demos $(EXAMPLESDIRS) util /* doc */ LNINSTALLDIRS = $(EXTENSIONSRC) $(LIBSRC) MakeSubdirs($(SUBDIRS)) *** X11R4.ORIG/README.XENIX Sun Jan 6 01:43:13 1991 --- X11R4/README.XENIX Sun Jan 6 01:29:06 1991 *************** *** 0 **** --- 1,157 ---- + + --- X11R4 for Xenix 386 --- + It's NEW! It's FAST! + + The mit directory contains patched sources that you can use to build + your own complete X Window System Version 11 Release 4 server and + clients for Xenix SysV. It is quite a fast, stable X11R4 with all the + source and libraries available that you can use as an X window application + and development environment for Xenix; and provides instant access to a + large user contributed windowing software base. + + The server currently supports standarded VGA 640x480 monochrome mode. + It also supports 800x600, 1024x600, and 1024x768 interlaced mode for + Trident VGA card. A device driver is used to handle high resolution + mode (1024x600 and 1024x768) memory mapping (Xenix VGA driver only maps + first 64K of the video memory). The port to Xenix was NOT done with + network support in mind. More specifically, I use BSD socket emulator + device driver to handle all network related stuff on a local machine + only. This presents no problem in most cases. However, if you want to + run clients remotely, and if you have TCP/IP, you will need some changes + (should be minimal) of your own under mit/server/os/4.2bsd directory; + if you are using STREAM, a lot more work will be needed. + + Note that you need GCC to compile the source. Server compiled by Microsoft + CC runs slower therefore I dropped any changes made for MSCC. + + + ---- Procedures for Building the System ---- + + 1. Get GCC and ranlib.c and install them on your system. + + 2. Decide how you are going to have network support. + + a. If you want to run clients remotely and you have TCP/IP package, + you will have to make changes under directory mit/server/os/4.2bsd. + and mit/lib/X. Changes should be minimal. + + b. If you want to run clients remotely and you have STREAM package, + you will have to make changes under directory mit/server/os/4.2bsd. + and mit/lib/X. This might not be trivial. You will probably want + to use connection code found in port of X11R4 to SCO UNIX or ESIX + or ISC UNIX. + + c. If you only need to run everything on your own machine, you can + write your own connection code, which is definitely not trivial. + Or you can get my BSD socket emulation driver for a small fee. Get + the driver, extract the driver files into drivers/xenix directory. + Then become super user, run + + make install + + [ See drivers/xenix/INFO for more detailed description of the + device driver and how to get it ]. + + Before you get and install the driver, you can also cd to + drivers/xenix, become super user, then run + + make install + + By doing so, necessary header and library files will be properly + installed so you can continue to build the system. It is good + to check first to see whether the whole source will compile + sucessfully. + + 3. Configure the soure for your system. You may need to change files + under mit/config directory for definitions such as installation + directory (default is /usr/local/X11). Edit mit/server/Imakefile, + set variable VGA to the one you have. If you are using trident VGA, + also edit file mit/server/ddx/xenix/trident/xenix/xenixDevInfo.h + to chose desired resolution definitions (default is for 1024x600 + non-interlaced mode). + + 4. Cd to X11R4/mit, run following + + make World + make install + or + make Makefile + make Makefiles + make clean + make includes + make + make install + + This may take from a few hours to almost a day, depending on the + hardware configuration you have. + + Ignore any warning messages given by the C compiler. + + Make sure you have 20Meg disk space reserved for /usr/local/X11 + runtime directory for installation. If you run out of disk space + while building the system, you may choose to delete mit/doc + directory, and/or, build, install then clean directories under + X11R4/mit by hand one at a time. + + 5. Check and make sure you have mouse driver installed. + + 6. If you chosed to use the socket emulation driver and have not + installed it. It is time to do so. Reboot the machine after intalling + the driver. Make sure device 'socket', 'bell' and 'fb' all signed on + when booting. + + 7. Create .xinitrc, .twmrc, .Xdefault, etc.. Put following in ~/.login + or $HOME/.profile file of your X server machine. + + setenv DISPLAY unix:0 + + Relogin and run xinit to start Xxenix. + + 8. Enjoy it. + + + ---- Xenix Specific Features and Misfeatures ---- + + Both standard VGA and Trident + + * Keyboard LED control is built in for the server. + * Keyboard should be in XT mode (kernel default configuration). + * Screen can be changed into text mode for multi-screen switching by + pressing all three mouse buttons down, similar to what I did for MGR. + * Client authorization machanism is disabled for local connection. + * kbd_mode program is provided in case the server crashes messing up + the keyboard. (Never happened to me when the server is up, BTW.) + You can login from another serial terminal and run + + kbd_mode -a < /dev/tty?? + + where /dev/tty?? is the multiscreen you started Xxenix. + Don't try 'kbd_mode -r' unless you have a serial terminal at hand, + otherwise you will have to power down the machine. There is a bug + in Xenix preventing you from getting current keyboard mode. + * The Xxenix server uses the Xenix Event Manager. Therefore you may have + problem running Xenix version of MGR window (ported by myself) using + bus mouse once Xxenix has been run. + * Some floating-point computational intensive programs such as 'ico' + run quite slow when you are using the FP software emulator. This is + normal for a low end PC. (Don't believe what you have seen of the + same program running on some versions of commercial X. They fake the + performance by precalculating all the data points. Have you watched + When Harry Met Sally? :-) + + Standard VGA + + * Screen saver blank mode is not supported. Use noblank mode instead. + + Trident + + * Screen saver blank mode is supported. + * Black and white pixel color can be customized by setting environment + variable XBACKGROUND and XFOREGROUND to the desired RGB value. Try + + setenv XBACKGROUND 80:100:150 + setenv XFOREGROUND 240:255:180 + + + Chain Lee 12/30/90 + chain@paul.rutgers.edu *** X11R4.ORIG/drivers/xenix/Slibsocket.uue Sun Jan 6 12:36:24 1991 --- X11R4/drivers/xenix/Slibsocket.uue Sun Jan 6 12:34:44 1991 *************** *** 0 **** --- 1,193 ---- + begin 644 Slibsocket.a + M9?]?7RY364U$148 %%>AR?),J2-I0 T !U]A8V-E<'2^!P !E]B + M8V]P>2X= %7V)I;F3& P !E]B>F5R;^X; (7V-O;FYE8W0:!0 "%]E + M 8 =?<&5RAR?),J2!Z0( ( * AS + M;V-K970N8U2(!P $U3($-NB 4 )]%34*("0 GU-,24)&4!"(" GU-, + M24)#9(@' "?3$E"2+.(!@ G3-S3^"(!@ H0%#5C>6+@ !D1'4D]54 5? + M5$585 1#3T1%!5]$051!!$1!5$$%0T].4U0$7T)34P-"4U,_F0D J? # + M! &]F0D J8P %!@$=F0D J0 '!P&FF0D J0 ("0&CF@@ O\# + M_P3_ E:=#0 P$" @$#!$ !10&_C"T "E]?86-R='5S960!!5]O<&5N 9? + M8VQO7)I9VAT("AC*2 Q.3DP+" Q.3DQ(&)Y($-H86EN + M($QE92X*06QL(')I9VATX_____\G#:@!J ?]U^.@ @\0,B47\"\!\X[D* F??Y!#"+#8@ + M "(01"+1?RY"@ )GW^8#",*&( B% 1:@+_-8@ #H (/$"(E% + M] O ?*-J &BQ:-XZ4.@ @\0,"\!]#O]U].@ @\0$ZX*0_W4(:A#_ + M=?3H (/$# O ?-[_=0QJ$?]U].@ @\0,"\!\RO]U$&H2_W7TZ + M "#Q P+P'RV:@!J$_]U].@ @\0,"\!\HXM%],G#E)TQ *3@5@2DS58$ + MI+E6!*2E5@2DDE8#I(-6!*1L5@+D9YWD7)WD1IVD+%8$I ]6 N0*G6N1$ + M 0=?6+@ !D1'4D]54 5?5$585 1#3T1%!5]$ + M051!!$1!5$$%0T].4U0$7T)34P-"4U,_F0D J2@ #! &%F0D J0 % + M!@&IF0D J0 '!P&FF0D J0 ("0&CF@@ O\#_P3_ E:=#0 P$" + M @$#!$ !10&_C!\ "E]?86-R='5S960!!E]I;V-T; (7V-O;FYE8W0 8*$N + M $ 58OL@^P,BT4,B47XBT40B47TC47T4&H%_W4(Z "#Q R)1?S) + MPQ.=!0"D'%8"1I$1 !"%]C;VYN96-T ,B@( '0Q;&ES=&5N+F\ + M G7H + M I?7V%CAR?),J2!-P( ( * AA8V-E<'0N8VV(!P + M $U3($-NB 4 )]%34*("0 GU-,24)&4!"(" GU-,24)#9(@' "?3$E" + M2+.(!@ G3-S3^"(!@ H0%#5C>6+@ !D1'4D]54 5?5$585 1#3T1%!5]$ + M051!!$1!5$$%0T].4U0$7T)34P-"4U,_F0D J;@ #! 'UF0D J3 % + M!@%YF0D J0 '!P&FF0D J0 ("0&CF@@ O\#_P3_ E:=#0 P$" + M @$#!$ !10&_C"T "E]?86-R='5S960!!5]O<&5N 9?8VQOAR?),J2!1P$ ( + EG971P + M965R+F/OB < !-4R!#;H@% "?14U"B D )]33$E"1E 0B @ )]33$E" + M0V2(!P GTQ)0DBSB 8 )TSAR?),J2!1P$ ( + EG971S;V-K+F/K + MB < !-4R!#;H@% "?14U"B D )]33$E"1E 0B @ )]33$E"0V2(!P + MGTQ)0DBSB 8 )TSAR?),J2! \ ( * AP97)R;W(N8T.(!P $U3 + M($-NB 4 )]%34*("0 GU-,24)&4!"(" GU-,24)#9(@' "?3$E"2+.( + M!@ G3-S3^"(!@ H0%#5C>6+@ !D1'4D]54 5?5$585 1#3T1%!5]$051! + M!$1!5$$%0T].4U0$7T)34P-"4U,_F0D J6@ #! %%F0D J?0* %!@&K + MF0D J0 '!P&FF0D J0 ("0&CF@@ O\#_P3_ E:=#0 P$" @$# + M!$ !10&_C"\ "E]?86-R='5S960!!E]E0#GH3@ BP !.;R!S=6-H + M('!R;V-E&ES=', 0W)O7-T + M96T -Z%' (P @ 5&]O(&UA;GD@;&EN:W, $)R;VME;B!P:7!E $%R9W5M + M96YT('1O;R!L87)G90 4F5S=6QT('1O;R!L87)G90!QH1P G0" !/<&5R + M871I;VX@=V]U;&0@8FQO8VL I*$@ *, @ 3W!E2!I;B!P7!E(&9O2!N;W0@2!R969E2!L979E;',@;V8@'!IA'P "D 8 $]U="!O9B!S=')E86US(')E & ( !\ P + M @ ( $ " A 3 ( "( !@ @ (P '0" D C ( "4 + M "H @ )@ ,@" G Z ( "@ ( P *0 !P# J / , + M "L !4 P + &P# M B , "X "L P +P ,P# P + M_ , #$ 4! ,@ #0$ S 1 0 #0 !R=Y>2=Y=R=Y=2=Y6+@ !D1'4D]54 5?5$585 1#3T1%!5]$051! + M!$1!5$$%0T].4U0$7T)34P-"4U,_F0D J5 #! %=F0D J0 %!@&I + MF0D J0 '!P&FF0D J0 ("0&CF@@ O\#_P3_ E:=#0 P$" @$# + M!$ !10&_C!4 "E]?86-R='5S960!!E]B8V]P>0"YH58 0 !5B^R+10PY + M10AR'8M%$/]-$ O =#F+10S_10R+30C_10B*"8@(Z^20BT40 44, 44(ZQ&0 + M_TT,BT4,_TT(BTT(B@F("(M%$/]-$ O =>;)PSB1#P 09?8F-O<'D + M -V* @ =.9I;F1E>"YO $Q>AR?),J2!,0$ ( ) =I;F1E>"YC + MQX@' 35,@0VZ(!0 GT5-0H@) "?4TQ)0D90$(@( "?4TQ)0D-DB < + M )],24)(LX@& "=,W-/X(@& "A 4-6-Y8N &1$=23U50!5]415A4!$-/ + M1$4%7T1!5$$$1$%4005#3TY35 1?0E-3 T)34S^9"0"I+ ,$ 8&9"0"I + M 4& :F9"0"I <' ::9"0"I @) :.:" "_P/_!/\"5IT- + M # 0(" 0,$0 %% ;^,%0 *7U]A8W)T=7-E9 $&7VEN9&5X +ZA,@ ! + M %6+[(/L!%:#?0@ =0R<-&Z^R0 + M<)$/ !!E]I;F1E> XHH" !TBW)I;F1E>"YO 4%Z')\DR + MI(% 0 @ H "')I;F1E>"YC4X@' 35,@0VZ(!0 GT5-0H@) "?4TQ) + M0D90$(@( "?4TQ)0D-DB < )],24)(LX@& "=,W-/X(@& "A 4-6-Y8N + M &1$=23U50!5]415A4!$-/1$4%7T1!5$$$1$%4005#3TY35 1?0E-3 T)3 + M4S^9"0"I. ,$ 769"0"I 4& :F9"0"I <' ::9"0"I + M @) :.:" "_P/_!/\"5IT- # 0(" 0,$0 %% ;^,%@ *7U]A8W)T=7-E + M9 $'7W)I;F1E> !*H3X 0 !5B^R#[ 16@WT( '4',\!>R<.0D(MU".L$ + MD)"01H ^ '7Z.74(=^:*!CA%#'4&B\9>R<.03NOKD,J1$ 0=?