Commit d9b73849 authored by rtoy's avatar rtoy
Browse files

Add -unidata option to specify unidata.bin file.

This change requires a cross-compile.  Use boot-2011-04-01-cross.lisp
as the cross-compile script.

bootfiles/20b/boot-2011-04-01-cross.lisp:
o New cross-compile bootstrap file

lisp/lisp.c:
o Recognize -unidata option and setup *UNIDATA-PATH* appropriately.

code/commandline.lisp:
o Add defswitch for unidata so we don't get complaints about unknown
  switch.

code/unidata.lisp:
o Rename +UNIDATA-PATH+ to *UNIDATA-PATH*, since it's not a constant
  anymore.
o Update code to use new name.

code/print.lisp:
o Update code to use *UNIDATA-PATH*

compiler/sparc/parms.lisp:
o Add *UNIDATA-PATH* to list of static symbols.
o Add back in spare-9 and spare-8 static symbols since we need to do a
  cross-compile for this change anyway.

compiler/x86/parms.lisp:
o Add *UNIDATA-PATH* to list of static symbols.
o Reorder the static symbols in a more logical arrangment so that the
  spare symbols are at the end.

i18n/local/cmucl.pot:
o Update
parent a91040c9
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
;; Add -unidata command line option to allow user to tell cmucl where
;; the unidata.bin file is.
;;
;; To build 2011-06, you need to do a cross-compile.  Use this as the
;; cross-compile bootstrap file.

#+x86
(load "target:tools/cross-scripts/cross-x86-x86.lisp")

#+sparc
(load "target:tools/cross-scripts/cross-sparc-sparc.lisp")
+5 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/commandline.lisp,v 1.26 2010/11/02 18:30:04 rtoy Exp $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/commandline.lisp,v 1.27 2011/05/31 13:26:40 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -301,6 +301,10 @@
  "Enables printing of messages indication how CMUCL is searching for
  its default core file.")

(defswitch "unidata" nil
  "Specify the unidata.bin file to be used."
  "filename")

#+x86
(intl:with-textdomain ("cmucl" "cmucl-x86-vm")
(defswitch "fpu" nil
+3 −3
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/print.lisp,v 1.131 2010/04/20 17:57:45 rtoy Rel $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/print.lisp,v 1.132 2011/05/31 13:26:40 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -2164,9 +2164,9 @@ radix-R. If you have a power-list then pass it in as PL."
;;; is initialized.
#+unicode
(defun reinit-char-attributes ()
  (unless (probe-file +unidata-path+)
  (unless (probe-file *unidata-path*)
    (cerror _"Continue anyway" _"Cannot find ~S, so unicode support is not available"
	    +unidata-path+)
	    *unidata-path*)
    (return-from reinit-char-attributes nil))
  (flet ((set-bit (char bit)
	   (let ((code (char-code char)))
+4 −4
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
;;; This code was written by Paul Foley and has been placed in the public
;;; domain.
;;; 
(ext:file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/unidata.lisp,v 1.25 2011/04/02 20:11:31 rtoy Exp $")
(ext:file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/unidata.lisp,v 1.26 2011/05/31 13:26:40 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -16,9 +16,9 @@
(export '(string-to-nfd string-to-nfkc string-to-nfkd string-to-nfc
	  unicode-complete unicode-complete-name))

(defconstant +unidata-path+ #p"ext-formats:unidata.bin")
(defvar *unidata-path* "ext-formats:unidata.bin")

(defvar *unidata-version* "$Revision: 1.25 $")
(defvar *unidata-version* "$Revision: 1.26 $")

(defstruct unidata
  range
@@ -495,7 +495,7 @@
		  (read-vector lvec stm :endian-swap :network-order)
		  (values split hvec mvec lvec))))
       (declare (ignorable #'read16 #'read32 #'read-ntrie))
       (with-open-file (,stm +unidata-path+ :direction :input
       (with-open-file (,stm *unidata-path* :direction :input
			     :element-type '(unsigned-byte 8))
	 (unless (unidata-locate ,stm ,locn)
	   (error (intl:gettext "No data in file.")))
+5 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/parms.lisp,v 1.62 2010/12/04 17:32:34 rtoy Exp $")
  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/parms.lisp,v 1.63 2011/05/31 13:26:40 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -346,9 +346,13 @@
    *fp-constant-0d0*
    *fp-constant-0f0*

    lisp::*unidata-path*
    
    ;; Some spare static symbols.  Useful for adding another static
    ;; symbol without having to do a cross-compile.  Just rename one
    ;; of these to the desired name.
    spare-9
    spare-8
    spare-7
    spare-6
    spare-5
Loading