anchor.diff:                       (warn "Failed to generate spec for other arch: ~S" arch))))
                  (find-local-spec header-file-path))))
         (if (and spec-path
  +               (not (zerop (with-input-from-file (s spec-path)
  +                             (file-length s))))
                  (uiop:timestamp< (file-write-date header-file-path)
                                   (file-write-date spec-path)))
             spec-path            ; it's up to date, just return it as is
  
positive.code:       ;; get hold of their value. This is a kludge and eventually we could/should
        ;; support generating cffi-grovel files, and in grovel mode not rely
        ;; on this kludge anymore.
        (when (run-program* *c2ffi-executable* (list* (namestring input-header-file)
                                                      "--driver" "null"
                                                      "--macro-file" (namestring tmp-macro-file)
                                                      (append arch sys-include-paths))
                            :output *standard-output*
                            :ignore-error-status ignore-error-status)
          ;; Write a tmp header file that #include's the original input file and
  
negative.code:     "x86_64-unknown-freebsd"))
  
  (defvar *c2ffi-executable* "c2ffi")
  (defvar *c2ffi-extra-arguments* (list))
  (defvar *trace-c2ffi* nil)
  
  (defun c2ffi-executable-available? ()
  