From e6778d3dff7cf65ea78f194818dc1366dd704ae5 Mon Sep 17 00:00:00 2001 From: Matt Birkholz Date: Tue, 15 Oct 2013 11:11:54 -0700 Subject: [PATCH] Revert aab92f7 to allow building on 9.1.1, until master is fixed. --- src/Makefile.tools.in | 106 ++++++++++--------------------- src/compiler/Stage.sh | 18 +++++- src/etc/Stage.sh | 11 ++++ src/etc/compile-boot-compiler.sh | 4 +- src/etc/compile-svm.sh | 14 ++-- src/runtime/runtime.sf | 8 +++ src/runtime/utabs.scm | 11 ++++ 7 files changed, 89 insertions(+), 83 deletions(-) diff --git a/src/Makefile.tools.in b/src/Makefile.tools.in index 7b3a50700..bb787b2c8 100644 --- a/src/Makefile.tools.in +++ b/src/Makefile.tools.in @@ -1,3 +1,4 @@ +# -*-makefile-*- # Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, # 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 @@ -62,13 +63,9 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/microcode/mkinstalldirs MIT_SCHEME_EXE = @MIT_SCHEME_EXE@ -HOST_COMPILER = $(HOST_TOOLCHAIN) -HOST_RUNTIME = '$(MIT_SCHEME_EXE)' --batch-mode --band runtime.com -HOST_SYNTAXER = '$(MIT_SCHEME_EXE)' --batch-mode --band runtime.com \ - --eval '(load-option (quote CREF))' \ - --eval '(load-option (quote SF))' -HOST_TOOLCHAIN = '$(MIT_SCHEME_EXE)' --batch-mode \ - --eval '(load-option (quote CREF))' +HOST_COMPILER = $(MIT_SCHEME_EXE) --batch-mode +CROSS_SYNTAXER = '$(MIT_SCHEME_EXE)' --batch-mode --band ./tools/syntaxer.com +HOST_SYNTAXER = '$(MIT_SCHEME_EXE)' --batch-mode SUBDIRS = compiler cref runtime sf star-parser @@ -120,33 +117,25 @@ restore: tools/compiler.com: tools/syntaxer.com tools/compiler.com: compile-cross-compiler -tools/compiler.com: compile-cross-cref -tools/compiler.com: compile-cross-sf -tools/compiler.com: compile-kludgerous-star-parser (echo '(begin' && \ - echo ' (with-working-directory-pathname "cref"' && \ - echo ' (lambda () (load "make")))' && \ - echo ' (with-working-directory-pathname "sf"' && \ - echo ' (lambda () (load "make")))' && \ - echo ' (with-working-directory-pathname "star-parser"' && \ - echo ' (lambda () (load "load")))' && \ echo ' (with-working-directory-pathname "compiler"' && \ echo ' (lambda () (load "make")))' && \ echo ' (disk-save "$@"))') \ - | $(HOST_RUNTIME) + | $(CROSS_SYNTAXER) +tools/syntaxer.com: compile-cross-runtime tools/syntaxer.com: compile-cross-cref tools/syntaxer.com: compile-cross-sf -tools/syntaxer.com: compile-kludgerous-star-parser +tools/syntaxer.com: compile-cross-star-parser (echo '(begin' && \ - echo ' (with-working-directory-pathname "cref"' && \ + echo ' (with-working-directory-pathname "../cref"' && \ echo ' (lambda () (load "make")))' && \ - echo ' (with-working-directory-pathname "sf"' && \ + echo ' (with-working-directory-pathname "../sf"' && \ echo ' (lambda () (load "make")))' && \ - echo ' (with-working-directory-pathname "star-parser"' && \ + echo ' (with-working-directory-pathname "../star-parser"' && \ echo ' (lambda () (load "load")))' && \ - echo ' (disk-save "$@"))') \ - | $(HOST_RUNTIME) + echo ' (disk-save "../$@"))') \ + | (cd runtime && '$(MIT_SCHEME_EXE)' --batch-mode --fasl make.com) # Compiler (LIAR) @@ -191,28 +180,29 @@ compile-cross-compiler-rtlgen: syntax-cross-compiler compile-cross-compiler-rtlopt: syntax-cross-compiler echo '(compile-directory "compiler/rtlopt")' | $(HOST_COMPILER) -# Must use HOST_SYNTAXER here because compiler.sf's (and, more -# generally, CREF's) host/target distinction is bollocksed up, and will -# do the wrong thing if there is already a compiler loaded into the -# image. .PHONY: syntax-cross-compiler +syntax-cross-compiler: tools/syntaxer.com @IF_SVM@syntax-cross-compiler: compiler/machines/svm/assembler-db.scm -syntax-cross-compiler: cref-cross-compiler (echo '(with-working-directory-pathname "compiler"' && \ echo ' (lambda () (load "compiler.sf")))') \ - | $(HOST_SYNTAXER) + | $(CROSS_SYNTAXER) compiler/machines/svm/assembler-db.scm: (cd compiler/machines/svm && \ '$(MIT_SCHEME_EXE)' --batch-mode --load compile-assembler code 'sequence)) + (let ((env (->environment '(runtime microcode-tables)))) + (set! (access type-aliases env) + (cons '(sequence-2 sequence) + (access type-aliases env))))) + (load-option '*PARSER) ;for url.scm (fluid-let ((sf/default-syntax-table (->environment '(RUNTIME)))) (sf-conditionally "char") diff --git a/src/runtime/utabs.scm b/src/runtime/utabs.scm index 002b261c4..8dd0737ef 100644 --- a/src/runtime/utabs.scm +++ b/src/runtime/utabs.scm @@ -68,6 +68,17 @@ USA. (microcode-identification-item 'CONSOLE-WIDTH)) (set! microcode-id/tty-y-size (microcode-identification-item 'CONSOLE-HEIGHT)) + + ;; Temporarily: ensure host knows new type code SEQUENCE. Older hosts + ;; have an equivalent SEQUENCE-2 and type-aliases. + (if (not (microcode-type/name->code 'sequence)) + (set! type-aliases + (cons '(SEQUENCE-2 SEQUENCE) + type-aliases))) + (if (not (microcode-return/name->code 'sequence-continue)) + (set! returns-aliases + (cons '(SEQUENCE-2-SECOND SEQUENCE-CONTINUE) + returns-aliases))) unspecific) (define (intern string) -- 2.25.1