Update domain name to kpe.io
[vcs-tree.git] / vcs-tree.asd
index fb73cc8a4767387c89c87a8a17ada906f5e42075..f192bf7dc12c03e46da41c64874284fd24fdc8f1 100644 (file)
@@ -2,44 +2,39 @@
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
-;;;; Name:          vcs-tree.asd
-;;;; Purpose:       ASDF file for vcs-tree to create executable
-;;;; Programmer:    Kevin M. Rosenberg
-;;;; Date Started:  Sep 2003
+;;;; Name:    vcs-tree.asd
+;;;; Purpose: ASDF file for vcs-tree to create executable
+;;;; Author:  Kevin M. Rosenberg
+;;;; Created: Sep 2003
 ;;;;
 ;;;; $Id$
 ;;;; *************************************************************************
 
 (in-package cl-user)
-(defpackage vcs-tree-system (:use #:cl #:asdf))
+(defpackage vcs-tree-system
+  (:use #:cl #:asdf)
+  (:export save-executable))
 (in-package vcs-tree-system)
 
-(require 'sb-executable)
-
-;;; From asdf-install.asd
-(defclass exe-file (cl-source-file) ())
-(defmethod perform :after ((o compile-op) (c exe-file))
-  (sb-executable:make-executable
-   (make-pathname :name "vcs-tree"
-                 :type nil
-                 :defaults (component-pathname c))
-   '("package.fasl" "kmrcl-excerpt.fasl" "getopt-excerpt.fasl" "main.fasl"
-     "loader.fasl")
-   :initial-function "RUN"))
-
-(defmethod perform ((o load-op) (c exe-file)) nil)
+(defun save-executable (&optional (fname "_vcs-tree"))
+  (setq cl:*print-pretty* nil)
+  (sb-ext:save-lisp-and-die
+   fname
+   :executable t
+   :toplevel (lambda ()
+               (handler-case
+                   (funcall (intern (symbol-name '#:main)
+                                    (find-package (symbol-name '#:vcs-tree)))
+                            (list* "vcs-tree" (cdr sb-ext:*posix-argv*)))
+                 (error (c)
+                   (format *error-output* "vcs-tree failed due to error:~%  ~A~%" c)
+                   (sb-ext:quit :unix-status 1)))
+               (sb-ext:quit :unix-status 0))))
 
 (defsystem vcs-tree
-  :version "0.1"
+  :version "0.3"
   :components ((:file "package")
-              (:exe-file "loader" :depends-on ("main"))
               (:file "kmrcl-excerpt" :depends-on ("package"))
               (:file "getopt-excerpt" :depends-on ("package"))
               (:file "main" :depends-on ("kmrcl-excerpt" "getopt-excerpt"))))
-              
-(defmethod perform :after ((o load-op) (c (eql (find-system :vcs-tree))))
-  (provide 'vcs-tree))
-
-(defmethod perform ((o test-op) (c (eql (find-system :vcs-tree))))
-  t)