Incorporate an ASDF2 snapshot as the base ASDF.

parent 0293673b
This source diff could not be displayed because it is too large. You can view the blob instead.
;;; asdf-abcl.lisp
;;;
;;; Copyright (C) 2010 Mark Evenson
;;; $Id$
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License
;;; as published by the Free Software Foundation; either version 2
;;; of the License, or (at your option) any later version.
;;;
;;; This program is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this program; if not, write to the Free Software
;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
;;;
;;; As a special exception, the copyright holders of this library give you
;;; permission to link this library with independent modules to produce an
;;; executable, regardless of the license terms of these independent
;;; modules, and to copy and distribute the resulting executable under
;;; terms of your choice, provided that you also meet, for each linked
;;; independent module, the terms and conditions of the license of that
;;; module. An independent module is a module which is not derived from
;;; or based on this library. If you modify this library, you may extend
;;; this exception to your version of the library, but you are not
;;; obligated to do so. If you do not wish to do so, delete this
;;; exception statement from your version.
(in-package :asdf)
;;;; ABCL-specific extensions to ASDF, placed in a separate file from
;;;; asdf.lisp so that we can track upstream ASDF versions easier.
;;; We don't compile if the output location would be within a JAR
;;; file, which is currently always an unwritable location in ABCL.
;;; This allows us to load ASDF definitions that are packaged in JARs.
;;;
;;; XXX How does this work with ASDF-BINARY-LOCATIONS?
(defmethod operation-done-p :around ((o compile-op)
(c cl-source-file))
(let ((files (output-files o c)))
(if (every #'ext:pathname-jar-p files)
t
(call-next-method))))
(defun module-provide-asdf (name)
(handler-case
(let* ((*verbose-out* (make-broadcast-stream))
(system (asdf:find-system name nil)))
(when system
(asdf:operate 'asdf:load-op name)
t))
(missing-component (e)
(declare (ignore e))
nil)
(t (e)
(format *error-output* "ASDF could not load ~A because ~A.~%"
name e))))
(pushnew #'module-provide-asdf sys::*module-provider-functions*)
(provide 'asdf-abcl)
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -129,7 +129,6 @@
"and.lisp"
"apropos.lisp"
"arrays.lisp"
"asdf-abcl.lisp"
"assert.lisp"
"assoc.lisp"
"autoloads.lisp"
......
......@@ -26,12 +26,18 @@
(defparameter *this-file*
(merge-pathnames (make-pathname :type "lisp")
*load-truename*))
(if (find :asdf2 *features*)
(merge-pathnames
(make-pathname :name (pathname-name *load-truename*))
(asdf:system-relative-pathname :abcl-test-lisp "test/lisp/abcl/"))
*load-truename*)))
(defparameter *this-directory*
(make-pathname :host (pathname-host *load-truename*)
:device (pathname-device *load-truename*)
:directory (pathname-directory *load-truename*)))
(if (find :asdf2 *features*)
(asdf:system-relative-pathname :abcl-test-lisp "test/lisp/abcl/")
(make-pathname :host (pathname-host *load-truename*)
:device (pathname-device *load-truename*)
:directory (pathname-directory *load-truename*))))
(defun pathnames-equal-p (pathname1 pathname2)
#-(or allegro clisp cmu lispworks)
......
......@@ -7,9 +7,11 @@
(in-package #:abcl.test.lisp)
(defparameter *abcl-test-directory*
(make-pathname :host (pathname-host *load-truename*)
:device (pathname-device *load-truename*)
:directory (pathname-directory *load-truename*)))
(if (find :asdf2 *features*)
(asdf:system-relative-pathname :abcl-test-lisp "test/lisp/abcl/")
(make-pathname :host (pathname-host *load-truename*)
:device (pathname-device *load-truename*)
:directory (pathname-directory *load-truename*))))
(defun run ()
"Run the Lisp test suite for ABCL."
......
......@@ -24,16 +24,6 @@
#+(and lispworks win32)
(pushnew :windows *features*)
#+nil ;; Taken care of by ASDF
(unless (member "ABCL-RT" *modules* :test #'string=)
(load (merge-pathnames "rt-package.lisp" *load-truename*))
(load #+abcl (compile-file-if-needed (merge-pathnames "rt.lisp" *load-truename*))
;; Force compilation to avoid fasl name conflict between SBCL and
;; Allegro.
#-abcl (compile-file (merge-pathnames "rt.lisp" *load-truename*)))
(provide "ABCL-RT"))
(in-package #:abcl-regression-test)
(defmacro signals-error (form error-name)
......@@ -43,8 +33,6 @@
(:no-error (&rest ignored) (declare (ignore ignored)) nil))))
(export '(signals-error))
#+nil (rem-all-tests)
#+nil (setf *expected-failures* nil)
......@@ -9,9 +9,12 @@
"<svn://common-lisp.net/project/ansi-test/svn/trunk/ansi-tests>")
(defparameter *ansi-tests-directory*
(merge-pathnames
#p"../ansi-tests/"
(asdf:component-pathname (asdf:find-system :abcl))))
(if (find :asdf2 *features*)
(asdf:system-relative-pathname
:ansi-compiled "../ansi-tests/")
(merge-pathnames
#p"../ansi-tests/"
(asdf:component-pathname (asdf:find-system :ansi-compiled)))))
(defun run (&key (compile-tests nil))
"Run the ANSI-TESTS suite, to be found in *ANSI-TESTS-DIRECTORY*.
......
......@@ -9,9 +9,12 @@
"<http://www.chez.com/emarsden/downloads/cl-bench.tar.gz>")
(defparameter *cl-bench-directory*
(merge-pathnames #p"../cl-bench/"
(component-pathname (find-system :abcl))))
(if (find :asdf2 *features*)
(asdf:system-relative-pathname
:cl-bench "../cl-bench/")
(merge-pathnames #p"../cl-bench/"
(component-pathname (find-system :abcl)))))
;;; cl-bench defines BENCH-GC and WITH-SPAWNED-THREAD in
;;; '*cl-bench-directory*/sysdep/setup-ablisp.lisp'.
(defun cl-bench::bench-gc () (ext:gc))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment