anchor.diff:      (flet ((regenerate-spec-file ()
                (let ((local-arch (local-arch)))
                  (unless (c2ffi-executable-available?)
  -                 (error "No spec found for ~S on arch '~A' and c2ffi not found"
  +                 (error "No spec found for ~S on arch '~A' and the c2ffi executable was not found"
                           header-file-path local-arch))
  -               (generate-spec-with-c2ffi header-file-path
  +               (generate-spec-using-c2ffi header-file-path
                                            (spec-path header-file-path
                                                       :arch local-arch
                                                       :version version)
                                            :arch local-arch
                                            :sys-include-paths sys-include-paths)
                  ;; Try to run c2ffi for other architectures, but tolerate failure
  -               (dolist (arch *known-archs*)
  +               (dolist (arch *target-archs*)
                    (unless (or (string= local-arch arch)
                                (member arch exclude-archs :test #'string=))
  -                   (unless (generate-spec-with-c2ffi header-file-path
  +                   (unless (generate-spec-using-c2ffi header-file-path
                                                        (spec-path header-file-path
                                                                   :arch arch
                                                                   :version version)
  
positive.code:         ;; final, second pass.
          (uiop:with-temporary-file (:stream tmp-include-file-stream
                                     :pathname tmp-include-file
                                     :keep *trace-c2ffi*)
            (format tmp-include-file-stream "#include \"~A\"~%" input-header-file)
            (format tmp-include-file-stream "#include \"~A\"~%" tmp-macro-file)
            :close-stream
            ;; Invoke c2ffi again to generate the final output.
            (run-program* *c2ffi-executable* (list* (namestring tmp-include-file)
                                                    "--output" (namestring output-spec-path)
                                                    (append arch sys-include-paths))
                          :output *standard-output*
                          :ignore-error-status ignore-error-status))))))
  
  
negative.code:                                         :error-output error-output
                                          :ignore-error-status ignore-error-status))))
  
  (defun generate-spec-using-c2ffi (input-header-file output-spec-path
                                   &key arch sys-include-paths ignore-error-status)
    "Run c2ffi on `INPUT-HEADER-FILE`, outputting to `OUTPUT-FILE` and
  `MACRO-OUTPUT-FILE`, optionally specifying a target triple `ARCH`."
    (format *debug-io* "; cffi/c2ffi is generating ~S~%" output-spec-path)
    (uiop:with-temporary-file (:pathname tmp-macro-file
                               :type "h"
                               :keep *trace-c2ffi*)
      nil ; workaround for an UIOP bug; delme eventually (attila, 2016-01-27).
      :close-stream
  