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