anchor.diff:     #+darwin (list "-I" "/opt/local/include/")
      #-darwin nil
      ;; ECL internal flags
  -   #+ecl (list c::*cc-flags*)))
  +   #+ecl (list c::*cc-flags*)
  +   ;; FreeBSD non-base header files
  +   #+freebsd (list "-I" "/usr/local/include/")))
   
   ;;; FIXME: is there a better way to detect whether these flags
   ;;; are necessary?
   (defparameter *cpu-word-size-flags*
  -  #-(or x86 x86-64 sparc sparc64)
  +  #-(or arm x86 x86-64 sparc sparc64)
     '()
  +  #+arm
  +  (list "-marm")
     #+(or x86 x86-64 sparc sparc64)
  -  (ecase (cffi:foreign-type-size :long)
  +  (ecase (cffi:foreign-type-size :pointer)
       (4 (list "-m32"))
       (8 (list "-m64"))))
   
  
positive.code: 
  (defun c-format (out fmt &rest args)
    (let ((text (unescape-for-c (format nil "~?" fmt args))))
      (format out "~&  fprintf(output, \"~A\");~%" text)))
  
  (defun c-printf (out fmt &rest args)
    (flet ((item (item)
  
negative.code: #include <grovel/common.h>
  
  int main(int argc, char**argv) {
    int autotype_tmp;
    FILE *output = argc > 1 ? fopen(argv[1], \"w\") : stdout;
    fprintf(output, \";;;; This file has been automatically generated by \"
                    \"iolib-grovel.\\n;;;; Do not edit it by hand.\\n\\n\");
  