Commit d543ff4c authored by Christophe Rhodes's avatar Christophe Rhodes
Browse files

0.8.4.38:

	Solaris fixes (from Nikodemus Siivola sbcl-devel 2003-10-22)
	... sh(1) apparently doesn't like $(foo).  Make it `foo`.
	... allow building from cmucl/sparc, by suppressing underflow
		traps
	... /dev/random doesn't exist.  /dev/zero better had, though
parent bd312c14
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -181,7 +181,7 @@ elif [ "$sbcl_arch" = "ppc" -a "$sbcl_os" = "linux" ]; then
elif [ "$sbcl_arch" = "ppc" -a "$sbcl_os" = "darwin" ]; then
    # The default stack ulimit under darwin is too small to run PURIFY.
    # Best we can do is complain and exit at this stage
    if [ $(ulimit -s) = "512" ]; then
    if [ "`ulimit -s`" = "512" ]; then
        echo "Your stack size limit is too small to build SBCL."
        echo "See the limit(1) or ulimit(1) commands and the README file."
        exit 1
+6 −31
Original line number Diff line number Diff line
@@ -13,37 +13,8 @@
;;;; CLISP issues

#+clisp
(locally

  (in-package "COMMON-LISP")

  ;; no longer needed in CLISP 1999-01-08, hurrah!
  #|
  ;; ANSI specifies that package LISP defines the type BOOLEAN, and the CMU CL
  ;; compiler uses it a lot. This should be trivial to patch in CLISP, except
  ;; that CLISP defines FFI:BOOLEAN, which conflicts. Gads.. Here we try to fix
  ;; it with some package hacking. (Please do not take this as an example of
  ;; good package hacking, I just messed with it until it seemed to work well
  ;; enough to bootstrap CMU CL, because I'm highly unmotivated to make elegant
  ;; fixes for nonstandard behavior. -- WHN)
  (shadow 'ffi:boolean "FFI")
  (deftype cl::boolean () '(member t nil))
  (export 'boolean "LISP")
  |#

  ;; apparently fixed sometime in 2001, hurray!
  #| (error "can't use CLISP -- no MAKE-LOAD-FORM") |#

  ;; CLISP is still unsupported as a cross-compilation host because of
  ;; these known problems:
  (flet ((clisp-ouch (s) (error "can't bootstrap with CLISP: ~A" s)))
    ;; These problems don't seem deep, and could probably be worked
    ;; around.
    #+nil (clisp-ouch "no (DOCUMENTATION X) when X is a PACKAGE")
    #+nil (clisp-ouch "no (FUNCTION (SETF SYMBOL-FUNCTION))"))
  
(ext:without-package-lock ("SYSTEM")
    (setf system::*inhibit-floating-point-underflow* t)))
  (setf system::*inhibit-floating-point-underflow* t))

;;;; CMU CL issues

@@ -79,6 +50,10 @@
(unless (ignore-errors (read-from-string "1.0l0"))
  (error "CMUCL on Alpha can't read floats in the format \"1.0l0\".  Patch your core file~%~%"))

#+(and cmu sparc)
(ext:set-floating-point-modes :traps '(:overflow :invalid :divide-by-zero))

;;;; OpenMCL issues
#+openmcl 
(unless (ignore-errors (funcall (constantly t) 1 2 3)) 
  (error "please find a binary that understands CONSTANTLY to build from"))
+1 −1
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@

(assert (raises-error? (read-byte (make-string-input-stream "abc"))
		       type-error))
(assert (raises-error? (with-open-file (s "/dev/random")
(assert (raises-error? (with-open-file (s "/dev/zero")
			 (read-byte s))
		       type-error))
;;; success
+1 −1
Original line number Diff line number Diff line
@@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"0.8.4.37"
"0.8.4.38"