Commit 4ac29cb6 authored by Raymond Toy's avatar Raymond Toy
Browse files

Bump version to 20c, add bootstrap file.

A normal build can be done using boot-20c.lisp.
parent d6a6792b
;;;; Boot file for changing the fasl file version numbers to 20c.
(in-package :c)
(setf lisp::*enable-package-locked-errors* nil)
;;; Note that BYTE-FASL-FILE-VERSION is a constant.
;;; (Be sure to change BYTE-FASL-FILE-VERSION in
;;; compiler/byte-comp.lisp to the correct value too!)
(setf (symbol-value 'byte-fasl-file-version) #x20c)
(setf (backend-fasl-file-version *target-backend*) #x20c)
;;; Don't check fasl versions in the compiling Lisp because we'll
;;; load files compiled with the new version numbers.
(setq lisp::*skip-fasl-file-version-check* t)
;;; This is here because BYTE-FASL-FILE-VERSION is constant-folded in
;;; OPEN-FASL-FILE. To make the new version number take effect, we
;;; have to redefine the function.
(defun open-fasl-file (name where &optional byte-p)
(declare (type pathname name))
(let* ((stream (open name :direction :output
:if-exists :new-version
:element-type '(unsigned-byte 8)
:class 'binary-text-stream))
(res (make-fasl-file :stream stream)))
(version f-vers f-imp)
(if byte-p
(values "Byte code"
(backend-byte-fasl-file-implementation *backend*))
(values (backend-version *backend*)
(backend-fasl-file-version *backend*)
(backend-fasl-file-implementation *backend*)))
(format stream
"FASL FILE output from ~A.~@
Compiled ~A on ~A~@
Compiler ~A, Lisp ~A~@
Targeted for ~A, FASL version ~X~%"
(ext:format-universal-time nil (get-universal-time))
(machine-instance) compiler-version
version f-vers)
;; Terminate header.
(dump-byte 255 res)
;; Specify code format.
(dump-fop 'lisp::fop-long-code-format res)
(dump-byte f-imp res)
(dump-unsigned-32 f-vers res))
......@@ -34,12 +34,20 @@
;;;; Fasl file format:
(defconstant byte-fasl-file-version #x20b)
;; The fasl file version should be a series of hex digits in the range
;; 0-9 followed by a single hex digit in the range a-f. Then the
;; version looks like a decimal number followed by a minor release
;; letter of a to f.
(defconstant byte-fasl-file-version #x20c)
(let* ((version-string (format nil "~X" byte-fasl-file-version)))
(sys:register-lisp-feature (intern (concatenate 'string "CMU" version-string) :keyword))
;; Add :cmu<n> to *features*
(sys:register-lisp-feature (intern (concatenate 'string "CMU" version-string)
;; Same as above, except drop the trailing a-f character.
(sys:register-lisp-feature (intern (concatenate 'string "CMU"
(subseq version-string 0 (1- (length version-string))))
(subseq version-string 0
(1- (length version-string))))
(defun backend-byte-fasl-file-type (backend)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment