On Sat, 10 Jul 2021 18:31:24 +0200 =?ISO-8859-1?Q?S=E9bastien?= Villemot 
<sebast...@debian.org> wrote:
> I’ve recently tried to reevaluate the situation regarding CCL in
> Debian.
> 
> In short, the answer is unfortunately that it’s not yet possible to
> package CCL, but there is however the hope that the situation will
> improve at some point.
> 
> What prevents CCL from being packaged Debian is the ffigen tool, which
> is required at build time to generate various FFI bindings. The latest
> functional version of this tool (ffigen4) is essentially a patch over
> GCC 4. The ftpmasters refused to have this in the archive (see above).
> 
> There is however an ongoing effort to rewrite ffigen, see:
> https://github.com/Clozure/ccl/issues/13
> 
> The rewrite is essentially a small executable depending on libclang,
> and is now dubbed ffigen5.
> 
> I’ve tried it, and even though it is able to parse many C headers, it
> still fails at some. So it’s not yet ready for use. But hopefully it
> will be at some point, which should clear the way for CCL in Debian.

Upstream here.

I’ve recently released CCL 1.13 
(https://github.com/Clozure/ccl/releases/tag/v1.13). In this release, Linux 
headers are processed with the new ffigen5 tool 
(https://github.com/Clozure/ccl-ffigen).

I’d be happy to show anyone interested how to use the tool and generate the 
interface databases.

In short, look at ccl:x86-headers64;libc;C;translate.sh for how to invoke the 
ffigen5 tool.  That will produce a bunch of .ffi files.  To generate the .cdb 
files used by CCL’s ffi, start CCL, and then do:

(require 'parse-ffi)
(ccl::parse-standard-ffi-files :libc)

Here, :libc indicates that the .ffi files to process are in 
x86-headers64/libc/C.  If you said :elf, that would mean to look for .ffi files 
in x86-headers64/elf/C.

As I say, if there’s anything I can do to help get CCL packaged, please get in 
touch.

Reply via email to