(sb-ext:disable-debugger) (setf asdf:*central-registry* (list (car asdf:*central-registry*))) (asdf:operate 'asdf:load-op :mcclim) (asdf:operate 'asdf:load-op :clim-examples) (asdf:operate 'asdf:load-op :clim-listener) (load (compile-file "/opt/steeldump/src/gsharp/bezier.lisp")) (defmethod sb-heapdump:dump-system ((c (eql (asdf:find-system :mcclim)))) (let ((packages (mapcar #'find-package '("IMAGE" "CLIM-CLX" "CLIM-XCOMMON" "CLIM-POSTSCRIPT" "CLIM-FFI" "GOATEE" "CLIM-USER" "CLIM-DEMO" "CLIM-INTERNALS" "CLIM-BACKEND" "CLIM-EXTENSIONS" "CLIM-SYS" "CLIM" "CLIM-LISP" "CLIM-MOP" "CLIM-LISP-PATCH" "CLIM-NULL" "MENUTEST" "CLIM-LISTENER" "CLIM-TRANSFORMATIONS-TEST")))) (sb-heapdump:dump-packages packages "mcclim.heap" :if-exists :rename-and-delete ;; Pfui, dagegen ist CLX ja noch brav und benutzt einen Indicator ;; aus seinem eigenen Paket. :initializer (let* ((ports climi::*server-path-search-order*) (types (loop for port in ports collect (get port :port-type))) (parsers (loop for port in ports collect (get port :server-path-parser)))) (lambda (x) (loop for port in ports for type in types for parser in parsers do (setf (get port :port-type) type) (setf (get port :server-path-parser) parser)) (pushnew :clim *features*) (pushnew :mcclim *features*) x)) :systems '(:mcclim :clim :clim-lisp :clim-core :goatee-core :clim-postscript :clim-clx :clim-opengl ;; :clim-objc-support :clim-beagle :clim-null :clim-looks :clim-clx-user :clim-examples :scigraph :clim-listener) :system-packages '(:mcclim.system)))) (let ((*default-pathname-defaults* (truename (sb-ext:posix-getenv "SBCL_HOME")))) (sb-heapdump:dump-system :mcclim)) (sb-ext:quit)