[cmucl-commit] [git] CMU Common Lisp branch master updated. snapshot-2011-10-26-g4ac29cb
Raymond Toy
rtoy at common-lisp.net
Sat Oct 22 17:38:05 CEST 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".
The branch, master has been updated
via 4ac29cb60d52a15a16db9e733c687f56b74fa787 (commit)
from d6a6792b94882e781003cf47cfdb882ba3a96f6a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 4ac29cb60d52a15a16db9e733c687f56b74fa787
Author: Raymond Toy <toy.raymond at gmail.com>
Date: Sat Oct 22 08:37:26 2011 -0700
Bump version to 20c, add bootstrap file.
A normal build can be done using boot-20c.lisp.
diff --git a/bootfiles/20b/boot-20c.lisp b/bootfiles/20b/boot-20c.lisp
new file mode 100644
index 0000000..cc54472
--- /dev/null
+++ b/bootfiles/20b/boot-20c.lisp
@@ -0,0 +1,68 @@
+;;;;
+;;;; 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!)
+;;;
+#-cmu20c
+(setf (symbol-value 'byte-fasl-file-version) #x20c)
+#-cmu20c
+(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.
+;;;
+#-cmu20c
+(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.
+;;;
+#-cmu20c
+(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))
+
diff --git a/compiler/byte-comp.lisp b/compiler/byte-comp.lisp
index 3f04bdd..ad16162 100644
--- a/compiler/byte-comp.lisp
+++ b/compiler/byte-comp.lisp
@@ -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)
+ :keyword))
+ ;; 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))))
:keyword)))
(defun backend-byte-fasl-file-type (backend)
-----------------------------------------------------------------------
Summary of changes:
bootfiles/{19d/boot-19e.lisp => 20b/boot-20c.lisp} | 15 ++++++++++-----
compiler/byte-comp.lisp | 14 +++++++++++---
2 files changed, 21 insertions(+), 8 deletions(-)
copy bootfiles/{19d/boot-19e.lisp => 20b/boot-20c.lisp} (83%)
hooks/post-receive
--
CMU Common Lisp
More information about the cmucl-commit
mailing list