[Git][cmucl/cmucl][master] 8 commits: Release 21c

Raymond Toy rtoy at common-lisp.net
Sat Oct 28 15:32:22 UTC 2017


Raymond Toy pushed to branch master at cmucl / cmucl


Commits:
e32c4479 by Raymond Toy at 2017-10-15T10:04:15-07:00
Release 21c

Use `-B boot-21c` to bootstrap the release from 21b to 21c.

- 21b/boot-21c.lisp:
 - Add boot-21c.lisp to update the version number
- compiler/byte-comp.lisp
 - Update the actual version number

- - - - -
6217c780 by Raymond Toy at 2017-10-15T10:05:41-07:00
Add -B flag to bootstrap the release number change

- - - - -
1fd413e3 by Raymond Toy at 2017-10-15T10:05:55-07:00
Remove WIP.

- - - - -
e1aa8483 by Raymond Toy at 2017-10-15T10:08:19-07:00
Add release-21d.md release notes.

- - - - -
48afbb09 by Raymond Toy at 2017-10-27T21:00:48-07:00
Merge branch 'master' into 21c-branch

- - - - -
9f2679a6 by Raymond Toy at 2017-10-27T21:03:02-07:00
Remove WIP and fix typo.

- - - - -
9697034f by Raymond Toy at 2017-10-27T21:03:30-07:00
Fix up markdown markup

- - - - -
e87e8196 by Raymond Toy at 2017-10-28T15:32:21+00:00
Merge branch '21c-branch' into 'master'

21c branch

See merge request cmucl/cmucl!27
- - - - -


5 changed files:

- .gitlab-ci.yml
- + src/bootfiles/21b/boot-21c.lisp
- src/compiler/byte-comp.lisp
- src/general-info/release-21c.md
- + src/general-info/release-21d.md


Changes:

=====================================
.gitlab-ci.yml
=====================================
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,6 +7,6 @@ before_script:
 
 test:
   script:
-    - bin/build.sh -C "" -o ./snapshot/bin/lisp
+    - bin/build.sh -B boot-21c -C "" -o ./snapshot/bin/lisp
     - bin/make-dist.sh -I dist-linux linux-4
     - bin/run-tests.sh -l dist-linux/bin/lisp 2>&1 | tee test.log


=====================================
src/bootfiles/21b/boot-21c.lisp
=====================================
--- /dev/null
+++ b/src/bootfiles/21b/boot-21c.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!)
+;;;
+#-cmu21c
+(setf (symbol-value 'byte-fasl-file-version)       #x21c)
+#-cmu21c
+(setf (backend-fasl-file-version *target-backend*) #x21c)
+
+;;;
+;;; Don't check fasl versions in the compiling Lisp because we'll
+;;; load files compiled with the new version numbers.
+;;;
+#-cmu21c
+(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.
+;;;
+#-cmu21c
+(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 #x21b)
+(defconstant byte-fasl-file-version #x21c)
 
 (let* ((version-string (format nil "~X" byte-fasl-file-version)))
   ;; Add :cmu<n> to *features*


=====================================
src/general-info/release-21c.md
=====================================
--- a/src/general-info/release-21c.md
+++ b/src/general-info/release-21c.md
@@ -1,5 +1,3 @@
-**Work in progress**
-
 # CMUCL 21c
 
 The CMUCL project is pleased to announce the release of CMUCL 21c.
@@ -52,7 +50,7 @@ See http://www.cmucl.org or
 https://gitlab.common-lisp.net/cmucl/cmucl for more information,
 See
 https://gitlab.common-lisp.net/cmucl/cmucl/wikis/GettingCmucl
-for obtaining CMUCL, including sources and binaries..
+for obtaining CMUCL, including sources and binaries.
 
 
 We hope you enjoy using this release of CMUCL!


=====================================
src/general-info/release-21d.md
=====================================
--- /dev/null
+++ b/src/general-info/release-21d.md
@@ -0,0 +1,40 @@
+** Work in Progress **
+# CMUCL 21d
+
+The CMUCL project is pleased to announce the release of CMUCL 21c.
+This is a major release which contains numerous enhancements and bug
+fixes from the 21a release.
+
+CMUCL is a free, high performance implementation of the Common Lisp
+programming language which runs on most major Unix platforms. It
+mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
+sophisticated native code compiler; a powerful foreign function
+interface; an implementation of CLOS, the Common Lisp Object System,
+which includes multi-methods and a meta-object protocol; a
+source-level debugger and code profiler; and an Emacs-like editor
+implemented in Common Lisp. CMUCL is maintained by a team of
+volunteers collaborating over the Internet, and is mostly in the
+public domain.
+
+## New in this release:
+  * Known issues:
+  * Feature enhancements
+  * Changes
+  * ANSI compliance fixes:
+  * Bug fixes:
+  * Gitlab tickets:
+  * Other changes:
+  * Improvements to the PCL implementation of CLOS:
+  * Changes to building procedure:
+
+This release is not binary compatible with code compiled using CMUCL
+21c; you will need to recompile FASL files.
+
+See http://www.cmucl.org or
+https://gitlab.common-lisp.net/cmucl/cmucl for more information,
+See
+https://gitlab.common-lisp.net/cmucl/cmucl/wikis/GettingCmucl
+for obtaining CMUCL, including sources and binaries..
+
+
+We hope you enjoy using this release of CMUCL!



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/4c0780dc2a04d965f610d804abba150f323b8140...e87e819604df55ff7c5ee64bfc0d52af92a6fec9

---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/4c0780dc2a04d965f610d804abba150f323b8140...e87e819604df55ff7c5ee64bfc0d52af92a6fec9
You're receiving this email because of your account on gitlab.common-lisp.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20171028/d82afa2e/attachment-0001.html>


More information about the cmucl-cvs mailing list