Skip to content
Commits on Source (2)
variables:
download_url: "https://common-lisp.net/project/cmucl/downloads/snapshots/2018/03"
version: "2018-03-x86"
download_url: "https://common-lisp.net/project/cmucl/downloads/snapshots/2018/10"
version: "2018-10-x86"
bootstrap: "-B boot-21d.lisp"
linux-runner:
image: ubuntu:16.04
......@@ -13,7 +14,7 @@ linux-runner:
- mkdir snapshot
- (cd snapshot; tar xjf ../cmucl-$version-linux.tar.bz2; tar xjf ../cmucl-$version-linux.extra.tar.bz2)
script:
- bin/build.sh -C "" -o snapshot/bin/lisp
- bin/build.sh $bootstrap -C "" -o snapshot/bin/lisp
- bin/make-dist.sh -I dist linux-4
- bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
......@@ -25,6 +26,6 @@ osx-runner:
- mkdir snapshot
- (cd snapshot; tar xjf ../cmucl-$version-darwin.tar.bz2)
script:
- bin/build.sh -C "" -o snapshot/bin/lisp
- bin/build.sh $bootstrap -C "" -o snapshot/bin/lisp
- bin/make-dist.sh -I dist darwin-4
- bin/run-tests.sh -l dist/bin/lisp 2>&1 | tee test.log
;;;;
;;;; Boot file for changing the fasl file version numbers to 21d.
;;;;
(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!)
;;;
#-cmu21d
(setf (symbol-value 'byte-fasl-file-version) #x21d)
#-cmu21d
(setf (backend-fasl-file-version *target-backend*) #x21d)
;;;
;;; Don't check fasl versions in the compiling Lisp because we'll
;;; load files compiled with the new version numbers.
;;;
#-cmu21d
(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.
;;;
#-cmu21d
(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))
......@@ -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 #x21c)
(defconstant byte-fasl-file-version #x21d)
(let* ((version-string (format nil "~X" byte-fasl-file-version)))
;; Add :cmu<n> to *features*
......
** Work in Progress **
# CMUCL 21d
The CMUCL project is pleased to announce the release of CMUCL 21c.
......@@ -31,6 +30,8 @@ public domain.
* ANSI compliance fixes:
* Bug fixes:
* Gitlab tickets:
* ~~#48~~ Update RNG from MT19937 to xoroshiro128+
* ~~#45~~ Handling of relative paths in `EXT:RUN-PROGRAM`
* ~~#50~~ CLX (Hemlock) fails to run.
* ~~#49~~ CLM crashes
* ~~#47~~ Backquate and multiple splices
......@@ -40,6 +41,7 @@ public domain.
* ~~#61~~ Segfault when compiling call to `ARRAY-HAS-FILL-POINTER-P` on bit vector constant
* ~~#62~~ Segfault when compiling `ARRAY-DISPLACEMENT` on a string constant
* ~~#69~~ GC assertions compiled in and allow user to enable them.
* ~~#71~~ More info for `MACHINE-TYPE` and `MACHINE-VERSION` for x86
* Other changes:
* Improvements to the PCL implementation of CLOS:
* Changes to building procedure:
......