;; This file is designed to start nq on the Suns using xwindows. (in-package "USER") ;;; ;;; The next line had to be added because Allegro 4.2 does ;;; not include cltl2 on the features list like earlier versions ;;; of allegro did. A number of read-time conditionals in the ;;; code expects this. #+:allegro-v4.2 (push :cltl2 *features*) ;;;#+:allegro-v4.3.1 (push :cltl2 *features*) #+:allegro-v5.0 (push :cltl2 *features*) ;;; This file contains code used to load QSIM on either ;;; a unix machine or on the Mac. The code for these ;;; versions are different. #+:unix (defvar *qsim-root* "/u/qr" "Root directory for Qsim files") ; FOR INSTALLATION, CHANGE THIS VARIABLE. #+:ccl (progn (defparameter *lisp-root* (format nil "hd:ccl")) (defvar *qsim-root* (format nil "~a:qsim" *lisp-root*))) ;;; ;;; The special variable *no-bin-dir* is used to deactivate the ;;; storage of binary files and source files in different ;;; directories. If this variable is declared and set to T, the ;;; binary files will be stored in the same directory as the source ;;; files. ;;; This feature is intended for installations where QSIM will be run ;;; on a single platform using a single lisp. ;;(defparameter *no-bin-dirs* t) #+:unix ;;; LOAD the LOGICAL-PATHNAME and DEFSYSTEM facilities (let (#+:allegro (*enable-package-locked-errors* nil)) ;;; LOAD the LOGICAL-PATHNAME and DEFSYSTEM facilities #+:allegro (setq excl:*cltl1-in-package-compatibility-p* t) #-:(or allegro-v4.3 allegro-v4.3.1 allegro-v5.0) (load (format nil "~a/c-lisp/logical-pathnames.lisp" *qsim-root*)) (load (format nil "~a/c-lisp/defsystem.lisp" *qsim-root*)) (load (format nil "~a/c-lisp/defsystem-patches.lisp" *qsim-root*))) #+:lucid (defun compile-qsim (&key (force :new-source-and-dependents) (verbose nil)) (with-deferred-warnings (operate-on-system 'nq 'compile :verbose verbose :force force))) #+:allegro (defun compile-qsim (&key (force :new-source-and-dependents) (verbose nil)) (let ((lisp:*compile-print* nil)) (handler-bind ((excl:compiler-undefined-functions-called-warning #'(lambda (c) (declare (ignore c)) (muffle-warning)))) (setq comp::*cltl1-compile-file-toplevel-compatibility-p* t) (setq excl::*enable-package-locked-errors* nil) (operate-on-system 'nq 'compile :verbose verbose :force force)))) #-(or :allegro :lucid) (defun compile-qsim (&key (force :new-source-and-dependents) (verbose nil)) (operate-on-system 'nq 'compile :verbose verbose :force force)) #+:unix (let (#+:allegro(excl::*enable-package-locked-errors* nil)) (setq mk::*central-registry* (format nil "~a/sys-site/" *qsim-root*)) (format t "~%~%") (defvar user::*qsim-pos-options* '((pos-display-choice :x-windows))) (cond ((mk::y-or-n-p-wait #\y 15 "Load QSIM? [yn] ") (format t "~%LOADING QSIM...") (operate-on-system 'nq 'load :load-source-if-no-binary t)) ((mk::y-or-n-p-wait #\n 30 "Compile QSIM [ny] ") (format t "~%COMPILING QSIM...") (compile-qsim)))) (defparameter qsim::*cover-page-shown* t) (defparameter qsim::*cover-page-file* nil) (chdir) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; MACINTOSH CODE ;;; #+:ccl (progn (load (format nil "~a:Library:QuickDraw.lisp" *lisp-root*)) (load (format nil "~a:c-lisp:new-defsystem.lisp" *qsim-root*))) #+:ccl (defun compile-qsim (&key (verbose nil) (force :new-source-and-dependents)) (let ((*warn-if-redefine-kernel* nil)) (cond ((equal force :all) (format t "~%Compiling all of the QSIM files ")) ((equal force :new-source-and-dependents) (format t "~%Compiling modified QSIM files "))) (operate-on-system 'nq 'compile :verbose verbose :force :force))) #+:ccl (progn (setf mk::*central-registry* (format nil "~a:sys-site:" *qsim-root*)) (let ((*warn-if-redefine-kernel* nil)) (operate-on-system 'nq 'load :verbose t :load-source-if-no-binary t)))