Debug the LispWorks port of asdf-bundle. Yay.
authorFrancois-Rene Rideau <tunes@google.com>
Fri, 30 Nov 2012 03:47:25 +0000 (22:47 -0500)
committerFrancois-Rene Rideau <tunes@google.com>
Fri, 30 Nov 2012 03:47:25 +0000 (22:47 -0500)
asdf-bundle.asd
asdf-bundle.lisp

index 5427b9f..2d11cbd 100644 (file)
@@ -1,8 +1,8 @@
 ;;; -*- Mode: Lisp ; Syntax: ANSI-Common-Lisp -*-
-;;; ASDF-Bundle, extension to ASDF to build "bundles",
+;;; ASDF-Bundle, an extension to ASDF to build "bundles",
 ;;; such as one big fasl or DLL for an entire system, or an executable.
 ;;;
-;;; Based on the asdf-ecl extension
+;;; Initially based on the asdf-ecl extension
 ;;; by Michael Goffioul and Juan Jose Garcia Ripoll.
 ;;;
 ;;; Free Software available under an MIT-style license.
@@ -11,8 +11,8 @@
 ;;; Copyright (c) 2012 - 2012, Francois-Rene Rideau
 ;;;
 ;;; Currently works on
-;;; Allegro, Clozure CL, CMUCL, ECL, GNU CLISP, SBCL,
-;;; we think SCL (untested), maybe LispWorks (untested), MKCL (untested).
+;;; Allegro, Clozure CL, CMUCL, ECL, GNU CLISP, LispWorks, SBCL,
+;;; we think SCL (untested), maybe MKCL (untested).
 ;;; For ABCL, see the abcl-jar contrib instead.
 
 (defsystem :asdf-bundle
index a9e3c7f..ef0bb64 100644 (file)
@@ -437,17 +437,18 @@ using WRITE-SEQUENCE and a sensibly sized buffer." ; copied from xcvb-driver
            (loop :for i :in inputs
                  :for n :from 1
                  :for f = (add-pathname-suffix
-                           output (format nil "ASDF-TMP-~D" n))
+                           output (format nil "-FASL~D" n))
                  :do (lispworks:copy-file i f)
                      (push f fasls))
+           (ignore-errors (lispworks:delete-system :fasls-to-concatenate))
            (eval `(scm:defsystem :fasls-to-concatenate
-                    (:default-pathname ,(pathname-directory-pathname output)
-                     :load-only t)
+                    (:default-pathname ,(pathname-directory-pathname output))
                     :members
                     ,(loop :for f :in (reverse fasls)
-                           :collect `(,f :load-only t))))
+                           :collect `(,(namestring f) :load-only t))))
            (scm:concatenate-system output :fasls-to-concatenate))
-      (loop :for f :in fasls :do (delete-file f)))))
+      (loop :for f :in fasls :do (ignore-errors (delete-file f)))
+      (ignore-errors (lispworks:delete-system :fasls-to-concatenate)))))
 
 (defun call-with-staging-pathname (pathname fun)
   "Calls fun with a staging pathname, and atomically