Initial revision
authorChris Hanson <org/chris-hanson/cph>
Tue, 18 Jul 1989 22:36:14 +0000 (22:36 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 18 Jul 1989 22:36:14 +0000 (22:36 +0000)
12 files changed:
v7/src/microcode/m/hp9k300.h [new file with mode: 0644]
v7/src/microcode/m/hp9k800.h [new file with mode: 0644]
v7/src/microcode/m/sun3.h [new file with mode: 0644]
v7/src/microcode/m/vax.h [new file with mode: 0644]
v7/src/microcode/s/bsd4-2.h [new file with mode: 0644]
v7/src/microcode/s/hpux.h [new file with mode: 0644]
v7/src/microcode/s/ultrix.h [new file with mode: 0644]
v7/src/microcode/unxutl/cf-dist.h [new file with mode: 0644]
v7/src/microcode/unxutl/config [new file with mode: 0755]
v7/src/microcode/unxutl/makefile [new file with mode: 0644]
v7/src/microcode/unxutl/ymake.sed [new file with mode: 0644]
v7/src/microcode/unxutl/ymkfile [new file with mode: 0644]

diff --git a/v7/src/microcode/m/hp9k300.h b/v7/src/microcode/m/hp9k300.h
new file mode 100644 (file)
index 0000000..e4edb13
--- /dev/null
@@ -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 (file)
index 0000000..1e522fa
--- /dev/null
@@ -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 (file)
index 0000000..59ad2aa
--- /dev/null
@@ -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 (file)
index 0000000..f0b523d
--- /dev/null
@@ -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/^\f$$//' >$*.s
diff --git a/v7/src/microcode/s/bsd4-2.h b/v7/src/microcode/s/bsd4-2.h
new file mode 100644 (file)
index 0000000..c4a8c63
--- /dev/null
@@ -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/^\f$$//' > $*.s
diff --git a/v7/src/microcode/s/hpux.h b/v7/src/microcode/s/hpux.h
new file mode 100644 (file)
index 0000000..5e5420d
--- /dev/null
@@ -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 (file)
index 0000000..08995b6
--- /dev/null
@@ -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 (file)
index 0000000..e4d5d75
--- /dev/null
@@ -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 (executable)
index 0000000..f6505e5
--- /dev/null
@@ -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 (file)
index 0000000..e135899
--- /dev/null
@@ -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 (file)
index 0000000..16586fd
--- /dev/null
@@ -0,0 +1,7 @@
+s/[    ][      ]*@@/\
+/g
+s/[    ][      ]*$//
+s/^#.*//
+s/^[ \f ][ \f    ]*$//
+s/^ /  /
+/^..*$/p
diff --git a/v7/src/microcode/unxutl/ymkfile b/v7/src/microcode/unxutl/ymkfile
new file mode 100644 (file)
index 0000000..a9cb099
--- /dev/null
@@ -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/^\f$$//' | \
+       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