[Git][cmucl/cmucl][master] 2 commits: Update cmucl version to 21a.
![](https://secure.gravatar.com/avatar/cc13150cabd87c26f35cb4b0ea78d66d.jpg?s=120&d=mm&r=g)
Raymond Toy pushed to branch master at cmucl / cmucl Commits: 53aac568 by Raymond Toy at 2015-09-30T21:56:04Z Update cmucl version to 21a. Add bootfile for building cmucl with the new version too. - - - - - db9bcbd3 by Raymond Toy at 2015-09-30T21:56:20Z Remove [In progress] note. - - - - - 3 changed files: - + src/bootfiles/20f/boot-21a.lisp - src/compiler/byte-comp.lisp - src/general-info/release-21a.txt Changes: ===================================== src/bootfiles/20f/boot-21a.lisp ===================================== --- /dev/null +++ b/src/bootfiles/20f/boot-21a.lisp @@ -0,0 +1,68 @@ +;;;; +;;;; Boot file for changing the fasl file version numbers to 21a. +;;;; + +(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!) +;;; +#-cmu21a +(setf (symbol-value 'byte-fasl-file-version) #x21a) +#-cmu21a +(setf (backend-fasl-file-version *target-backend*) #x21a) + +;;; +;;; Don't check fasl versions in the compiling Lisp because we'll +;;; load files compiled with the new version numbers. +;;; +#-cmu21a +(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. +;;; +#-cmu21a +(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))) + (multiple-value-bind + (version f-vers f-imp) + (if byte-p + (values "Byte code" + byte-fasl-file-version + (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~%" + where + (ext:format-universal-time nil (get-universal-time)) + (machine-instance) compiler-version + (lisp-implementation-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)) + res)) + ===================================== src/compiler/byte-comp.lisp ===================================== --- a/src/compiler/byte-comp.lisp +++ b/src/compiler/byte-comp.lisp @@ -38,7 +38,7 @@ ;; 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 #x20f) +(defconstant byte-fasl-file-version #x21a) (let* ((version-string (format nil "~X" byte-fasl-file-version))) ;; Add :cmu<n> to *features* ===================================== src/general-info/release-21a.txt ===================================== --- a/src/general-info/release-21a.txt +++ b/src/general-info/release-21a.txt @@ -1,7 +1,5 @@ ========================== C M U C L 21 a ============================= -[In Progress] - The CMUCL project is pleased to announce the release of CMUCL 21a. This is a major release which contains numerous enhancements and bug fixes from the 20f release. View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/b8654321e9bb003da77dbf9ea...
participants (1)
-
Raymond Toy