Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
cmucl
cmucl
Commits
4ac29cb6
Commit
4ac29cb6
authored
Oct 22, 2011
by
Raymond Toy
Browse files
Bump version to 20c, add bootstrap file.
A normal build can be done using boot-20c.lisp.
parent
d6a6792b
Changes
2
Hide whitespace changes
Inline
Side-by-side
bootfiles/20b/boot-20c.lisp
0 → 100644
View file @
4ac29cb6
;;;;
;;;; 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
))
compiler/byte-comp.lisp
View file @
4ac29cb6
...
...
@@ -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
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment