1.0.14.12: export SB-POSIX:MKSTEMP, add SB-POSIX:MKTEMP and SB-POSIX:MKDTEMP
[sbcl.git] / contrib / sb-grovel / def-to-lisp.lisp
index 30265a0..7549b86 100644 (file)
@@ -112,10 +112,12 @@ code:
     (dolist (def definitions)
       (destructuring-bind (type lispname cname &optional doc export) def
         (case type
-          (:integer
+          ((:integer :errno)
            (as-c "#ifdef" cname)
            (printf "(cl:defconstant ~A %d \"~A\")" lispname doc
                    cname)
+           (when (eql type :errno)
+             (printf "(cl:setf (get '~A 'errno) t)" lispname))
            (as-c "#else")
            (printf "(sb-int:style-warn \"Couldn't grovel for ~A (unknown to the C compiler).\")" cname)
            (as-c "#endif"))
@@ -187,7 +189,8 @@ code:
     (funcall (intern "C-CONSTANTS-EXTRACT" (find-package "SB-GROVEL"))
              filename tmp-c-source (constants-package component))
     (unless (do-not-grovel component)
-      (let* ((cc (or (sb-ext:posix-getenv "CC")
+      (let* ((cc (or (and (string/= (sb-ext:posix-getenv "CC") "")
+                          (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.