anchor.diff:        ;; 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))
  +      (when (run-program* *c2ffi-executable* (append
  +                                              (list "--driver" "null"
  +                                                    "--macro-file" (namestring tmp-macro-file))
  +                                              arch
  +                                              sys-include-paths
  +                                              *c2ffi-extra-arguments*
  +                                              (list (namestring input-header-file)))
                             :output *standard-output*
                             :ignore-error-status ignore-error-status)
           ;; Write a tmp header file that #include's the original input file and
  
positive.code: (defun local-arch ()
    (strcat (local-cpu) (local-vendor) (local-os) (local-environment)))
  
  (defparameter *known-archs*
    '("i686-pc-linux-gnu"
      "x86_64-pc-linux-gnu"
      "i686-pc-windows-msvc"
  
negative.code:                      (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
  