In order for these commands to generate a fasl per ASDF system, I had to apply the patch below to ASDF.
The commands above work with current trunk (r14460) and produces 2 concatenated fasls in my cache directory: 1 for alexandria and 1 for bordeaux-threads.
diff --git a/bundle.lisp b/bundle.lisp
index 568f894..24fbf90 100644
--- a/bundle.lisp
+++ b/bundle.lisp
@@ -185,7 +185,7 @@
(or #+ecl (or (equalp type (compile-file-type :type :object))
(equalp type (compile-file-type :type :static-library)))
#+mkcl (equalp type (compile-file-type :fasl-p nil))
- #+(or allegro clisp clozure cmu lispworks sbcl scl xcl) (equalp type (compile-file-type)))))
+ #+(or abcl allegro clisp clozure cmu lispworks sbcl scl xcl) (equalp type (compile-file-type)))))
(defgeneric* (trivial-system-p) (component))
diff --git a/uiop/lisp-build.lisp b/uiop/lisp-build.lisp
index e2e376d..4b7e819 100644
--- a/uiop/lisp-build.lisp
+++ b/uiop/lisp-build.lisp
@@ -669,11 +669,12 @@ it will filter them appropriately."
;;; Links FASLs together
(with-upgradability ()
(defun combine-fasls (inputs output)
- #-(or allegro clisp clozure cmu lispworks sbcl scl xcl)
+ #-(or abcl allegro clisp clozure cmu lispworks sbcl scl xcl)
(error "~A does not support ~S~%inputs ~S~%output ~S"
(implementation-type) 'combine-fasls inputs output)
#+clozure (ccl:fasl-concatenate output inputs :if-exists :supersede)
#+(or allegro clisp cmu sbcl scl xcl) (concatenate-files inputs output)
+ #+abcl (sys:concatenate-fasls inputs output)
#+lispworks
(let (fasls)
(unwind-protect