#!/bin/csh # # build-prelude -- recompile the prelude, saving the old one as old-prelude.* # # cd $Y2 setenv PRELUDEBIN $Y2/progs/prelude/akcl rm $PRELUDEBIN/old* if (-e $PRELUDEBIN/Prelude.o) then foreach i ($PRELUDEBIN/Prelude*.{o,scm}) mv $i $PRELUDEBIN/old-$i:t end endif $AKCL <<EOF ;; Need a big heap to compile the prelude. ;(setf ext:*bytes-consed-between-gcs* 10000000) ;; If you want to recompile ;; everything from scratch, execute the "clean" script first, or ;; else use the "compile" script to do this. (proclaim '(optimize (speed 3) (safety 0) (compilation-speed 0))) (make-package "MUMBLE-IMPLEMENTATION" :use '("LISP")) (load "cl-support/cl-init.lisp") ;; Use the same compiler settings for processing the prelude. (in-package :mumble-user) (setf *printers* '(phase-time dump-stat)) (setf *optimizers* *all-optimizers*) ;; The compiler barfs while compiling the interface file for the prelude, ;; so set the flag for writing it as a source file. ;; Also have it break up the prelude code file into many small pieces ;; to avoid overwhelming the C compiler. (setf *code-chunk-size* 100) (setf *compile-interface* '#f) (compile/compile *prelude-unit-filename*) (lisp:bye) EOF