diff --git a/bundle.lisp b/bundle.lisp index 353fd6ab2613a8bd57dfcef29bdeccf2cfc41fd2..6ca9402456f4dc4bf502bcfb028401598078e0e1 100644 --- a/bundle.lisp +++ b/bundle.lisp @@ -115,7 +115,7 @@ ((or null string) bundle-type) ((eql :fasl) #-(or ecl mkcl) (compile-file-type) #+(or ecl mkcl) "fasb") #+ecl - ((member :binary :dll :lib :static-library :program :object) + ((member :binary :dll :lib :static-library :program :object :program) (compile-file-type :type bundle-type)) ((eql :binary) "image") ((eql :dll) (cond ((os-unix-p) "so") ((os-windows-p) "dll"))) @@ -216,8 +216,8 @@ (defun* bundlable-file-p (pathname) (let ((type (pathname-type pathname))) (declare (ignorable type)) - (or #+ecl (or (equal type (compile-file-type :object)) - (equal type (compile-file-type :static-library))) + (or #+ecl (or (equal type (compile-file-type :type :object)) + (equal type (compile-file-type :type :static-library))) #+mkcl (equal type (compile-file-type :fasl-p nil)) #+(or allegro clisp clozure cmu lispworks sbcl scl xcl) (equal type (compile-file-type))))) @@ -482,10 +482,13 @@ #+ecl (defmethod perform ((o bundle-op) (c system)) - (let* ((object-files (remove "fas" (input-files o c) - :key #'pathname-type :test #'string=)) - (output (output-files o c))) - (apply #'c::builder (bundle-type o) (first output) + (let* ((object-files (input-files o c)) + (output (output-files o c)) + (bundle (first output)) + (kind (bundle-type o)) + (init-name (c::compute-init-name bundle :kind kind))) + (apply #'c::builder kind (first output) + :init-name init-name :lisp-files (append object-files (bundle-op-lisp-files o)) (append (bundle-op-build-args o) (when (typep o 'program-op) diff --git a/generate-asdf.asd b/generate-asdf.asd index 48d47fa2214fda3f6e92a0a8461607ebfe80c66e..c4b593aa8ee3dd5834ad33d11ef9a2d5fc2ea079 100644 --- a/generate-asdf.asd +++ b/generate-asdf.asd @@ -8,7 +8,7 @@ :class :concatenated-source-system ;; :include-dependencies t :translate-output-p nil - :concatenated-source-file "build/asdf.lisp" + :concatenated-source-file "build/asdf" :version (:read-file-form "version.lisp-expr") :serial t :depends-on (:asdf-driver) diff --git a/test/make-hello-world.lisp b/test/make-hello-world.lisp index f9e0c1d32864b2ad2708ddd10608827dccb2b944..68956513bbea0253c21c4c9d74f37fcd6de69231 100644 --- a/test/make-hello-world.lisp +++ b/test/make-hello-world.lisp @@ -1,6 +1,8 @@ ;;; -*- Lisp -*- (load "script-support.lisp") (load-asdf) +#+ecl (require :cmp) (with-test () + (register-directory *asdf-directory*) ;; we need asdf-driver, and ECL can dump. (operate 'program-op :hello-world-example)) diff --git a/test/script-support.lisp b/test/script-support.lisp index 9c807e99ee11de05bd7d1247be987f675b2c0d8d..4e0df0a88c894e08bacecbb0072cd9ed1421f6de 100644 --- a/test/script-support.lisp +++ b/test/script-support.lisp @@ -258,8 +258,8 @@ is bound, write a message and exit on an error. If ((or sb-c::simple-compiler-note sb-kernel:redefinition-warning) #'muffle-warning) #+(and ecl (not ecl-bytecmp)) - ((or c:compiler-note c::compiler-debug-note - c:compiler-warning) ;; ECL emits more serious warnings than it should. + ((or c::compiler-note c::compiler-debug-note + c::compiler-warning) ;; ECL emits more serious warnings than it should. #'muffle-warning) #+mkcl ((or compiler:compiler-note) #'muffle-warning)