Loading asdf-ecl.lisp +16 −2 Original line number Diff line number Diff line ;;; Copyright (c) 2005-2011 Michael Goffioul (michael dot goffioul at swing dot be) ;;; Copyright (c) 2005 - 2007, Michael Goffioul (michael dot goffioul at swing dot be) ;;; Copyright (c) 2008, Juan Jose Garcia Ripoll ;;; ;;; This program is free software; you can redistribute it and/or ;;; modify it under the terms of the GNU Library General Public Loading @@ -13,6 +14,15 @@ (in-package :asdf) ;;; ;;; COMPILE-OP / LOAD-OP (in asdf.lisp) ;;; ;;; In ECL, these operations produce both FASL files and the ;;; object files that they are built from. Having both of them allows ;;; us to later on reuse the object files for bundles, libraries, ;;; standalone executables, etc. ;;; ;;; ;;; BUNDLE-OP ;;; Loading Loading @@ -72,6 +82,11 @@ (remove-keys '(type monolithic name-suffix) (slot-value instance 'original-initargs)))) (defmethod bundle-op-build-args :around ((op lib-op)) (let ((args (call-next-method))) (remf args :ld-flags) args)) (defvar *force-load-p* nil) (defmethod operation-done-p :around ((operation load-op) c) Loading Loading @@ -413,7 +428,6 @@ (and (first l) (register-pre-built-system name)) (values-list l))))) #+win32 (push '("asd" . si::load-source) si::*load-hooks*) (pushnew 'module-provide-asdf si:*module-provider-functions*) (pushnew (translate-logical-pathname "SYS:") *central-registry*) (provide :asdf) asdf.lisp +29 −15 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ (setf excl::*autoload-package-name-alist* (remove "asdf" excl::*autoload-package-name-alist* :test 'equalp :key 'car)) ; need that BEFORE any mention of package ASDF as below #+(and ecl (not ecl-bytecmp)) (require :cmp) #+ecl (unless (member :ecl-bytecmp *features*) (require :cmp)) #+gcl ;; Debian's GCL 2.7 has bugs with compiling multiple-value stuff, but can run ASDF 2.011 (when (or (< system::*gcl-major-version* 2) ;; GCL 2.6 fails to fully compile ASDF at all (and (= system::*gcl-major-version* 2) Loading Loading @@ -298,6 +298,7 @@ #:*compile-file-warnings-behaviour* #:*compile-file-failure-behaviour* #:*resolve-symlinks* #:*require-asdf-operator* #:*asdf-verbose* #:asdf-version Loading Loading @@ -4121,8 +4122,9 @@ with a different configuration, so the configuration would be re-read then." #+ecl (progn (setf *compile-op-compile-file-function* (lambda (input-file &rest keys &key output-file &allow-other-keys) (declare (ignore output-file)) (lambda (input-file &rest keys &key &allow-other-keys) (if (use-ecl-byte-compiler-p) (apply 'compile-file input-file keys) (multiple-value-bind (object-file flags1 flags2) (apply 'compile-file* input-file :system-p t keys) (values (and object-file Loading @@ -4130,13 +4132,15 @@ with a different configuration, so the configuration would be re-read then." :lisp-files (list object-file)) object-file) flags1 flags2)))) flags2))))) (defmethod output-files ((operation compile-op) (c cl-source-file)) (declare (ignorable operation)) (let ((p (lispize-pathname (component-pathname c)))) (list (compile-file-pathname p :type :object) (compile-file-pathname p :type :fasl)))) (let* ((p (lispize-pathname (component-pathname c))) (f (compile-file-pathname p :type :fasl))) (if (use-ecl-byte-compiler-p) (list f) (list (compile-file-pathname p :type :object) f)))) (defmethod perform ((o load-op) (c cl-source-file)) (map () #'load Loading @@ -4144,6 +4148,16 @@ with a different configuration, so the configuration would be re-read then." :unless (string= (pathname-type i) "fas") :collect (compile-file-pathname (lispize-pathname i)))))) ;;;--------------------------------------------------------------------------- ;;; ECL logic for switching between conventional and byte compiling ;;;--------------------------------------------------------------------------- #+ecl (defun use-ecl-byte-compiler-p () (member :ecl-bytecmp *features*)) #-ecl (defun use-ecl-byte-compiler-p () nil) ;;;; ----------------------------------------------------------------- ;;;; Hook into REQUIRE for ABCL, CLISP, ClozureCL, CMUCL, ECL and SBCL ;;;; Loading Loading
asdf-ecl.lisp +16 −2 Original line number Diff line number Diff line ;;; Copyright (c) 2005-2011 Michael Goffioul (michael dot goffioul at swing dot be) ;;; Copyright (c) 2005 - 2007, Michael Goffioul (michael dot goffioul at swing dot be) ;;; Copyright (c) 2008, Juan Jose Garcia Ripoll ;;; ;;; This program is free software; you can redistribute it and/or ;;; modify it under the terms of the GNU Library General Public Loading @@ -13,6 +14,15 @@ (in-package :asdf) ;;; ;;; COMPILE-OP / LOAD-OP (in asdf.lisp) ;;; ;;; In ECL, these operations produce both FASL files and the ;;; object files that they are built from. Having both of them allows ;;; us to later on reuse the object files for bundles, libraries, ;;; standalone executables, etc. ;;; ;;; ;;; BUNDLE-OP ;;; Loading Loading @@ -72,6 +82,11 @@ (remove-keys '(type monolithic name-suffix) (slot-value instance 'original-initargs)))) (defmethod bundle-op-build-args :around ((op lib-op)) (let ((args (call-next-method))) (remf args :ld-flags) args)) (defvar *force-load-p* nil) (defmethod operation-done-p :around ((operation load-op) c) Loading Loading @@ -413,7 +428,6 @@ (and (first l) (register-pre-built-system name)) (values-list l))))) #+win32 (push '("asd" . si::load-source) si::*load-hooks*) (pushnew 'module-provide-asdf si:*module-provider-functions*) (pushnew (translate-logical-pathname "SYS:") *central-registry*) (provide :asdf)
asdf.lisp +29 −15 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ (setf excl::*autoload-package-name-alist* (remove "asdf" excl::*autoload-package-name-alist* :test 'equalp :key 'car)) ; need that BEFORE any mention of package ASDF as below #+(and ecl (not ecl-bytecmp)) (require :cmp) #+ecl (unless (member :ecl-bytecmp *features*) (require :cmp)) #+gcl ;; Debian's GCL 2.7 has bugs with compiling multiple-value stuff, but can run ASDF 2.011 (when (or (< system::*gcl-major-version* 2) ;; GCL 2.6 fails to fully compile ASDF at all (and (= system::*gcl-major-version* 2) Loading Loading @@ -298,6 +298,7 @@ #:*compile-file-warnings-behaviour* #:*compile-file-failure-behaviour* #:*resolve-symlinks* #:*require-asdf-operator* #:*asdf-verbose* #:asdf-version Loading Loading @@ -4121,8 +4122,9 @@ with a different configuration, so the configuration would be re-read then." #+ecl (progn (setf *compile-op-compile-file-function* (lambda (input-file &rest keys &key output-file &allow-other-keys) (declare (ignore output-file)) (lambda (input-file &rest keys &key &allow-other-keys) (if (use-ecl-byte-compiler-p) (apply 'compile-file input-file keys) (multiple-value-bind (object-file flags1 flags2) (apply 'compile-file* input-file :system-p t keys) (values (and object-file Loading @@ -4130,13 +4132,15 @@ with a different configuration, so the configuration would be re-read then." :lisp-files (list object-file)) object-file) flags1 flags2)))) flags2))))) (defmethod output-files ((operation compile-op) (c cl-source-file)) (declare (ignorable operation)) (let ((p (lispize-pathname (component-pathname c)))) (list (compile-file-pathname p :type :object) (compile-file-pathname p :type :fasl)))) (let* ((p (lispize-pathname (component-pathname c))) (f (compile-file-pathname p :type :fasl))) (if (use-ecl-byte-compiler-p) (list f) (list (compile-file-pathname p :type :object) f)))) (defmethod perform ((o load-op) (c cl-source-file)) (map () #'load Loading @@ -4144,6 +4148,16 @@ with a different configuration, so the configuration would be re-read then." :unless (string= (pathname-type i) "fas") :collect (compile-file-pathname (lispize-pathname i)))))) ;;;--------------------------------------------------------------------------- ;;; ECL logic for switching between conventional and byte compiling ;;;--------------------------------------------------------------------------- #+ecl (defun use-ecl-byte-compiler-p () (member :ecl-bytecmp *features*)) #-ecl (defun use-ecl-byte-compiler-p () nil) ;;;; ----------------------------------------------------------------- ;;;; Hook into REQUIRE for ABCL, CLISP, ClozureCL, CMUCL, ECL and SBCL ;;;; Loading