From df5578be2b2cc170c336069a6894ede8d5946d22 Mon Sep 17 00:00:00 2001 From: SANO Masatoshi Date: Fri, 13 Mar 2015 07:29:20 +0900 Subject: [PATCH] support 'ros dump executable' for ccl --- src/lisp/dump.ros | 12 ++++++++++-- src/lisp/init.lisp | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/lisp/dump.ros b/src/lisp/dump.ros index 5a255a0..0cd7be6 100644 --- a/src/lisp/dump.ros +++ b/src/lisp/dump.ros @@ -83,14 +83,22 @@ exec ros -- $0 "$@" #'(lambda () (setf ros:*argv* (rest sb-ext:*posix-argv*)) (ros:run cmds)) - :executable t)) + :executable t) + #+ccl + (ccl:save-application + (first params) + :toplevel-function + #'(lambda () + (setf ros:*argv* (rest (ccl::command-line-arguments))) + (ros:run cmds)) + :prepend-kernel t)) (format t "ros dump executable help~%"))) (defvar *subcmds* '(("list" "List images" dump-list) ("output" "Create dump" dump-output) ("rm" "delete image" dump-rm) - #+sbcl("executable" "Create executable" dump-executable))) + #+(or sbcl ccl)("executable" "Create executable" dump-executable))) (defun main (subcmd cmd &rest r) (cond ((and (equal subcmd "main") r) diff --git a/src/lisp/init.lisp b/src/lisp/init.lisp index 6fa1316..38a0868 100644 --- a/src/lisp/init.lisp +++ b/src/lisp/init.lisp @@ -133,7 +133,9 @@ (with-open-file (in arg) (let ((line(read-line in))) (push :ros.script *features*) - (cl:load (make-concatenated-stream + (funcall #+sbcl 'cl:load + #-sbcl 'asdf::eval-input + (make-concatenated-stream (make-string-input-stream (format nil "(cl:setf cl:*load-pathname* ~S cl:*load-truename* (truename cl:*load-pathname*))~A" (merge-pathnames (make-pathname :defaults arg)) (if (equal (subseq line 0 (min (length line) 2)) "#!")