From a4087bea6ab2bb029d789426e9792d86915cb2a7 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Tue, 18 Jul 1989 22:36:14 +0000 Subject: [PATCH] Initial revision --- v7/src/microcode/m/hp9k300.h | 74 +++++ v7/src/microcode/m/hp9k800.h | 45 +++ v7/src/microcode/m/sun3.h | 42 +++ v7/src/microcode/m/vax.h | 43 +++ v7/src/microcode/s/bsd4-2.h | 49 +++ v7/src/microcode/s/hpux.h | 46 +++ v7/src/microcode/s/ultrix.h | 44 +++ v7/src/microcode/unxutl/cf-dist.h | 49 +++ v7/src/microcode/unxutl/config | 148 +++++++++ v7/src/microcode/unxutl/makefile | 57 ++++ v7/src/microcode/unxutl/ymake.sed | 7 + v7/src/microcode/unxutl/ymkfile | 510 ++++++++++++++++++++++++++++++ 12 files changed, 1114 insertions(+) create mode 100644 v7/src/microcode/m/hp9k300.h create mode 100644 v7/src/microcode/m/hp9k800.h create mode 100644 v7/src/microcode/m/sun3.h create mode 100644 v7/src/microcode/m/vax.h create mode 100644 v7/src/microcode/s/bsd4-2.h create mode 100644 v7/src/microcode/s/hpux.h create mode 100644 v7/src/microcode/s/ultrix.h create mode 100644 v7/src/microcode/unxutl/cf-dist.h create mode 100755 v7/src/microcode/unxutl/config create mode 100644 v7/src/microcode/unxutl/makefile create mode 100644 v7/src/microcode/unxutl/ymake.sed create mode 100644 v7/src/microcode/unxutl/ymkfile diff --git a/v7/src/microcode/m/hp9k300.h b/v7/src/microcode/m/hp9k300.h new file mode 100644 index 000000000..e4edb13dc --- /dev/null +++ b/v7/src/microcode/m/hp9k300.h @@ -0,0 +1,74 @@ +/* -*-C-*- + Machine file for HP9000 series 300 (or 200) + +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/m/Attic/hp9k300.h,v 1.1 1989/07/18 22:35:45 cph Exp $ + +Copyright (c) 1989 Massachusetts Institute of Technology + +This material was developed by the Scheme project at the Massachusetts +Institute of Technology, Department of Electrical Engineering and +Computer Science. Permission to copy this software, to redistribute +it, and to use it for any purpose is granted, subject to the following +restrictions and understandings. + +1. Any copy made of this software must include this copyright notice +in full. + +2. Users of this software agree to make their best efforts (a) to +return to the MIT Scheme project any improvements or extensions that +they make, so that these may be included in future releases; and (b) +to inform MIT of noteworthy uses of this software. + +3. All materials developed as a consequence of the use of this +software shall duly acknowledge such use, in accordance with the usual +standards of acknowledging credit in academic research. + +4. MIT has made no warrantee or representation that the operation of +this software will be error-free, and MIT is under no obligation to +provide any services, by way of maintenance, update, or otherwise. + +5. In conjunction with products arising from the use of this material, +there shall be no use of the name of the Massachusetts Institute of +Technology nor of any adaptation thereof in any advertising, +promotional, or sales literature without prior written consent from +MIT in each case. */ + +/* Change this to PROC_TYPE_68000 if your machine is a series 200 or a + model 310. */ +#define PROC_TYPE PROC_TYPE_68020 + +#if (PROC_TYPE == PROC_TYPE_68020) +#define M4_SWITCH_MACHINE -DMC68881 +#define AS_SWITCH_MACHINE +x -V 3 +#else +#define M4_SWITCH_MACHINE +#define AS_SWITCH_MACHINE +X +#endif + +#ifndef __GNUC__ + +/* For hp-ux version 6.2 and earlier, comment out this definition. */ +#define C_OPTIMIZE_SWITCH +O1 + +#define C_SWITCH_MACHINE -Wp,-H60000 -Wc,-Nt30000 + +#endif + +#ifndef HAVE_CURSES +#define LIBS_MACHINE -ltermcap +#endif + +#ifdef HAVE_STARBASE_GRAPHICS +/* Add additional Starbase device drivers here. + If HAVE_X_WINDOWS is defined (in the s/ file), -lddsox11 is + automatically included, so don't add it here. */ +#define STARBASE_DEVICE_DRIVERS -ldd300h +#endif + +#if (defined (__GNUC__)) && (! (defined (__HPUX_ASM__))) +#define AS_RULE \ +.s.o: ; @ECHO "#** Generating" $@ because of $? @@\ + $(AS) AS_SWITCH_SYSTEM AS_SWITCH_MACHINE -o $*.ohp $*.s @@\ + hpxt $*.ohp $*.o @@\ + rm -f $*.ohp +#endif diff --git a/v7/src/microcode/m/hp9k800.h b/v7/src/microcode/m/hp9k800.h new file mode 100644 index 000000000..1e522fa19 --- /dev/null +++ b/v7/src/microcode/m/hp9k800.h @@ -0,0 +1,45 @@ +/* -*-C-*- + Machine file for HP9000 series 800 + +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/m/Attic/hp9k800.h,v 1.1 1989/07/18 22:35:56 cph Exp $ + +Copyright (c) 1989 Massachusetts Institute of Technology + +This material was developed by the Scheme project at the Massachusetts +Institute of Technology, Department of Electrical Engineering and +Computer Science. Permission to copy this software, to redistribute +it, and to use it for any purpose is granted, subject to the following +restrictions and understandings. + +1. Any copy made of this software must include this copyright notice +in full. + +2. Users of this software agree to make their best efforts (a) to +return to the MIT Scheme project any improvements or extensions that +they make, so that these may be included in future releases; and (b) +to inform MIT of noteworthy uses of this software. + +3. All materials developed as a consequence of the use of this +software shall duly acknowledge such use, in accordance with the usual +standards of acknowledging credit in academic research. + +4. MIT has made no warrantee or representation that the operation of +this software will be error-free, and MIT is under no obligation to +provide any services, by way of maintenance, update, or otherwise. + +5. In conjunction with products arising from the use of this material, +there shall be no use of the name of the Massachusetts Institute of +Technology nor of any adaptation thereof in any advertising, +promotional, or sales literature without prior written consent from +MIT in each case. */ + +#define PROC_TYPE PROC_TYPE_HPPA + +#define C_SWITCH_MACHINE -Dspectrum + +/* Optimization loses on "interp.c". */ +#define C_OPTIMIZE_SWITCH + +#ifndef HAVE_CURSES +#define LIBS_SYSTEM -lcurses +#endif diff --git a/v7/src/microcode/m/sun3.h b/v7/src/microcode/m/sun3.h new file mode 100644 index 000000000..59ad2aa0c --- /dev/null +++ b/v7/src/microcode/m/sun3.h @@ -0,0 +1,42 @@ +/* -*-C-*- + Machine file for Sun 3 + +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/m/Attic/sun3.h,v 1.1 1989/07/18 22:36:04 cph Rel $ + +Copyright (c) 1989 Massachusetts Institute of Technology + +This material was developed by the Scheme project at the Massachusetts +Institute of Technology, Department of Electrical Engineering and +Computer Science. Permission to copy this software, to redistribute +it, and to use it for any purpose is granted, subject to the following +restrictions and understandings. + +1. Any copy made of this software must include this copyright notice +in full. + +2. Users of this software agree to make their best efforts (a) to +return to the MIT Scheme project any improvements or extensions that +they make, so that these may be included in future releases; and (b) +to inform MIT of noteworthy uses of this software. + +3. All materials developed as a consequence of the use of this +software shall duly acknowledge such use, in accordance with the usual +standards of acknowledging credit in academic research. + +4. MIT has made no warrantee or representation that the operation of +this software will be error-free, and MIT is under no obligation to +provide any services, by way of maintenance, update, or otherwise. + +5. In conjunction with products arising from the use of this material, +there shall be no use of the name of the Massachusetts Institute of +Technology nor of any adaptation thereof in any advertising, +promotional, or sales literature without prior written consent from +MIT in each case. */ + +#define PROC_TYPE PROC_TYPE_68020 + +/* Remove "-Dsun3" if you are running an older version of the operating + system. If your machine doesn't have a 68881 coprocessor, remove + "-f68881" from this line and the LD_SWITCH_MACHINE line. */ +#define C_SWITCH_MACHINE -Dsun -Dunix -Dsun3 -f68881 +#define LD_SWITCH_MACHINE -f68881 diff --git a/v7/src/microcode/m/vax.h b/v7/src/microcode/m/vax.h new file mode 100644 index 000000000..f0b523d07 --- /dev/null +++ b/v7/src/microcode/m/vax.h @@ -0,0 +1,43 @@ +/* -*-C-*- + Machine file for DEC Vax computers + +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/m/Attic/vax.h,v 1.1 1989/07/18 22:36:14 cph Exp $ + +Copyright (c) 1989 Massachusetts Institute of Technology + +This material was developed by the Scheme project at the Massachusetts +Institute of Technology, Department of Electrical Engineering and +Computer Science. Permission to copy this software, to redistribute +it, and to use it for any purpose is granted, subject to the following +restrictions and understandings. + +1. Any copy made of this software must include this copyright notice +in full. + +2. Users of this software agree to make their best efforts (a) to +return to the MIT Scheme project any improvements or extensions that +they make, so that these may be included in future releases; and (b) +to inform MIT of noteworthy uses of this software. + +3. All materials developed as a consequence of the use of this +software shall duly acknowledge such use, in accordance with the usual +standards of acknowledging credit in academic research. + +4. MIT has made no warrantee or representation that the operation of +this software will be error-free, and MIT is under no obligation to +provide any services, by way of maintenance, update, or otherwise. + +5. In conjunction with products arising from the use of this material, +there shall be no use of the name of the Massachusetts Institute of +Technology nor of any adaptation thereof in any advertising, +promotional, or sales literature without prior written consent from +MIT in each case. */ + +#define PROC_TYPE PROC_TYPE_VAX + +#ifndef HAVE_CURSES +#define LIBS_MACHINE -ltermcap +#endif + +#define M4_RULE .m4.s: ; @ECHO "### Generating $@ because of $?" @@\ + $(M4) $(M4_FLAGS) $*.m4 | sed -e 's/@/$$/g' -e 's/^ $$//' >$*.s diff --git a/v7/src/microcode/s/bsd4-2.h b/v7/src/microcode/s/bsd4-2.h new file mode 100644 index 000000000..c4a8c6350 --- /dev/null +++ b/v7/src/microcode/s/bsd4-2.h @@ -0,0 +1,49 @@ +/* -*-C-*- + System file for BSD4.2 + +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/s/Attic/bsd4-2.h,v 1.1 1989/07/18 22:35:07 cph Exp $ + +Copyright (c) 1989 Massachusetts Institute of Technology + +This material was developed by the Scheme project at the Massachusetts +Institute of Technology, Department of Electrical Engineering and +Computer Science. Permission to copy this software, to redistribute +it, and to use it for any purpose is granted, subject to the following +restrictions and understandings. + +1. Any copy made of this software must include this copyright notice +in full. + +2. Users of this software agree to make their best efforts (a) to +return to the MIT Scheme project any improvements or extensions that +they make, so that these may be included in future releases; and (b) +to inform MIT of noteworthy uses of this software. + +3. All materials developed as a consequence of the use of this +software shall duly acknowledge such use, in accordance with the usual +standards of acknowledging credit in academic research. + +4. MIT has made no warrantee or representation that the operation of +this software will be error-free, and MIT is under no obligation to +provide any services, by way of maintenance, update, or otherwise. + +5. In conjunction with products arising from the use of this material, +there shall be no use of the name of the Massachusetts Institute of +Technology nor of any adaptation thereof in any advertising, +promotional, or sales literature without prior written consent from +MIT in each case. */ + +/* This says we have curses terminal support for Edwin. */ +#define HAVE_CURSES + +#define C_SWITCH_SYSTEM -Dbsd + +#define LIBS_SYSTEM -ltermcap + +#define SOURCES_SYSTEM unixprim.c +#define OBJECTS_SYSTEM unixprim.o + +#define M4_RULE \ +.m4.s: ; @ECHO "#** Generating" $@ because of $? @@\ + $(M4) M4_SWITCH_SYSTEM M4_SWITCH_MACHINE $*.m4 | @@\ + sed -e 's/@/$$/g' -e 's/^ $$//' > $*.s diff --git a/v7/src/microcode/s/hpux.h b/v7/src/microcode/s/hpux.h new file mode 100644 index 000000000..5e5420d28 --- /dev/null +++ b/v7/src/microcode/s/hpux.h @@ -0,0 +1,46 @@ +/* -*-C-*- + System file for HP-UX + +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/s/Attic/hpux.h,v 1.1 1989/07/18 22:35:19 cph Exp $ + +Copyright (c) 1989 Massachusetts Institute of Technology + +This material was developed by the Scheme project at the Massachusetts +Institute of Technology, Department of Electrical Engineering and +Computer Science. Permission to copy this software, to redistribute +it, and to use it for any purpose is granted, subject to the following +restrictions and understandings. + +1. Any copy made of this software must include this copyright notice +in full. + +2. Users of this software agree to make their best efforts (a) to +return to the MIT Scheme project any improvements or extensions that +they make, so that these may be included in future releases; and (b) +to inform MIT of noteworthy uses of this software. + +3. All materials developed as a consequence of the use of this +software shall duly acknowledge such use, in accordance with the usual +standards of acknowledging credit in academic research. + +4. MIT has made no warrantee or representation that the operation of +this software will be error-free, and MIT is under no obligation to +provide any services, by way of maintenance, update, or otherwise. + +5. In conjunction with products arising from the use of this material, +there shall be no use of the name of the Massachusetts Institute of +Technology nor of any adaptation thereof in any advertising, +promotional, or sales literature without prior written consent from +MIT in each case. */ + +/* This says we have curses terminal support for Edwin. */ +#define HAVE_CURSES + +/* Define HAVE_STARBASE_GRAPHICS if you want Starbase graphics support. */ +/* #define HAVE_STARBASE_GRAPHICS */ + +/* No special libraries are needed for debugging. */ +#define LIBS_DEBUG + +#define SOURCES_SYSTEM unixprim.c +#define OBJECTS_SYSTEM unixprim.o diff --git a/v7/src/microcode/s/ultrix.h b/v7/src/microcode/s/ultrix.h new file mode 100644 index 000000000..08995b62d --- /dev/null +++ b/v7/src/microcode/s/ultrix.h @@ -0,0 +1,44 @@ +/* -*-C-*- + System file for Ultrix + +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/s/Attic/ultrix.h,v 1.1 1989/07/18 22:35:28 cph Exp $ + +Copyright (c) 1989 Massachusetts Institute of Technology + +This material was developed by the Scheme project at the Massachusetts +Institute of Technology, Department of Electrical Engineering and +Computer Science. Permission to copy this software, to redistribute +it, and to use it for any purpose is granted, subject to the following +restrictions and understandings. + +1. Any copy made of this software must include this copyright notice +in full. + +2. Users of this software agree to make their best efforts (a) to +return to the MIT Scheme project any improvements or extensions that +they make, so that these may be included in future releases; and (b) +to inform MIT of noteworthy uses of this software. + +3. All materials developed as a consequence of the use of this +software shall duly acknowledge such use, in accordance with the usual +standards of acknowledging credit in academic research. + +4. MIT has made no warrantee or representation that the operation of +this software will be error-free, and MIT is under no obligation to +provide any services, by way of maintenance, update, or otherwise. + +5. In conjunction with products arising from the use of this material, +there shall be no use of the name of the Massachusetts Institute of +Technology nor of any adaptation thereof in any advertising, +promotional, or sales literature without prior written consent from +MIT in each case. */ + +/* This says we have curses terminal support for Edwin. */ +#define HAVE_CURSES + +#define C_SWITCH_SYSTEM -Dbsd -DULTRIX + +#define LIBS_SYSTEM -ltermcap + +#define SOURCES_SYSTEM unixprim.c +#define OBJECTS_SYSTEM unixprim.o diff --git a/v7/src/microcode/unxutl/cf-dist.h b/v7/src/microcode/unxutl/cf-dist.h new file mode 100644 index 000000000..e4d5d75d9 --- /dev/null +++ b/v7/src/microcode/unxutl/cf-dist.h @@ -0,0 +1,49 @@ +/* -*-C-*- + +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/unxutl/Attic/cf-dist.h,v 1.1 1989/07/18 22:32:59 cph Exp $ + +Copyright (c) 1989 Massachusetts Institute of Technology + +This material was developed by the Scheme project at the Massachusetts +Institute of Technology, Department of Electrical Engineering and +Computer Science. Permission to copy this software, to redistribute +it, and to use it for any purpose is granted, subject to the following +restrictions and understandings. + +1. Any copy made of this software must include this copyright notice +in full. + +2. Users of this software agree to make their best efforts (a) to +return to the MIT Scheme project any improvements or extensions that +they make, so that these may be included in future releases; and (b) +to inform MIT of noteworthy uses of this software. + +3. All materials developed as a consequence of the use of this +software shall duly acknowledge such use, in accordance with the usual +standards of acknowledging credit in academic research. + +4. MIT has made no warrantee or representation that the operation of +this software will be error-free, and MIT is under no obligation to +provide any services, by way of maintenance, update, or otherwise. + +5. In conjunction with products arising from the use of this material, +there shall be no use of the name of the Massachusetts Institute of +Technology nor of any adaptation thereof in any advertising, +promotional, or sales literature without prior written consent from +MIT in each case. */ + +#define PROC_TYPE_UNKNOWN 0 +#define PROC_TYPE_68000 1 +#define PROC_TYPE_68020 2 +#define PROC_TYPE_HPPA 3 /* HP Precision Architecture */ +#define PROC_TYPE_VAX 4 + +#include "s.h" +#include "m.h" + +#ifndef PROC_TYPE +#define PROC_TYPE PROC_TYPE_UNKNOWN +#endif + +/* Define HAVE_X_WINDOWS if you want to use the X window system. */ +#define HAVE_X_WINDOWS diff --git a/v7/src/microcode/unxutl/config b/v7/src/microcode/unxutl/config new file mode 100755 index 000000000..f6505e5ad --- /dev/null +++ b/v7/src/microcode/unxutl/config @@ -0,0 +1,148 @@ +#!/bin/sh +# Configuration script for MIT Scheme +# Modelled on the configuration script for GNU CC +# Copyright (C) 1988 Free Software Foundation, Inc. + +#This file is part of GNU CC. + +#GNU CC is free software; you can redistribute it and/or modify +#it under the terms of the GNU General Public License as published by +#the Free Software Foundation; either version 1, or (at your option) +#any later version. + +#GNU CC is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU General Public License for more details. + +#You should have received a copy of the GNU General Public License +#along with GNU CC; see the file COPYING. If not, write to +#the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +# +# Shell script to create proper links to machine-dependent files in +# preparation for compiling gcc. +# +# Usage: config.sh machine +# +# If config.sh succeeds, it leaves its status in config.status. +# If config.sh fails after disturbing the status quo, +# config.status is removed. +# + +progname=$0 + +remove=rm +hard_link=ln +symbolic_link='ln -s' + +#for Test +#remove="echo rm" +#hard_link="echo ln" +#symbolic_link="echo ln -s" + +cmp_file=nothing_special + +case $# in +1) + machine=$1 + + case $machine in + vax) # for vaxen running bsd + system_file=bsd4-2 + machine_file=vax + mfour_file=bsd + ;; + vax-ultrix) # for vaxen running ultrix + system_file=ultrix + machine_file=vax + mfour_file=bsd + ;; + hp9k300) + system_file=hpux + machine_file=hp9k300 + mfour_file=sysV + ;; + hp9k800) + system_file=hpux + machine_file=hp9k800 + mfour_file=sysV + ;; + sun3) + system_file=bsd4-2 + machine_file=sun3 + mfour_file=bsd + cmp_file=cmp68020.s-sun+fp + cmp_link=cmp68020.s + ;; + sun3-nfp) + system_file=bsd4-2 + machine_file=sun3 + mfour_file=bsd + cmp_file=cmp68020.s-sun-fp + cmp_link=cmp68020.s + ;; + *) + echo "$progname: unknown machine name: $machine" + exit 1 + esac + + files="s/${system_file}.h m/${machine_file}.h ${mfour_file}.macros" + links="s.h m.h m4.macros" + + while [ -n "$files" ] + do + # set file to car of files, files to cdr of files + set $files; file=$1; shift; files=$* + set $links; link=$1; shift; links=$* + + if [ ! -r $file ] + then + echo "$progname: cannot create a link \`$link'," + echo "since the file \`$file' does not exist." + exit 1 + fi + + $remove -f $link + rm -f config.status + # Make a symlink if possible, otherwise try a hard link + $symbolic_link $file $link 2>/dev/null || $hard_link $file $link + + if [ ! -r $link ] + then + echo "$progname: unable to link \`$link' to \`$file'." + exit 1 + fi + echo "Linked \`$link' to \`$file'." + done + + case $cmp_file in + nothing_special) + ;; + *) + $symbolic_link $cmp_file $cmp_link 2>/dev/null || $hard_link $cmp_file $cmp_link + if [ ! -r $cmp_link ] + then + echo "$progname: unable to link \`$cmp_link' to \`$cmp_file'." + exit 1 + fi + echo "Linked \`$cmp_link' to \`$cmp_file'." + ;; + esac + + echo "Links are now set up for use with a $machine." \ + | tee config.status + exit 0 + + ;; +*) + echo "Usage: $progname machine" + echo -n "Where \`machine' is something like " + echo "\`vax', \`sun3', \`hp9k300', etc." + if [ -r config.status ] + then + cat config.status + fi + exit 1 + ;; +esac diff --git a/v7/src/microcode/unxutl/makefile b/v7/src/microcode/unxutl/makefile new file mode 100644 index 000000000..e13589956 --- /dev/null +++ b/v7/src/microcode/unxutl/makefile @@ -0,0 +1,57 @@ +CPP = cc -E +MAKE = make # BSD doesn't have it as a default. + +all: xmakefile doall + +doall: + $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} all + +scheme: xmakefile doscheme + +doscheme: + $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} scheme + +bchscheme: xmakefile dobchscheme + +dobchscheme: + $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} bchscheme + +Psbtobin: xmakefile dopsbtobin + +dopsbtobin: + $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} Psbtobin + +Bintopsb: xmakefile dobintopsb + +dobintopsb: + $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} Bintopsb + +Ppband: xmakefile doppband + +doppband: + $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} Ppband + +# If you have a problem with cc -E here, changing +# the definition of CPP above may fix it. +xmakefile: ymakefile cf.h + rm -f xmakefile + cp ymakefile junk.c + $(CPP) junk.c | sed -n -f ymake.script > xmakefile + rm -f junk.c + +clean remove: + rm -f *.o *.touch *.s xmakefile + rm -f scheme xscheme bchscheme + rm -f Findprim Bintopsb Psbtobin Breakup Wsize Ppband + rm -f usrdef.c + rm -f lint.out + +tags : + etags *.[ch] ../runtime/*.scm + +locked: + rlog -L -R RCS/*,v + +getpagesize.h : pagesize.h + rm -f getpagesize.h + cp pagesize.h getpagesize.h diff --git a/v7/src/microcode/unxutl/ymake.sed b/v7/src/microcode/unxutl/ymake.sed new file mode 100644 index 000000000..16586fde2 --- /dev/null +++ b/v7/src/microcode/unxutl/ymake.sed @@ -0,0 +1,7 @@ +s/[ ][ ]*@@/\ +/g +s/[ ][ ]*$// +s/^#.*// +s/^[ ][ ]*$// +s/^ / / +/^..*$/p diff --git a/v7/src/microcode/unxutl/ymkfile b/v7/src/microcode/unxutl/ymkfile new file mode 100644 index 000000000..a9cb09952 --- /dev/null +++ b/v7/src/microcode/unxutl/ymkfile @@ -0,0 +1,510 @@ +/* -*-C-*- + +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/unxutl/Attic/ymkfile,v 1.1 1989/07/18 22:32:30 cph Exp $ + +Copyright (c) 1989 Massachusetts Institute of Technology + +This material was developed by the Scheme project at the Massachusetts +Institute of Technology, Department of Electrical Engineering and +Computer Science. Permission to copy this software, to redistribute +it, and to use it for any purpose is granted, subject to the following +restrictions and understandings. + +1. Any copy made of this software must include this copyright notice +in full. + +2. Users of this software agree to make their best efforts (a) to +return to the MIT Scheme project any improvements or extensions that +they make, so that these may be included in future releases; and (b) +to inform MIT of noteworthy uses of this software. + +3. All materials developed as a consequence of the use of this +software shall duly acknowledge such use, in accordance with the usual +standards of acknowledging credit in academic research. + +4. MIT has made no warrantee or representation that the operation of +this software will be error-free, and MIT is under no obligation to +provide any services, by way of maintenance, update, or otherwise. + +5. In conjunction with products arising from the use of this material, +there shall be no use of the name of the Massachusetts Institute of +Technology nor of any adaptation thereof in any advertising, +promotional, or sales literature without prior written consent from +MIT in each case. */ + +#include "cf.h" + +#undef unix + +#ifndef SOURCES_SYSTEM +#define SOURCES_SYSTEM +#endif + +#ifndef SOURCES_MACHINE +#define SOURCES_MACHINE +#endif + +#ifndef OBJECTS_SYSTEM +#define OBJECTS_SYSTEM +#endif + +#ifndef OBJECTS_MACHINE +#define OBJECTS_MACHINE +#endif + +#ifndef LIBS_SYSTEM +#define LIBS_SYSTEM +#endif + +#ifndef LIBS_MACHINE +#define LIBS_MACHINE +#endif + +#ifndef C_SWITCH_SYSTEM +#define C_SWITCH_SYSTEM +#endif + +#ifndef C_SWITCH_MACHINE +#define C_SWITCH_MACHINE +#endif + +#ifndef C_SWITCH_FEATURES +#define C_SWITCH_FEATURES -DCOMPILE_HISTORY +#endif + +/* Unless inhibited or changed, use -g to compile for debugging. */ +#ifndef C_DEBUG_SWITCH +#define C_DEBUG_SWITCH -g +#endif + +/* If user wants to optimize, this is how. */ +#ifndef C_OPTIMIZE_SWITCH +#ifdef __GNUC__ +#define C_OPTIMIZE_SWITCH -O -g +#else +#define C_OPTIMIZE_SWITCH -O +#endif +#endif + +#ifndef LD_SWITCH_SYSTEM +#define LD_SWITCH_SYSTEM +#endif + +#ifndef LD_SWITCH_MACHINE +#define LD_SWITCH_MACHINE +#endif + +#ifndef M4_SWITCH_SYSTEM +#define M4_SWITCH_SYSTEM +#endif + +#ifndef M4_SWITCH_MACHINE +#define M4_SWITCH_MACHINE +#endif + +#ifndef AS_SWITCH_SYSTEM +#define AS_SWITCH_SYSTEM +#endif + +#ifndef AS_SWITCH_MACHINE +#define AS_SWITCH_MACHINE +#endif + +/* Some machines don't find the standard C libraries in the usual place. */ +#ifndef LIB_STANDARD +#define LIB_STANDARD -lc +#endif + +#ifndef LIB_MATH +#define LIB_MATH -lm +#endif + +/* Unless inhibited or changed, use -lg to link for debugging. */ +#ifndef LIBS_DEBUG +#define LIBS_DEBUG -lg +#endif + +#ifndef LIBX11_MACHINE +#define LIBX11_MACHINE +#endif + +#ifndef LIBX11_SYSTEM +#define LIBX11_SYSTEM +#endif + +#ifdef HAVE_X_WINDOWS +X_SOURCES = x11base.c x11term.c x11graph.c +X_OBJECTS = x11base.o x11term.o x11graph.o +X_LIB = -lX11 LIBX11_MACHINE LIBX11_SYSTEM +#endif /* HAVE_X_WINDOWS */ + +#ifdef HAVE_STARBASE_GRAPHICS +#ifdef HAVE_X_WINDOWS +GRAPHICS_SOURCES = starbase.c starbasex.c +GRAPHICS_OBJECTS = starbase.o starbasex.o +GRAPHICS_LIBS = STARBASE_DEVICE_DRIVERS -lddsox11 -lsb1 -lsb2 -lXhp11 +#else /* not HAVE_X_WINDOWS */ +GRAPHICS_SOURCES = starbase.c +GRAPHICS_OBJECTS = starbase.o +GRAPHICS_LIBS = STARBASE_DEVICE_DRIVERS -lsb1 -lsb2 +#endif /* HAVE_X_WINDOWS */ +#else /* not HAVE_STARBASE_GRAPHICS */ +GRAPHICS_SOURCES = +GRAPHICS_OBJECTS = +GRAPHICS_LIBS = +#endif /* HAVE_STARBASE_GRAPHICS */ + +#ifdef HAVE_CURSES +CTERM_SOURCES = cterm.c +CTERM_OBJECTS = cterm.o +CTERM_LIB = -lcurses +#else /* not HAVE_CURSES */ +CTERM_SOURCES = +CTERM_OBJECTS = +CTERM_LIB = +#endif /* HAVE_CURSES */ + +#if (PROC_TYPE == PROC_TYPE_68020) + +MACHINE_SWITCHES = -DMC68020 -DCMPGCFILE=\"cmp68kgc.h\" +MACHINE_SOURCES = cmp68020.m4 +MACHINE_OBJECTS = cmp68020.o +GC_HEAD_FILES = gccode.h cmp68kgc.h + +#else +#if (PROC_TYPE == PROC_TYPE_VAX) + +MACHINE_SWITCHES = -DCMPGCFILE=\"cmpvaxgc.h\" +MACHINE_SOURCES = cmpvax.m4 +MACHINE_OBJECTS = cmpvax.o +GC_HEAD_FILES = gccode.h cmpvaxgc.h + +#else + +MACHINE_SWITCHES = +MACHINE_SOURCES = compiler.c +MACHINE_OBJECTS = compiler.o +GC_HEAD_FILES = gccode.h + +#endif /* PROC_TYPE */ +#endif /* PROC_TYPE */ + +USER_PRIM_SOURCES = +USER_PRIM_OBJECTS = +USER_LIBS = + +SHELL = /bin/sh + +#ifdef __GNUC__ +CC = gcc +#else +CC = cc +#endif +M4 = m4 +AS = as + +LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_MACHINE + +CFLAGS = C_OPTIMIZE_SWITCH C_SWITCH_MACHINE C_SWITCH_SYSTEM $(MACHINE_SWITCHES) + +#ifndef ECHO +#define ECHO echo +#endif + +.SUFFIXES: .o .cpp .s .m4 + +.c.o: ; @ECHO "#** Generating" $@ because of $? + $(CC) $(CFLAGS) -c $*.c + +.c.cpp: ; @ECHO "#** Generating" $@ + make Breakup + $(CC) $(CFLAGS) -E $*.c | \ + ./Breakup | \ + sed -e 's/^#.*//' -e 's/^[ ]*$$//' -e 's/^ $$//' | \ + sed -n -e '/^..*/p' > $*.cpp + +.c.s: ; @ECHO "#** Generating" $@ + $(CC) $(CFLAGS) -S $*.c + +#ifdef M4_RULE +M4_RULE +#else +.m4.s: ; @ECHO "#** Generating" $@ because of $? + $(M4) M4_SWITCH_SYSTEM M4_SWITCH_MACHINE $*.m4 > $*.s +#endif + +#ifdef AS_RULE +AS_RULE +#else +.s.o: ; @ECHO "#** Generating" $@ because of $? + $(AS) AS_SWITCH_SYSTEM AS_SWITCH_MACHINE -o $*.o $*.s +#endif + +/* Source and object files */ + +SCHEME_SOURCES = $(X_SOURCES) $(CTERM_SOURCES) $(GRAPHICS_SOURCES) \ + SOURCES_SYSTEM SOURCES_MACHINE $(USER_PRIM_SOURCES) +SCHEME_OBJECTS = $(X_OBJECTS) $(CTERM_OBJECTS) $(GRAPHICS_OBJECTS) \ + OBJECTS_SYSTEM OBJECTS_MACHINE $(USER_PRIM_OBJECTS) usrdef.o +SCHEME_LIB = $(USER_LIBS) $(GRAPHICS_LIBS) $(X_LIB) $(CTERM_LIB) \ + LIB_MATH LIBS_SYSTEM LIBS_MACHINE LIBS_DEBUG LIB_STANDARD + +SOURCES = \ +$(MACHINE_SOURCES) \ +bignum.c \ +bitstr.c \ +boot.c \ +char.c \ +comutl.c \ +daemon.c \ +debug.c \ +extern.c \ +fasdump.c \ +fasload.c \ +fileio.c \ +fixnum.c \ +flonum.c \ +gcloop.c \ +generic.c \ +hooks.c \ +hunk.c \ +intern.c \ +interp.c \ +list.c \ +lookprm.c \ +lookup.c \ +memmag.c \ +prim.c \ +primutl.c \ +purify.c \ +purutl.c \ +random.c \ +regex.c \ +rgxprim.c \ +step.c \ +storage.c \ +string.c \ +syntax.c \ +sysprim.c \ +ttyio.c \ +utils.c \ +vector.c + +HEAD_FILES = scheme.touch prims.h zones.h locks.h flonum.h bignum.h \ + string.h char.h $(GC_HEAD_FILES) trap.h lookup.h history.h cmpint.h + +CORE_OBJECTS = \ +$(MACHINE_OBJECTS) \ +bignum.o \ +bitstr.o \ +boot.o \ +char.o \ +comutl.o \ +daemon.o \ +debug.o \ +extern.o \ +fasload.o \ +fileio.o \ +fixnum.o \ +flonum.o \ +generic.o \ +hooks.o \ +hunk.o \ +intern.o \ +interp.o \ +list.o \ +lookprm.o \ +lookup.o \ +prim.o \ +primutl.o \ +purutl.o \ +random.o \ +regex.o \ +rgxprim.o \ +step.o \ +storage.o \ +string.o \ +syntax.o \ +sysprim.o \ +ttyio.o \ +utils.o \ +vector.o + +STD_GC_OBJECTS = \ +fasdump.o \ +gcloop.o \ +memmag.o \ +purify.o + +BCH_GC_OBJECTS = \ +bchdmp.o \ +bchgcl.o \ +bchmmg.o \ +bchpur.o + +OBJECTS = $(CORE_OBJECTS) $(STD_GC_OBJECTS) os.o +BCHOBJECTS = $(CORE_OBJECTS) $(BCH_GC_OBJECTS) os.o + +/* Construction rules. */ + +all: Psbtobin scheme + +world: all bchscheme + +everything: world Bintopsb Ppband + +scheme xscheme : $(OBJECTS) $(SCHEME_OBJECTS) + @ECHO "#** Re-linking" $@ because of $? + -mv -f $@ $@.busy + rm -f $@.busy + $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(SCHEME_OBJECTS) $(SCHEME_LIB) + +bchscheme : $(BCHOBJECTS) $(SCHEME_OBJECTS) + @ECHO "#** Re-linking" $@ because of $? + -mv -f $@ $@.busy + rm -f $@.busy + $(CC) $(LDFLAGS) -o $@ $(BCHOBJECTS) $(SCHEME_OBJECTS) $(SCHEME_LIB) + +Findprim : Findprim.o + @ECHO "#** Re-linking" $@ because of $? + -mv -f $@ $@.busy + rm -f $@.busy + $(CC) $(LDFLAGS) -o $@ Findprim.o + +Bintopsb : Bintopsb.o + @ECHO "#** Re-linking" $@ because of $? + -mv -f $@ $@.busy + rm -f $@.busy + $(CC) $(LDFLAGS) -o $@ Bintopsb.o + +Psbtobin : Psbtobin.o + @ECHO "#** Re-linking" $@ because of $? + -mv -f $@ $@.busy + rm -f $@.busy + $(CC) $(LDFLAGS) -o $@ Psbtobin.o + +Breakup : Breakup.o + @ECHO "#** Re-linking" $@ because of $? + -mv -f $@ $@.busy + rm -f $@.busy + $(CC) $(LDFLAGS) -o $@ Breakup.o + +Wsize : Wsize.o + @ECHO "#** Re-linking" $@ because of $? + -mv -f $@ $@.busy + rm -f $@.busy + $(CC) $(LDFLAGS) -o $@ Wsize.o $(SCHEME_LIB) + +Ppband : Ppband.o + @ECHO "#** Re-linking" $@ because of $? + -mv -f $@ $@.busy + rm -f $@.busy + $(CC) $(LDFLAGS) -o $@ Ppband.o + +/* Primitive table files */ + +/* The first two are for VMS. */ + +usrdef.txt : + ./make_vmslist usrdef.txt $(SCHEME_SOURCES) $(SOURCES) + +vmsusrdef.c : + echo "$$ Findprim -o usrdef.c -l [-.vms]usrdef.txt" + $(CC) $(CFLAGS) -c usrdef.c + +/* The usrFOO.c files should depend on SOURCES, but these change + rarely, so they are left out to be generated by hand. + use `make primitive_tables scheme' to remake anyway. */ + +usrdef.c : $(SCHEME_SOURCES) usrdef.touch Findprim xmakefile + @ECHO "#** Re-making" $@ because of $? + rm -f usrdef.c + ./Findprim $(SCHEME_SOURCES) $(SOURCES) > usrdef.c + +primitive_tables : + rm -f usrdef.c usrdef.o + +scheme.touch os.touch psbmap.touch usrdef.touch : + @ECHO "#** Resetting" $@ because of $? + rm -f $@ + touch $@ + +/* scheme.touch depends also on butterfly.h rename.c */ +scheme.touch : scheme.h config.h bkpt.h object.h scode.h sdata.h \ + gc.h interp.h stack.h futures.h types.h errors.h returns.h \ + const.h fixobj.h default.h extern.h prim.h intrpt.h +os.touch : os.c mul.c unix.c vms.c unknown.c scheme.touch zones.h +psbmap.touch : config.h object.h bignum.h bitstr.h types.h \ + sdata.h const.h char.h missing.c psbmap.h $(GC_HEAD_FILES) \ + comlin.h comlin.c +usrdef.touch : usrdef.h config.h object.h prim.h + +lint.out : $(SOURCES) $(SCHEME_SOURCES) $(CSRC) usrdef.c $(HEAD_FILES) + rm -f lint.out + lint $(CFLAGS) $(SOURCES) $(SCHEME_SOURCES) $(CSRC) usrdef.c > lint.out + +/* Dependencies of the object files on the header files */ + +/* "foo" prevents syntax error when USER_PRIM_OBJECTS is empty. */ +foo $(USER_PRIM_OBJECTS) : $(HEAD_FILES) + +interp.o : scheme.touch locks.h trap.h lookup.h history.h cmpint.h zones.h +hooks.o : scheme.touch prims.h winder.h history.h +utils.o : scheme.touch prims.h flonum.h winder.h history.h cmpint.h +primutl.o : scheme.touch prims.h prename.h + +fixnum.o hunk.o list.o step.o vector.o sysprim.o daemon.o prim.o \ + random.o extern.o : scheme.touch prims.h + +lookup.o debug.o intern.o : scheme.touch prims.h lookup.h trap.h locks.h + +fasdump.o fasload.o : scheme.touch prims.h trap.h $(GC_HEAD_FILES) fasl.h \ + load.c dump.c + +memmag.o gcloop.o purify.o purutl.o comutl.o : scheme.touch prims.h \ + $(GC_HEAD_FILES) zones.h + +bignum.o flonum.o generic.o : scheme.touch prims.h flonum.h zones.h \ + bignum.h + +storage.o : scheme.touch gctype.c + +char.o fileio.o string.o ttyio.o : scheme.touch prims.h string.h char.h + +boot.o : scheme.touch prims.h version.h char.h string.h paths.h + +compiler.o : config.h object.h sdata.h types.h errors.h const.h returns.h +os.o : scheme.touch os.touch zones.h + +bchmmg.o bchgcl.o bchpur.o : scheme.touch prims.h bchgcc.h $(GC_HEAD_FILES) +bchdmp.o : scheme.touch prims.h bchgcc.h $(GC_HEAD_FILES) fasl.h dump.c + +hooks.o : scheme.touch prims.h winder.h history.h +utils.o : scheme.touch prims.h flonum.h winder.h history.h cmpint.h + +syntax.o : scheme.touch prims.h string.h char.h edwin.h syntax.h +bitstr.o : scheme.touch prims.h bignum.h bitstr.h +regex.o : scheme.touch char.h syntax.h regex.h +rgxprim.o : scheme.touch prims.h string.h char.h edwin.h syntax.h regex.h +unixprim.o : scheme.touch prims.h string.h + +Bintopsb.o : psbmap.touch trap.h fasl.h load.c bltdef.h +Psbtobin.o : psbmap.touch fasl.h dump.c +Ppband.o : config.h types.h const.h object.h sdata.h fasl.h load.c + +dmpwrld.o : unexec.c getpagesize.h + +x11base.o x11graph.o x11term.o : x11.h +starbase.o : scheme.touch prims.h flonum.h +starbasex.o : scheme.touch prims.h x11.h + +Xrep.o : scheme.touch prims.h Xlib.h +Xlib.o : scheme.touch prims.h string.h Xlib.h + +Sgraph.o Sgraph_xt.o SgX.o : scheme.touch prims.h flonum.h Sgraph.h +Sgraph_ar.o : scheme.touch prims.h flonum.h Sgraph.h array.h +fft.o : scheme.touch prims.h flonum.h zones.h array.h image.h +array.o image.o : scheme.touch prims.h flonum.h array.h + +cmp68020.s : cmp68020.m4 +cmpvax.s : cmpvax.m4 -- 2.25.1