1.0.1.12:
authorJuho Snellman <jsnell@iki.fi>
Mon, 8 Jan 2007 03:26:20 +0000 (03:26 +0000)
committerJuho Snellman <jsnell@iki.fi>
Mon, 8 Jan 2007 03:26:20 +0000 (03:26 +0000)
        Provide a better diagnostic for apparently broken
        SB-BSD-SOCKETS installs. Also print a better error message and
        return an error code from make-target-contrib.sh if any
        contribs fail, so that these broken installs are less likely
        to happen.

contrib/sb-grovel/def-to-lisp.lisp
make-target-contrib.sh
version.lisp-expr

index c5a6241..3aedfe2 100644 (file)
@@ -183,21 +183,26 @@ code:
     (terpri)
     (funcall (intern "C-CONSTANTS-EXTRACT" (find-package "SB-GROVEL"))
              filename tmp-c-source (constants-package component))
-    (let ((code (sb-ext:process-exit-code
-                 (sb-ext:run-program
-                  (sb-ext:posix-getenv "CC")
-                  (append
-                   (split-cflags (sb-ext:posix-getenv "EXTRA_CFLAGS"))
-                   #+(and linux largefile)
-                   '("-D_LARGEFILE_SOURCE"
+    (let* ((cc (or (sb-ext:posix-getenv "CC")
+                   ;; It might be nice to include a CONTINUE or
+                   ;; USE-VALUE restart here, but ASDF seems to insist
+                   ;; on handling the errors itself.
+                   (error "The CC environment variable has not been set in SB-GROVEL. Since this variable should always be set during the SBCL build process, this might indicate an SBCL with a broken contrib installation.")))
+           (code (sb-ext:process-exit-code
+                  (sb-ext:run-program
+                   cc
+                   (append
+                    (split-cflags (sb-ext:posix-getenv "EXTRA_CFLAGS"))
+                    #+(and linux largefile)
+                    '("-D_LARGEFILE_SOURCE"
                      "-D_LARGEFILE64_SOURCE"
-                     "-D_FILE_OFFSET_BITS=64")
-                   (list "-o"
+                      "-D_FILE_OFFSET_BITS=64")
+                    (list "-o"
                          (namestring tmp-a-dot-out)
                          (namestring tmp-c-source)))
-                  :search t
-                  :input nil
-                  :output *trace-output*))))
+                   :search t
+                   :input nil
+                   :output *trace-output*))))
       (unless (= code 0)
         (case (operation-on-failure op)
           (:warn (warn "~@<C compiler failure when performing ~A on ~A.~@:>"
index 78d6574..c962979 100644 (file)
@@ -65,9 +65,17 @@ do
       if $HEADER_HAS_BEEN_PRINTED; then
           echo > /dev/null
       else
-          echo "Failed contribs:"
+          cat <<EOF
+
+WARNING! Some of the contrib modules did not build succesfully or pass
+their self-tests. Failed contribs:"
+EOF
           HEADER_HAS_BEEN_PRINTED=true
       fi
       echo "  `basename $dir`"
   fi
 done
+
+if [ $HEADER_HAS_BEEN_PRINTED == true ]; then
+  exit 1
+fi
index 19f21c9..b2a1a2f 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".)
-"1.0.1.11"
+"1.0.1.12"