0.9.10.42:
authorChristophe Rhodes <csr21@cam.ac.uk>
Fri, 17 Mar 2006 15:34:51 +0000 (15:34 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Fri, 17 Mar 2006 15:34:51 +0000 (15:34 +0000)
In this exciting world of Windows support, we might have files
named *.FASL not found by a find for *.fasl.
... and, argh, -iname is a GNUism.  Try harder to delete things
in contrib/ anyway.
... tidy up asdf-stub.lisp while I'm at it.

contrib/asdf-stub.lisp
make-target-contrib.sh
version.lisp-expr

index d084d72..1baef5f 100644 (file)
@@ -1,26 +1,18 @@
-(load "../asdf/asdf")
+(load "SYS:CONTRIB;ASDF;ASDF.FASL")
 
-(setf asdf::*central-registry*
-      '((merge-pathnames "systems/" (truename (sb-ext:posix-getenv "SBCL_HOME")))))
-(push :sb-building-contrib *features*)
-(asdf:operate 'asdf:load-op *system*)
-
-(defvar *system-stub* (make-pathname :name *system* :type "lisp"))
-
-(when (probe-file (compile-file-pathname *system-stub*))
-  (error "fasl file exists"))
-
-(with-open-file (s *system-stub* :direction :output :if-exists :error)
-  (print '(unless (member "ASDF" *modules* :test #'string=)
-           (load (merge-pathnames "asdf/asdf.fasl" (truename (sb-ext:posix-getenv "SBCL_HOME")))))
-         s)
-  ;; This addition to *central-registry* allows us to find contribs
-  ;; even if the user has frobbed the original contents.
-  (print `(let ((asdf:*central-registry* (cons (merge-pathnames "systems/"
-                                                                (truename (sb-ext:posix-getenv "SBCL_HOME")))
-                                               asdf:*central-registry*)))
-           (asdf::module-provide-asdf ,*system*))
-         s))
-
-(compile-file *system-stub*)
-(delete-file *system-stub*)
+(let ((asdf:*central-registry* nil))
+  (push :sb-building-contrib *features*)
+  (asdf:operate 'asdf:load-op *system*)
+  (let ((stub (make-pathname :name *system* :type "lisp")))
+    (when (probe-file (compile-file-pathname stub))
+      (error "fasl file exists"))
+    (with-open-file (s stub :direction :output :if-exists :error)
+      (print '(unless (member "ASDF" *modules* :test #'string=)
+               (require :asdf))
+             s)
+      ;; we find our contribs without reference to *central-registry*.
+      (print `(let ((asdf:*central-registry* nil))
+               (asdf::module-provide-asdf ,*system*))
+             s))
+    (compile-file stub)
+    (delete-file stub)))
index c4d1e48..9823d37 100644 (file)
@@ -38,7 +38,16 @@ export SBCL SBCL_BUILDING_CONTRIB
 # as SB-RT and SB-GROVEL, but FIXME: there's probably a better
 # solution.  -- CSR, 2003-05-30
 
-find contrib/ \( -name '*.fasl' -o -name 'foo.c' -o -name 'a.out' -o -name 'alien.so' -o -name '*.o' \) \
+find contrib/ \( -name '*.fasl' -o \
+                 -name '*.FASL' -o \
+                 -name 'foo.c' -o \
+                 -name 'FOO.C' -o \
+                 -name 'a.out' -o \
+                 -name 'A.OUT' -o \
+                 -name 'alien.so' -o \
+                 -name 'ALIEN.SO' -o \
+                 -name '*.o' -o \
+                 -name '*.O' \) \
   -print | xargs rm -f
 
 for i in contrib/*; do
index f4bf7b6..975c30f 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.10.41"
+"0.9.10.42"