CFFI-GROVEL now uses ASDF operations to compile and load processed grovel and wrapper files.
cffi-ecl: support multiple FFI backends

Allow the ECL backend to support different combinations of FFI in
the same code by customizing a single special variable.
cffi-ecl: c-inline-function-pointer-call bugfix

The previous fix did not work with functions that return no values.
Surround the code with braces, so that the C compiler does not
complain about the extern declaration.
Teach groveler cstruct :count :auto to work on arrays anywhere in the struct.

The :count :auto logic assumed the struct member was an array which
filled the remainder of the struct, and would generate incorrect cffi
cstruct forms when any other struct members followed one declared
:count :auto.

The following C struct definition and groveler cstruct form
demonstrate this:

struct charbuf {
	char three_chars[3];
	int clobbered_int
};

(cstruct charbuf "struct charbuf"
  (three-chars "three_chars" :type :char :count :auto)
  (clobbered-int "clobbered_int" :type :int))
Teach the groveler's cstruct :type to guess type when :auto is given.

This means that integer size and signedness is determined by the
groveler in cases like this:

(cstruct autotype "struct mystruct"
 (myint "myint" :type :auto)
 (myarray "myarray" :type :auto :count :auto))
Don't pass user-defined strings to printf().

This allows % to be safely used in lisp symbol names which pass
through the groveler, such as the following:

(cvar ("errno" %errno) :int)
Teach the groveler to print cstruct types which are lists of symbols.

This means that forms such as the following are allowed:

(cstruct foo "struct foo"
  (mybar "mybar" :type (:struct bar)))
Expose struct slot type and count via FOREIGN-SLOT-TYPE and FOREIGN-SLOT-COUNT.

This is especially useful when the type and count have been groveled.
ecl: si:find-foreign-symbol expects a base-string, coerce it.
cffi-abcl: pointerp and null-pointer-p should work on non-pointers.
cffi-libffi: libffi-win32 fix
Modify STRUCTURE-BY-VALUE-P and include test cases
Merge pull request #21 from crlf0710/master

More library names and fix :sizet typo for windows.  Expand affirmative return from structure-by-value-p to include typedefs, so that foreign function calls by value may use the typedefed names to declare variable.  Includes tests.
groveller: fix to work with new type syntax

Use C-WRITE instead of C-PRINT-SYMBOL when emitting types to deal with
the fact that some types are more than just one symbol now.

e.g. 'foo vs '(:struct foo) and '(:pointer (:struct foo))

Fixes: Bug 1065432
cffi-abcl: global lookups in find-foreign-function and %foreign-symbol-pointer

Fixes issue with ABCL not finding things like "strcmp" when no libraries
are loaded.
cffi-abcl: move *loaded-libraries* definition before it's used
cffi-abcl: copy-in/copy-out implementation of with-pointer-to-vector-data
Fix BARE-STRUCT-TYPE-P & STRUCTURE-BY-VALUE-P
grovel: cosmetic changes to c-write.
manual: fix compilation errors and warnings