Stelian Ionescu [Mon, 3 Jan 2011 14:23:17 +0000]
Groveler: fix priting of symbol names and docstrings
Stelian Ionescu [Mon, 3 Jan 2011 14:22:45 +0000]
Move the loading of implementation-specific modules to cffi-grovel.asd
Stelian Ionescu [Wed, 20 Oct 2010 22:31:23 +0000]
Rewrite groveler to use C++
Stelian Ionescu [Mon, 3 Jan 2011 14:14:59 +0000]
Oops, fix RELOAD-FOREIGN-LIBRARIES
Stelian Ionescu [Sun, 2 Jan 2011 22:22:30 +0000]
Quote VAL in all necessary places in BSET
Stelian Ionescu [Sun, 2 Jan 2011 22:06:41 +0000]
Add function RELOAD-FOREIGN-LIBRARIES
RELOAD-FOREIGN-LIBRARIES &KEY (TEST #'FOREIGN-LIBRARY-LOADED-P)
Useful especially when saving an image to reload libraries when the
image is re-started.
Pushing #'CFFI:RELOAD-FOREIGN-LIBRARIES to the implementation's
*INIT-HOOKS*(or equivalent) should suffice for most cases
Luís Oliveira [Sun, 5 Dec 2010 14:00:27 +0000]
cffi-uffi-compat: implement UFFI's foreign string encoding support.
Stelian Ionescu [Thu, 4 Nov 2010 21:47:43 +0000]
Fix {LOAD,CLOSE}-FOREIGN-LIBRARY to accept pathnames again
Stelian Ionescu [Sun, 24 Oct 2010 14:14:13 +0000]
Fix grovel wrapper generators, add type checking to LISP-NAME and FOREIGN-NAME
Stelian Ionescu [Sat, 9 Oct 2010 23:51:29 +0000]
Fix DEFWRAPPER, following changes to cffi::{foreign,lisp}-name
Stelian Ionescu [Sun, 19 Sep 2010 21:28:10 +0000]
Rewrite PARSE-NAME-AND-OPTIONS to make it more comprehensible
Add tests too
Stelian Ionescu [Sun, 19 Sep 2010 20:28:09 +0000]
Merge remote branch 'clnet/master'
Stelian Ionescu [Sun, 19 Sep 2010 20:18:39 +0000]
Build grovel-wrappers with the same CFLAGS used by ECL to compile FASLs
Stelian Ionescu [Sun, 19 Sep 2010 19:31:13 +0000]
Add MacPorts include path to *cc-flags* on OSX
Stelian Ionescu [Sun, 19 Sep 2010 19:26:04 +0000]
Fix building grovel-wrappers on Windows
Don't use -fPIC on those systems
Stelian Ionescu [Sun, 19 Sep 2010 19:18:49 +0000]
Update email address
Stelian Ionescu [Sun, 19 Sep 2010 19:01:40 +0000]
Improve foreign library support
* add a PRINT-OBJECT method for foreign libraries
* signal FOREIGN-LIBRARY-UNDEFINED-ERROR instead of a SIMPLE-ERROR in
LOAD-FOREIGN-LIBRARY
* keep around the library name used for opening, add reader
FOREIGN-LIBRARY-NAME
Stelian Ionescu [Sun, 19 Sep 2010 18:37:48 +0000]
Fix closing shared libraries on CCL
If a library is dependen upon by another one loaded in the image, then
CCL:CLOSE-SHARED-LIBRARY will end up in an endless loop, because it
tries to repeatedly call dlclose() until it succeeds
Luís Oliveira [Thu, 9 Sep 2010 00:12:13 +0000]
Improve Darwin compatibility in tests/GNUmakefile
Patch courtesy of Dorian Taylor, lp#631972.
Luís Oliveira [Mon, 6 Sep 2010 21:16:14 +0000]
uffi-compat: change handling of :char to match UFFI's actual behaviour.
Patch courtesy of Gustavo Milare.
Luís Oliveira [Mon, 6 Sep 2010 21:07:02 +0000]
Fix handling of (defcfun nil ...)
FOREIGN-NAME was looping endlessly on this case.
Patch courtesy of Nikodemus Siivola.
Luís Oliveira [Sun, 22 Aug 2010 21:02:14 +0000]
Add *.fasl and .DS_Store to .gitignore.
Luís Oliveira [Sun, 22 Aug 2010 21:01:27 +0000]
Update Emily Backes's copyrights.
Luís Oliveira [Sun, 22 Aug 2010 12:42:31 +0000]
Moving repository to git.
- Added .gitignore.
- Adapted release.sh script to git.
- Removed :version from cffi.asd. Release tarballs now get the release
version inserted into the tarball's cffi.asd.
- Update manual with git info.
Stelian Ionescu [Thu, 20 May 2010 09:14:19 +0000]
Wrap the definitions of groveler classes in EVAL-WHEN
François-René Rideau [Thu, 20 May 2010 05:02:52 +0000]
Groveler: allow the use of groveler classes as keywords in .asd files
François-René Rideau [Thu, 20 May 2010 05:00:01 +0000]
Groveler: print offsets as long
François-René Rideau [Thu, 20 May 2010 04:59:14 +0000]
Groveler: better names for type detection macros
François-René Rideau [Thu, 20 May 2010 04:57:52 +0000]
Groveler: before compiling a shared library, remove old one
François-René Rideau [Thu, 20 May 2010 04:55:36 +0000]
Groveler: fix offsetof macro
François-René Rideau [Thu, 20 May 2010 04:54:32 +0000]
Fix cffi.asd for ASDF2
Luis Oliveira [Wed, 28 Apr 2010 22:56:04 +0000]
cffi-ecl: always push no-long-long
LONG-LONG is not supported by ECL's interpreter yet.
Luis Oliveira [Wed, 28 Apr 2010 22:53:37 +0000]
cffi-tests: don't use FOREIGN-FREE for malloc()ed memory
Patch courtesy of Juan Jose Garcia-Ripoll.
Luis Oliveira [Wed, 28 Apr 2010 22:42:43 +0000]
New pointer-related tests
Testing error situations for some pointer operations.
Luis Oliveira [Sun, 25 Apr 2010 23:12:32 +0000]
cffi-ecl: simplify shareable vector implementation
Patch courtesy of Juan Jose Garcia-Ripoll.
Luis Oliveira [Sun, 25 Apr 2010 23:02:19 +0000]
cffi-ecl: inline %mem-set and %mem-ref
Patch courtesy of Juan Jose Garcia-Ripoll.
Luis Oliveira [Sun, 25 Apr 2010 22:50:04 +0000]
cffi-ecl: use C-INLINE when producing compiled code
Using the ECL extension EXT:WITH-BACKEND, CFFI can produce code that
works differently when using the interpreter than when using the
lisp2C compiler. This leads to more efficient code. This change is
backwards compatible.
Patch courtesy of Juan Jose Garcia-Ripoll.
Luis Oliveira [Sun, 25 Apr 2010 22:39:14 +0000]
cffi-ecl: reexport NULL-POINTER-P from SI
Patch courtesy of Juan Jose Garcia-Ripoll.
Luis Oliveira [Sun, 25 Apr 2010 22:37:48 +0000]
cffi-ecl: use ECL's :long-long feature
Patch courtesy of Juan Jose Garcia-Ripoll.
Luis Oliveira [Sun, 25 Apr 2010 12:24:43 +0000]
Allegro: fix WITH-FOREIGN-POINTER
- Fixes previous patch.
- New test: WITH-FOREIGN-POINTER.CONSTANT-SIZE.
Jianshi Huang [Wed, 21 Apr 2010 09:19:56 +0000]
Allow the use of constants in WITH-FOREIGN-OBJECT for Allegro.
Stelian Ionescu [Fri, 19 Feb 2010 17:33:53 +0000]
Remove unused C macro SIGNED_ from common.h
Luis Oliveira [Wed, 6 Jan 2010 23:21:10 +0000]
cffi-manual: navigation improvements.
- Add WITH-FOREIGN-OBJECTS and WITH-FOREIGN-STRINGS to the
dictionary menus. (This unfortunately seems to require
specifying the @node declarations in full.)
- Make the table of contents more manageable by turning
@unnumberedsecs into @headings.
- Fix docstring in DEFSTRUCT example.
Luis Oliveira [Fri, 1 Jan 2010 17:46:35 +0000]
cffi-lispworks: add IGNORE declaration to CREATE-FOREIGN-FUNCALLABLE
Luis Oliveira [Fri, 1 Jan 2010 17:45:29 +0000]
cffi-lispworks: make null-pointer-p check its argument's type
Luis Oliveira [Fri, 1 Jan 2010 17:34:43 +0000]
Documentation: add note about RT, update description of no-long-long.
Luis Oliveira [Fri, 1 Jan 2010 17:26:00 +0000]
Preliminary support for ABCL.
Stelian Ionescu [Fri, 11 Dec 2009 16:49:38 +0000]
Update email address.
Stelian Ionescu [Fri, 11 Dec 2009 16:49:09 +0000]
Remove spurious PRINT call.
Luis Oliveira [Tue, 24 Nov 2009 23:20:02 +0000]
cffi-manual: the :STRING type does not support ub8 arrays anymore
Luis Oliveira [Tue, 24 Nov 2009 23:17:41 +0000]
libtest: support 64-bit on OSX Leopard
Luis Oliveira [Tue, 24 Nov 2009 23:14:42 +0000]
cffi-tests: show Lispworks the full path to libm.dylib
Luis Oliveira [Tue, 24 Nov 2009 23:13:21 +0000]
cffi-lispworks: turns out Lispworks does support llong on 32-bit platforms
Stelian Ionescu [Sun, 23 Aug 2009 12:11:08 +0000]
Deprecate groveler clause FLAG in favour of CC-FLAGS.
Luis Oliveira [Fri, 21 Aug 2009 21:00:52 +0000]
cffi-allegro: define long long types on 64-bit platforms
Patch courtesy of John Fremlin.
Luis Oliveira [Fri, 21 Aug 2009 20:54:47 +0000]
cffi-tests: fix pointer-to-integer casts in libtest.c
Luis Oliveira [Fri, 21 Aug 2009 20:51:44 +0000]
cffi-tests: don't use stdcall #ifndef WIN32
Stelian Ionescu [Sun, 9 Aug 2009 00:53:56 +0000]
Also canonicalize search paths in library specs.
Stelian Ionescu [Sat, 8 Aug 2009 22:28:34 +0000]
Update manual.
DEFCFUN & co. now take only :CONVENTION.
Stelian Ionescu [Sat, 8 Aug 2009 22:15:47 +0000]
Whitespace.
Stelian Ionescu [Sat, 8 Aug 2009 22:10:55 +0000]
Declare DEFCALLBACK, DEFCFUN and DEFINE-FOREIGN-LIBRARY's keyword args :CCONV and :CALLING-CONVENTION obsolete, use :CONVENTION instead.
Stelian Ionescu [Fri, 7 Aug 2009 16:41:16 +0000]
Fix docstring of LIST-FOREIGN-LIBRARIES.
Stelian Ionescu [Fri, 7 Aug 2009 16:27:33 +0000]
Fix reloading a library in LOAD-FOREIGN-LIBRARY.
Stelian Ionescu [Tue, 4 Aug 2009 20:41:32 +0000]
Use type :wrapper for wrapper libraries generated by the groveler.
Stelian Ionescu [Mon, 20 Jul 2009 15:43:12 +0000]
Use type :test for the test libraries.
Stelian Ionescu [Mon, 20 Jul 2009 15:40:28 +0000]
Add the ability to specify a foreign library's type and search path.
Also export:
- FOREIGN-LIBRARY
- FOREIGN-LIBRARY-PATHNAME
- FOREIGN-LIBRARY-TYPE
- FOREIGN-LIBRARY-LOADED-P
- LIST-FOREIGN-LIBRARIES
Stelian Ionescu [Mon, 20 Jul 2009 15:39:25 +0000]
Cosmetic changes (cconv -> calling-convention).
Stelian Ionescu [Tue, 4 Aug 2009 19:37:38 +0000]
Groveler fixes for ECL.
Luis Oliveira [Sat, 25 Jul 2009 23:13:30 +0000]
ECL: support more vector types in CFFI-SYS:WITH-POINTER-TO-VECTOR-DATA
Patch courtesy of Andy Hefner.
Luis Oliveira [Fri, 10 Jul 2009 18:08:32 +0000]
cffi-openmcl: prepend _ to external names on #+darwin, not just #+darwinppc
Luis Oliveira [Thu, 2 Jul 2009 20:15:57 +0000]
grovel: don't use cffi-features.
Luis Oliveira [Wed, 1 Jul 2009 18:59:18 +0000]
clisp: small fix to %FOREIGN-ALLOC
- Deal with (%foreign-alloc 0) gracefully by turning it into a one byte
allocation. This is similar to what glibc's malloc() does, IIUC.
- Regression test: FOREIGN-ALLOC.6.
Reported by Tobias Rautenkranz.
Stelian Ionescu [Thu, 25 Jun 2009 16:43:15 +0000]
Don't trim #\VT.
Stelian Ionescu [Mon, 22 Jun 2009 21:52:52 +0000]
Groveler: trim-whitespace not strip-whitespace.
Stelian Ionescu [Mon, 22 Jun 2009 21:33:53 +0000]
Groveler: fix typo.
Stelian Ionescu [Mon, 22 Jun 2009 21:26:26 +0000]
Groveler: small refactoring, create *EXE-EXTENSION*
Stelian Ionescu [Mon, 22 Jun 2009 21:18:57 +0000]
Groveler: move boilerplate C code to common.h
Stelian Ionescu [Mon, 22 Jun 2009 20:51:42 +0000]
Groveller: fix usage of *CC-FLAGS*.
Stelian Ionescu [Mon, 22 Jun 2009 20:13:24 +0000]
Include <string.h> with the groveler boilerplate code.
Stelian Ionescu [Mon, 22 Jun 2009 20:03:17 +0000]
Move the DEFPACKAGE and INVOKE out of grovel.lisp
Stelian Ionescu [Mon, 22 Jun 2009 19:45:57 +0000]
Style change.
Stelian Ionescu [Mon, 22 Jun 2009 19:04:29 +0000]
Groveler: use WITH-STANDARD-IO-SYNTAX when processing grovel files.
Stelian Ionescu [Mon, 22 Jun 2009 19:03:26 +0000]
Groveler: implement %INVOKE for ABCL.
Luis Oliveira [Tue, 16 Jun 2009 16:19:44 +0000]
update cffi.asd for version 0.10.5
Luis Oliveira [Tue, 16 Jun 2009 16:18:26 +0000]
cffi-manual: minor style change.
Stelian Ionescu [Tue, 16 Jun 2009 16:05:19 +0000]
Update docs for groveler clause CONSTANT.
Luis Oliveira [Mon, 15 Jun 2009 17:07:33 +0000]
grovel: remove comment about the *CC* and the CC environment variable
We already do look at CC in GROVEL::CC-COMPILE-AND-LINK.
Luis Oliveira [Mon, 15 Jun 2009 15:13:12 +0000]
cffi-grovel: use "cc" on non-Windows platforms (including Cygwin)
Luis Oliveira [Sun, 14 Jun 2009 18:16:43 +0000]
clisp: avoid using NIL for null pointers.
- Work around FFI:C-POINTER in %MEM-REF, %FOREIGN-FUNCALL and %DEFCALLBACK.
- Don't accept NIL in POINTERP, FOREIGN-POINTER or INC-POINTER.
- New tests: CALLBACKS.NIL-FOR-NULL, FUNCALL.POINTER-NOT-NIL, POINTER.NULL
and FOREIGN-POINTER-TYPE.NIL.
Stelian Ionescu [Mon, 8 Jun 2009 14:29:44 +0000]
Groveler: add support for float constants.
The CONSTANT groveler form now takes an additional keyword argument
TYPE, which defaults to INTEGER. In order to grovel floats,
DOUBLE-FLOAT must be used.
Luis Oliveira [Thu, 4 Jun 2009 13:05:25 +0000]
cffi-tests.asd: use trivial-features.
- Using #-windows instead of #-(or win32 mswindows) which didn't work
on Clozure CL.
Luis Oliveira [Thu, 4 Jun 2009 12:42:41 +0000]
Add stdcall support for callbacks in Clozure CL.
Luis Oliveira [Tue, 26 May 2009 19:47:15 +0000]
cffi-manual: fix code rot in the DEFCVAR example
Reported by Tobias Rautenkranz.
Luis Oliveira [Tue, 26 May 2009 19:37:11 +0000]
Fix bug in FOREIGN-FUNCALL.
CFFI::PARSE-ARGS-AND-TYPES was inadvertently suppressing arguments with
NIL values. E.g.: (foreign-funcall "foo" :foo a :bar nil :baz b :void)
was compiled as (foreign-funcall "foo" :foo a :baz b :void).
Reported by "D.I."
Luis Oliveira [Tue, 26 May 2009 19:09:29 +0000]
Fix the FOREIGN-STRUCT-SLOT-SET compiler macro for aggregate slots.
Reported by Andy Hefner.
Stelian Ionescu [Wed, 29 Apr 2009 20:25:05 +0000]
Bind *PACKAGE* in PROCESS-GROVEL-FILE.
Reported by Zach Smith, patch by Nikodemus Siivola.
Luis Oliveira [Tue, 7 Apr 2009 19:02:03 +0000]
Minor manual fixes.
- Fixed one of the foreign-funcall-pointer examples.
- Improved the defcallback description.
Reported by Naveen Garg.
Stelian Ionescu [Mon, 2 Feb 2009 01:22:03 +0000]
Make sure that 64bit constants are groveled correctly on 32bit platforms.
Luis Oliveira [Sun, 1 Feb 2009 18:16:53 +0000]
update cffi.asd for version 0.10.4
Luis Oliveira [Tue, 27 Jan 2009 21:43:36 +0000]
cffi-allegro: WITH-POINTER-TO-VECTOR-DATA fix
- Also, export both W-P-T-V-D and MAKE-SHAREABLE-BYTE-VECTOR from
CFFI-SYS and remove shareable vector tests from the expected failures
list.
Fix courtesy of John Fremlin.