2 years agocffi-abcl: implement callbacks. v0.10.7
Luís Oliveira [Sun, 11 Mar 2012 21:11:42 +0000] 
cffi-abcl: implement callbacks.

Patch courtesy of Mark Evenson.

2 years agocffi-abcl: autoload JNA dependency.
Luís Oliveira [Sun, 11 Mar 2012 21:11:16 +0000] 
cffi-abcl: autoload JNA dependency.

Patch courtesy of Mark Evenson.

2 years agoAdd support for Digitool MCL.
Luís Oliveira [Sat, 10 Mar 2012 10:54:31 +0000] 
Add support for Digitool MCL.

Patch courtesy of James Anderson.

2 years agocffi-abcl: fix bitrot. s/calling-convention/convention
Luís Oliveira [Thu, 26 Jan 2012 01:03:55 +0000] 
cffi-abcl: fix bitrot. s/calling-convention/convention

Bug reported by Anton Vodonosov.

2 years agocffi-allegro: signal clearer error when [u]llong is unsupported
Luís Oliveira [Fri, 13 Jan 2012 01:31:49 +0000] 
cffi-allegro: signal clearer error when [u]llong is unsupported

2 years agocffi-tests: fix bug in ullong(); mark expected failure.
Luís Oliveira [Tue, 10 Jan 2012 22:11:05 +0000] 
cffi-tests: fix bug in ullong(); mark expected failure.

DEFCFUN.UNSIGNED-LONG-LONG fails on Allegro: lp#914500.

2 years agominor fix for allegrocl's long-long support
Jianshi Huang [Fri, 6 Jan 2012 21:14:15 +0000] 
minor fix for allegrocl's long-long support

Luís Oliveira [Sat, 7 Jan 2012 01:02:07 +0000] 

2 years agocffi-tests: make compilation of 32-bit libtest optional.
Luís Oliveira [Fri, 6 Jan 2012 00:17:38 +0000] 
cffi-tests: make compilation of 32-bit libtest optional.

Fixes lp#911557. Reported by Elias Pipping. Solution courtesy of
Daniel Herring.

2 years agoFix uffi-compat:octets-to-string.
Luís Oliveira [Mon, 21 Nov 2011 02:17:49 +0000] 
Fix uffi-compat:octets-to-string.

Initial patch courtesy of François-René Rideau.

2 years agoFixed incorrect use of sap-ref-word for longs on 64-bit Windows.
Anton Kovalenko [Wed, 16 Nov 2011 09:09:06 +0000] 
Fixed incorrect use of sap-ref-word for longs on 64-bit Windows.

Implemented automatic accessor lookup for integer types, based on
alien type size and CFFI keyword -> alien type mapping.

2 years agoAdded stdcall callback support for SBCL back-end
Dmitry Ignatiev [Thu, 9 Dec 2010 15:11:54 +0000] 
Added stdcall callback support for SBCL back-end

2 years agogrovel: dispatch on size of :POINTER to initialize *CPU-WORD-SIZE-FLAGS*
Luís Oliveira [Thu, 10 Nov 2011 21:16:48 +0000] 
grovel: dispatch on size of :POINTER to initialize *CPU-WORD-SIZE-FLAGS*

We were previously using :LONG, but that does not match the machine word
size on some platforms, namely Windows.

Bug reported by Anton Kovalenko.

2 years agogrovel: fix CVAR's Lisp-side expansion.
Luís Oliveira [Sat, 17 Sep 2011 15:02:10 +0000] 
grovel: fix CVAR's Lisp-side expansion.

Patch courtesy of pinterface. Fixes LP bug #852192.

2 years agocffi-manual: fix secondary values in examples of CONVERT-{TO,FROM}-FOREIGN.
Luís Oliveira [Sat, 10 Sep 2011 16:31:45 +0000] 
cffi-manual: fix secondary values in examples of CONVERT-{TO,FROM}-FOREIGN.

2 years agogitignore *.xfasl
Luís Oliveira [Sat, 10 Sep 2011 16:26:56 +0000] 
gitignore *.xfasl

2 years agocffi-tests: fix duplicate test name.
Luís Oliveira [Sat, 10 Sep 2011 16:26:29 +0000] 
cffi-tests: fix duplicate test name.

2 years agocffi-tests: remove bogus const qualifier in my_strfree().
Luís Oliveira [Fri, 9 Sep 2011 23:26:01 +0000] 
cffi-tests: remove bogus const qualifier in my_strfree().

2 years agoMake UFFI:FOREIGN-ENCODED-OCTET-COUNT evaluate its arguments.
Stelian Ionescu [Tue, 21 Jun 2011 16:18:50 +0000] 
Make UFFI:FOREIGN-ENCODED-OCTET-COUNT evaluate its arguments.

Previously, it was returning an expression, acting like a macro.

Thanks to Nathan Bird for spotting this bug

2 years agoWorkaround for foreign library loading on OSX.
Luís Oliveira [Thu, 26 May 2011 00:32:41 +0000] 
Workaround for foreign library loading on OSX.

As of OSX 10.6.6, loading things like CoreFoundation on something
other than the initial thread results in a crash.

Implemented workaround on SBCL based on what CCL does upstream. Other
Lisps might benefit from similar workarounds.

2 years agoFix regression: handle (load-foreign-library '(:framework "foo")).
Luís Oliveira [Thu, 26 May 2011 00:27:37 +0000] 
Fix regression: handle (load-foreign-library '(:framework "foo")).

2 years agocffi-tests: fix defcfun.parse-name-and-options.[12]
Luís Oliveira [Sun, 17 Apr 2011 22:30:26 +0000] 
cffi-tests: fix defcfun.parse-name-and-options.[12]

2 years agocffi-manual: remove bogus reference from main index.
Luís Oliveira [Sun, 17 Apr 2011 22:30:10 +0000] 
cffi-manual: remove bogus reference from main index.

Luís Oliveira [Sun, 17 Apr 2011 22:29:49 +0000] 

Patch courtesy of Greg Pfeil. Closes lp:622272.

3 years agoAdd documentation for groveller bitfield support
Desmond O. Chang [Fri, 11 Feb 2011 16:21:46 +0000] 
Add documentation for groveller bitfield support

3 years agoAdd groveller bitfield support
Desmond O. Chang [Fri, 11 Feb 2011 13:58:20 +0000] 
Add groveller bitfield support

In grovel file, write:

 (bitfield flags-ctype
   ((:flag-a "FLAG_A")
     :documentation "DOCU_A")
   ((:flag-b "FLAG_B")
     :documentation "DOCU_B")
   ((:flag-c "FLAG_C")
     :documentation "DOCU_C"))

And if the C header file has:

 #define FLAG_A 1
 #define FLAG_B 2
 #define FLAG_C 4

This will generate:

 (cffi:defbitfield (flags-ctype)
   (:flag-a 1)
   (:flag-b 2)
   (:flag-c 4))

3 years agocffi-ecl: DFFI fixes and handle non-existent foreign symbols gracefully
Luís Oliveira [Fri, 7 Jan 2011 08:14:58 +0000] 
cffi-ecl: DFFI fixes and handle non-existent foreign symbols gracefully

Patch courtesy of Juan Jose Garcia-Ripoll.

3 years agoNew FOREIGN-SYMBOL-POINTER tests
Luís Oliveira [Fri, 7 Jan 2011 08:12:02 +0000] 

- Check that FOREIGN-SYMBOL-POINTER's 'name' arg is a string.

Stelian Ionescu [Mon, 3 Jan 2011 14:14:59 +0000] 

3 years agoQuote VAL in all necessary places in BSET
Stelian Ionescu [Sun, 2 Jan 2011 22:22:30 +0000] 
Quote VAL in all necessary places in BSET

3 years agoAdd function RELOAD-FOREIGN-LIBRARIES
Stelian Ionescu [Sun, 2 Jan 2011 22:06:41 +0000] 


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

3 years agocffi-uffi-compat: implement UFFI's foreign string encoding support.
Luís Oliveira [Sun, 5 Dec 2010 14:00:27 +0000] 
cffi-uffi-compat: implement UFFI's foreign string encoding support.

3 years agoFix {LOAD,CLOSE}-FOREIGN-LIBRARY to accept pathnames again
Stelian Ionescu [Thu, 4 Nov 2010 21:47:43 +0000] 
Fix {LOAD,CLOSE}-FOREIGN-LIBRARY to accept pathnames again

3 years agoFix grovel wrapper generators, add type checking to LISP-NAME and FOREIGN-NAME
Stelian Ionescu [Sun, 24 Oct 2010 14:14:13 +0000] 
Fix grovel wrapper generators, add type checking to LISP-NAME and FOREIGN-NAME

3 years agoFix DEFWRAPPER, following changes to cffi::{foreign,lisp}-name
Stelian Ionescu [Sat, 9 Oct 2010 23:51:29 +0000] 
Fix DEFWRAPPER, following changes to cffi::{foreign,lisp}-name

3 years agoRewrite PARSE-NAME-AND-OPTIONS to make it more comprehensible
Stelian Ionescu [Sun, 19 Sep 2010 21:28:10 +0000] 
Rewrite PARSE-NAME-AND-OPTIONS to make it more comprehensible

Add tests too

3 years agoMerge remote branch 'clnet/master'
Stelian Ionescu [Sun, 19 Sep 2010 20:28:09 +0000] 
Merge remote branch 'clnet/master'

3 years agoBuild grovel-wrappers with the same CFLAGS used by ECL to compile FASLs
Stelian Ionescu [Sun, 19 Sep 2010 20:18:39 +0000] 
Build grovel-wrappers with the same CFLAGS used by ECL to compile FASLs

3 years agoAdd MacPorts include path to *cc-flags* on OSX
Stelian Ionescu [Sun, 19 Sep 2010 19:31:13 +0000] 
Add MacPorts include path to *cc-flags* on OSX

3 years agoFix building grovel-wrappers on Windows
Stelian Ionescu [Sun, 19 Sep 2010 19:26:04 +0000] 
Fix building grovel-wrappers on Windows

Don't use -fPIC on those systems

3 years agoUpdate email address
Stelian Ionescu [Sun, 19 Sep 2010 19:18:49 +0000] 
Update email address

3 years agoImprove foreign library support
Stelian Ionescu [Sun, 19 Sep 2010 19:01:40 +0000] 
Improve foreign library support

* add a PRINT-OBJECT method for foreign libraries
* keep around the library name used for opening, add reader

3 years agoFix closing shared libraries on CCL
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

3 years agoImprove Darwin compatibility in tests/GNUmakefile
Luís Oliveira [Thu, 9 Sep 2010 00:12:13 +0000] 
Improve Darwin compatibility in tests/GNUmakefile

Patch courtesy of Dorian Taylor, lp#631972.

3 years agouffi-compat: change handling of :char to match UFFI's actual behaviour.
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.

3 years agoFix handling of (defcfun nil ...)
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.

3 years agoAdd *.fasl and .DS_Store to .gitignore.
Luís Oliveira [Sun, 22 Aug 2010 21:02:14 +0000] 
Add *.fasl and .DS_Store to .gitignore.

3 years agoUpdate Emily Backes's copyrights.
Luís Oliveira [Sun, 22 Aug 2010 21:01:27 +0000] 
Update Emily Backes's copyrights.

3 years agoMoving repository to git. v0.10.6
Luís Oliveira [Sun, 22 Aug 2010 12:42:31 +0000] 
Moving repository to git.

- Added .gitignore.
- Adapted 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.

3 years agoWrap the definitions of groveler classes in EVAL-WHEN
Stelian Ionescu [Thu, 20 May 2010 09:14:19 +0000] 
Wrap the definitions of groveler classes in EVAL-WHEN

3 years agoGroveler: allow the use of groveler classes as keywords in .asd files
François-René Rideau [Thu, 20 May 2010 05:02:52 +0000] 
Groveler: allow the use of groveler classes as keywords in .asd files

3 years agoGroveler: print offsets as long
François-René Rideau [Thu, 20 May 2010 05:00:01 +0000] 
Groveler: print offsets as long

3 years agoGroveler: better names for type detection macros
François-René Rideau [Thu, 20 May 2010 04:59:14 +0000] 
Groveler: better names for type detection macros

3 years agoGroveler: before compiling a shared library, remove old one
François-René Rideau [Thu, 20 May 2010 04:57:52 +0000] 
Groveler: before compiling a shared library, remove old one

3 years agoGroveler: fix offsetof macro
François-René Rideau [Thu, 20 May 2010 04:55:36 +0000] 
Groveler: fix offsetof macro

3 years agoFix cffi.asd for ASDF2
François-René Rideau [Thu, 20 May 2010 04:54:32 +0000] 
Fix cffi.asd for ASDF2

3 years agocffi-ecl: always push no-long-long
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.

3 years agocffi-tests: don't use FOREIGN-FREE for malloc()ed memory
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.

3 years agoNew pointer-related tests
Luis Oliveira [Wed, 28 Apr 2010 22:42:43 +0000] 
New pointer-related tests

Testing error situations for some pointer operations.

3 years agocffi-ecl: simplify shareable vector implementation
Luis Oliveira [Sun, 25 Apr 2010 23:12:32 +0000] 
cffi-ecl: simplify shareable vector implementation

Patch courtesy of Juan Jose Garcia-Ripoll.

3 years agocffi-ecl: inline %mem-set and %mem-ref
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.

3 years agocffi-ecl: use C-INLINE when producing compiled code
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.

3 years agocffi-ecl: reexport NULL-POINTER-P from SI
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.

3 years agocffi-ecl: use ECL's :long-long feature
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.

3 years agoAllegro: fix WITH-FOREIGN-POINTER
Luis Oliveira [Sun, 25 Apr 2010 12:24:43 +0000] 

- Fixes previous patch.

3 years agoAllow the use of constants in WITH-FOREIGN-OBJECT for Allegro.
Jianshi Huang [Wed, 21 Apr 2010 09:19:56 +0000] 
Allow the use of constants in WITH-FOREIGN-OBJECT for Allegro.

4 years agoRemove unused C macro SIGNED_ from common.h
Stelian Ionescu [Fri, 19 Feb 2010 17:33:53 +0000] 
Remove unused C macro SIGNED_ from common.h

4 years agocffi-manual: navigation improvements.
Luis Oliveira [Wed, 6 Jan 2010 23:21:10 +0000] 
cffi-manual: navigation improvements.

  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.

4 years agocffi-lispworks: add IGNORE declaration to CREATE-FOREIGN-FUNCALLABLE
Luis Oliveira [Fri, 1 Jan 2010 17:46:35 +0000] 
cffi-lispworks: add IGNORE declaration to CREATE-FOREIGN-FUNCALLABLE

4 years agocffi-lispworks: make null-pointer-p check its argument's type
Luis Oliveira [Fri, 1 Jan 2010 17:45:29 +0000] 
cffi-lispworks: make null-pointer-p check its argument's type

4 years agoDocumentation: add note about RT, update description of no-long-long.
Luis Oliveira [Fri, 1 Jan 2010 17:34:43 +0000] 
Documentation: add note about RT, update description of no-long-long.

4 years agoPreliminary support for ABCL.
Luis Oliveira [Fri, 1 Jan 2010 17:26:00 +0000] 
Preliminary support for ABCL.

4 years agoUpdate email address.
Stelian Ionescu [Fri, 11 Dec 2009 16:49:38 +0000] 
Update email address.

4 years agoRemove spurious PRINT call.
Stelian Ionescu [Fri, 11 Dec 2009 16:49:09 +0000] 
Remove spurious PRINT call.

4 years agocffi-manual: the :STRING type does not support ub8 arrays anymore
Luis Oliveira [Tue, 24 Nov 2009 23:20:02 +0000] 
cffi-manual: the :STRING type does not support ub8 arrays anymore

4 years agolibtest: support 64-bit on OSX Leopard
Luis Oliveira [Tue, 24 Nov 2009 23:17:41 +0000] 
libtest: support 64-bit on OSX Leopard

4 years agocffi-tests: show Lispworks the full path to libm.dylib
Luis Oliveira [Tue, 24 Nov 2009 23:14:42 +0000] 
cffi-tests: show Lispworks the full path to libm.dylib

4 years agocffi-lispworks: turns out Lispworks does support llong on 32-bit platforms
Luis Oliveira [Tue, 24 Nov 2009 23:13:21 +0000] 
cffi-lispworks: turns out Lispworks does support llong on 32-bit platforms

4 years agoDeprecate groveler clause FLAG in favour of CC-FLAGS.
Stelian Ionescu [Sun, 23 Aug 2009 12:11:08 +0000] 
Deprecate groveler clause FLAG in favour of CC-FLAGS.

4 years agocffi-allegro: define long long types on 64-bit platforms
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.

4 years agocffi-tests: fix pointer-to-integer casts in libtest.c
Luis Oliveira [Fri, 21 Aug 2009 20:54:47 +0000] 
cffi-tests: fix pointer-to-integer casts in libtest.c

4 years agocffi-tests: don't use stdcall #ifndef WIN32
Luis Oliveira [Fri, 21 Aug 2009 20:51:44 +0000] 
cffi-tests: don't use stdcall #ifndef WIN32

4 years agoAlso canonicalize search paths in library specs.
Stelian Ionescu [Sun, 9 Aug 2009 00:53:56 +0000] 
Also canonicalize search paths in library specs.

4 years agoUpdate manual.
Stelian Ionescu [Sat, 8 Aug 2009 22:28:34 +0000] 
Update manual.

DEFCFUN & co. now take only :CONVENTION.

4 years agoWhitespace.
Stelian Ionescu [Sat, 8 Aug 2009 22:15:47 +0000] 

4 years agoDeclare DEFCALLBACK, DEFCFUN and DEFINE-FOREIGN-LIBRARY's keyword args :CCONV and...
Stelian Ionescu [Sat, 8 Aug 2009 22:10:55 +0000] 

4 years agoFix docstring of LIST-FOREIGN-LIBRARIES.
Stelian Ionescu [Fri, 7 Aug 2009 16:41:16 +0000] 

4 years agoFix reloading a library in LOAD-FOREIGN-LIBRARY.
Stelian Ionescu [Fri, 7 Aug 2009 16:27:33 +0000] 
Fix reloading a library in LOAD-FOREIGN-LIBRARY.

4 years agoUse type :wrapper for wrapper libraries generated by the groveler.
Stelian Ionescu [Tue, 4 Aug 2009 20:41:32 +0000] 
Use type :wrapper for wrapper libraries generated by the groveler.

4 years agoUse type :test for the test libraries.
Stelian Ionescu [Mon, 20 Jul 2009 15:43:12 +0000] 
Use type :test for the test libraries.

4 years agoAdd the ability to specify a foreign library's type and search path.
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:

4 years agoCosmetic changes (cconv -> calling-convention).
Stelian Ionescu [Mon, 20 Jul 2009 15:39:25 +0000] 
Cosmetic changes (cconv -> calling-convention).

4 years agoGroveler fixes for ECL.
Stelian Ionescu [Tue, 4 Aug 2009 19:37:38 +0000] 
Groveler fixes for ECL.

4 years agoECL: support more vector types in CFFI-SYS:WITH-POINTER-TO-VECTOR-DATA
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.

4 years agocffi-openmcl: prepend _ to external names on #+darwin, not just #+darwinppc
Luis Oliveira [Fri, 10 Jul 2009 18:08:32 +0000] 
cffi-openmcl: prepend _ to external names on #+darwin, not just #+darwinppc

4 years agogrovel: don't use cffi-features.
Luis Oliveira [Thu, 2 Jul 2009 20:15:57 +0000] 
grovel: don't use cffi-features.

4 years agoclisp: small fix to %FOREIGN-ALLOC
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.

4 years agoDon't trim #\VT.
Stelian Ionescu [Thu, 25 Jun 2009 16:43:15 +0000] 
Don't trim #\VT.

4 years agoGroveler: trim-whitespace not strip-whitespace.
Stelian Ionescu [Mon, 22 Jun 2009 21:52:52 +0000] 
Groveler: trim-whitespace not strip-whitespace.

4 years agoGroveler: fix typo.
Stelian Ionescu [Mon, 22 Jun 2009 21:33:53 +0000] 
Groveler: fix typo.