Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!milano!cadillac!davide From: davide@maverick.cad.mcc.com (David Eckelkamp) Newsgroups: comp.lang.scheme Subject: integrated patch for Scheme->C (Part 1/3) Message-ID: Date: 13 Nov 90 14:39:49 GMT Sender: news@cadillac.CAD.MCC.COM Reply-To: eckelkamp@mcc.com (David Eckelkamp) Organization: MCC CAD Program, Austin, Texas Lines: 129 In 2 following postings you should find the rest of the patch to integrate support for the Sun4, Sun3, Apollo and I386 into the 28sep90 version of Scheme->C. These tree postings will eventually show up on gatekeeper.dec.com as MCC-28sep90.patches. (This will happen when Joel Bartlett returns from vacation :-) The rest of this message is the explanatory text at the beginning of the patch. The second message is the modified files and the 3rd message contains the new files (in patch format). ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ What is it? =========== This file is an integrated set of patches for the 28sep90 version of the Scheme->C system. These patches add support for the Sun4/Sparcstation (SPARC), the Sun3 (SUN3), the Apollo DNx500 (APOLLO) and DN1000 (PRISM) series, and the the 386 (running ISC Unix ?). Most of this is not new work, I simply integrated all the patches that were posted for the 23feb90 version. I have verified this patch on the following machine/OS combinations: Sun4 - SunOS 4.0.3 Sun4 - SunOS 4.1 Sun3 - SunOS 4.0.3 Apollo DN3500 - Domain/OS SR10.2 DECSTATION 5100 - Ultrix T3.1D-0 (Rev. 45) Worksystem X2.2 System #3 How to use it. ============== This patch was generated against a fresh, unmodified version of the 28sep90 release of Scheme->C. I suggest you start with the original tar file and untar it. 1. cd into the top directory of the distribution. You should see something like this from ls -F: CHANGES README doc/ scrt/ xlib/ MIPS VAX gnuemacs/ scsc/ RCS/ cdecl/ makefile test/ 2. Run the patch file through the patch program, like this ("this" assumes the patch file lives in the directory that is the top of the distribution): patch -p -b ".MCC" " command, where ARCH is one of APOLLO, I386, MIPS, PRISM, SPARC, SUN3, TITAN, or VAX. This will create the $(CPUDIR) directory, if it does not exist. It will then create a tree of symbolic links to all the directories and necessary files in the distribution. [ If you can accept the values for CPUDIR that already exist in the makefile, you can just say "make for SRCDIR=$PWD" where $PWD has a valid pathname to the currect directory] 5. cd into $(SRCDIR) which you set in #3 above. 6. Do a "make port" 7. Verify the build as in step #4 in the README file. More comments ============= Like I said, very little of this work is original. I simply took all the patches produced for the 23sep90 version and made them work. This involved fixing rejections, adding some new parts to the changes and removing some changes because the bug/problem they addressed was already fixed in the 28sep90 version. Here is a list of the authors of the original patches: SPARC - rec@arris.com (Roger Critchlow) I386 - rec@arris.com (Roger Critchlow) SUN3 - Mikael Pettersson APOLLO - Ray Lischner {uunet,decwrl}!mntgfx!lisch or lisch@mentor.com PRISM - Ray Lischner {uunet,decwrl}!mntgfx!lisch or lisch@mentor.com I am not able to verify the I386 nor the PRISM version of the system. I don't have access to those kinds of machines. The I386 patches seemed to mix conditionals between the 386 and SysV. It would be nice if someone with a 386 and SysV could figure out what things are SysV requirements. There are more SysV problems, though. You should look at the README that originally came with Critchlow's SPARC-I386 patches. The APOLLO and PRSIM machines don't usually have an assembler. Ray Lischner provided the assembler source and an assembled .o file. I have provided the uuencoded .o file. You could put the following section into the APOLLO makefile header to convert the uuencoded file into the .o file: apollo.o: apollo.o.uu uudecode apollo.o.uu There may be problems with the assembler, even if you have it. The assembler we have here at MCC will not take the muls.l or the mulu.l instructions. Conclusion ========== I hope you find these changes useful. If you have any problems please let me know. I appreciate any comments that you might have, good or bad. You can reach me via eckelkamp@mcc.com or uunet!cs.utexas.edu!milano!cadillac!davide. ____________________________________________________________________________ David Eckelkamp Microelectronics and Computer Technology Corp. (MCC) eckelkamp@mcc.com 3500 W. Balcones Center Dr. (512) 343-0978 Austin,TX 78759