HTTP/1.1 200 OK Date: Sun, 14 Oct 2001 00:04:18 GMT Server: Apache/1.3.14 (Unix) FrontPage/4.0.4.3 Last-Modified: Fri, 10 Nov 2000 20:32:29 GMT ETag: "4f-15f5-3a0c5b5d" Accept-Ranges: bytes Content-Length: 5621 Connection: close Content-Type: text/plain README for X11R5 MIT source patches for NeXT 3.0 The file X11R5-source.patch.tar.Z contains a number of patch files, divided according to the portion of the mit code that they patch. CAVEAT: COMPILING THE X SOURCE TREE IS NOT A PROJECT FOR THOSE WHO DO NOT HAVE EXPERIENCE COMPILING C CODE THE OLD-FASHIONED WAY AND USING MAKEFILES. GET INVOLVED IN THIS AT YOUR OWN RISK :-) DISCLAIMER: I HAVE NOT TESTED THIS SET OF PATCHES ON A VIRGIN COPY OF THE MIT SOURCE--I JUST DONT HAVE THE TIME. I CANNOT GUARANTEE THAT THERE ARE NO PROBLEMS WITH IT. I HAVE ALSO NOT TESTED THIS COMPILE USING THE NATIVE NEXT C COMPILER. IF YOU ARE **SURE** THAT YOU HAVE FOUND A PROBLEM WITH THE NEXT PATCHES (I.E., MISSING FILES OR BAD PATCHES), PLEASE LET ME KNOW. Instructions for applying patches to MIT source code: 0) Make sure you have the 'patch' program on your machine. It is available on many of the archives as "patch.Z". 1) Acquire a complete MIT R5 X source tree: a) ftp anonymously to export.lcs.mit.edu b) Grab all the contents of pub/R5/mit-1, pub/R5/mit-2, and pub/R5/mit-3 c) Optionally, you may grab the contents of pub/R5/mit-4. This is not required, as this is mainly documentation. d) Make sure you are in the directory in which you wish to have the top level of the MIT source reside (/usr/local/src/X, for example). e) For each set of mit-* files, do the following (for example, for mit-1): cat mit-1* | uncompress | tar xvf - You will need to do this separately for each set, i.e., for mit-1*, mit-2*, and mit-3*. f) remove all the mit-* files. You will be left with a directory called 'mit', which is the top-level directory for all the MIT X code. All the code will be in that directory and in its many subdirectories. 2) Grab all 22 MIT 'fix' files from pub/fixes on the same archive. You will also need to grab PEXlib.tar.Z and untar it in the directory above the mit dir. It will create a large number of files inside the mit directory. All these patches must be run on the source code ****BEFORE**** you try to run the patches for the NeXT! The top of each of the fix files explains how to apply the patch (i.e., where you should be directory-wise, and what arguments to use for patch). 3) Once you have patched the MIT code up to patch level 22, and untarred the PEXlib code, you are set to apply the NeXT patches: a) make sure you are in the directory immediately above the mit dir (for example, if you have located mit as /usr/local/src/mit, you should be in /usr/local/src). b) for each of the NeXT patches, do 'patch -p0 < patchfile', where "patchfile" is the name of the patch you are doing. The order in which you do the patches does not matter, as long as you do them all. Now you have a complete X11 R5 source tree, which you can use to compile all the X libraries, binaries, fonts, and the Xnext color or monochrome server. To learn how to compile and install this whole mess, read the RELNOTES.TXT file in the mit directory, for a start. **Please** do not send me mail about this--there is plenty of documentation along with the X code. Remember--you can always grab this stuff pre-compiled from my archive on foxtrot.ccmrc.ucsb.edu instead of building it yourself! IMPORTANT NOTES: This distribution is currently configured to compile using the gcc 2.3.3 compiler, which is what I use for all my C compiling. If you have installed the Gnu C compiler, gcc 2.3.3, on your machine, you should be able to build the entire distribution with almost no changes whatsoever. If you are using the native NeXT 3.0 compiler, you may have to make some changes, but it should not be too hard. See the notes about configuring, below. I cannot help you with this, since I dont use it. If you get horribly stuck, you can send me email, and I will help if I can. Configuring: There is a file called mit/config/site.def, which is a site-specific configuration file for building the X source. There are three lines in there which are of importance-- #define BuildColorServer To build the 2-bit, monochrome (grey-scale) server, comment out this line. To build the color server, remove the comments. If you wish to build BOTH servers, configure the entire source tree for color first. Then do the following after you have build and installed the mono server: a) Comment out the above line as indicated. b) cd into mit/server and type the following: rm ddx/cfb/*.o rm ddx/next/*.o make Makefile make Makefiles make depend make c) a certain small amount of code will get recompiled, and a new Xnext will be built--this one will be the monochrome version. To build the color server again, just uncomment the site.def line, and repeat the above process. #define HasGcc YES #define HasGcc2 YES To build the source tree using the native C compiler, comment out these two lines. Otherwise, leave them as they are now. Future Changes: The code for the server (in mit/server) will be changing constantly as I continue to make modifications and improvements. I will post incremental patches to the net as I see fit. Once you have configured, compiled, and installed this thing, you can do a 'make clean' on it if you need to save space, but SAVE A COPY OF THE PATCHED SOURCE TREE so that you can recompile the server when improvements are made available as patches. --- Douglas Scott Center for Computer Music Research and Composition University of California, Santa Barbara Internet: (NeXTMail ok)