martin@CITI.UMICH.EDU (02/14/89)
This is long overdue, but here it is. I've put it onto expo.lcs.mit.edu: contrib/pexR3fix.tar.Z It makes code in ./contrib/extensions/pex compile in X.V11R3. -------------------- README.patch ------------------- This patch brings the demonstration implementation of PEX up to R3, and also improves it a small bit. There are four files: What they do/named How (from where and when) they do it. Removes sh ./Removes Diffs patch -p < ./Diffs >& Diffs.log Additions sh ./Additions MoveMe sh ./MoveMe Don't do Removes after Additions! that's all. The files removed in Removes must be removed or moved. The files contained in the Shell-archive (Additions) must be added. There are two mkdir lines added to the Additions shar file. They shouldn't hurt, and should help to clear a path for the new file (miinitext.c). The files changed by Diffs, are plentiful. The changes to the Imakefiles are definitely neccessary for compilation. The rest of the files, however, (the *.[ch] files) have been changed for several (other) reasons, None of which bear relevance for simple compilation with R3. (eg.. The patched sources work in R2 also) 1) Lots of changes were made to allow compilation on a strict ANSI compiler. (like hc1.4 on the IBM RT's), or GCC for that matter (I think). 2) Some small (ifdef'ed out) bugs were found. 3) Some enhancements were made to the shading code to make the server look prettier. Note: The changes for reason 1 above were tested (compiled) with R2. The code has been linked with the R2 and R3 Xsun, Xqdss, Xqvss, and the R2 Xibm. (NOT the R3 Xibm yet) I see no good reason why it wouldn't link right up with that too. You can use linktree, (like RELINK does), and then do a global make. That is easiest. You can get sneaky and merge this stuff with the core X tree. I have done it, but I don't have time to explain how. It should be cake for any determined and experienced X hacker or compiler. I sugggest using linktree, with the checks for *.o and *.a files removed. #like this!!! # # else if ( $file =~ *.o || $file =~ *.a || $file =~ *.ln ) then # echo "ignoring... : ${file:t} binary" Thus the compiled objects in the core tree get linked in along with the sources and nothing gets recompiled which doesn't need to be. To be sure, you can hit a: foreach i (`find . -type f -name '*.c' -print `) rm -f $i:r.o end This removes any .o files forwhich there exists a solid (not linked) .c file. I believe that there will be only one of these files. (miinitext.o) If you have gone ahead already, and modified the PEX code yourselves, you can ignore my changes to the sources, and simply apply the patches to the Imakefiles. It should work that way too. Good luck, and send squeeeeeeelmail if you need help, or find blunders in my work. Martin Friedmann Martin@citi.umich.edu