Building on win64

James Gatannah james.gatannah at gmail.com
Fri Aug 23 04:23:48 UTC 2013


This may be a complete dead-end, but it seems worth a stab.

I'm trying to get a program running on win64. It requires FFI, and I'd much
prefer to use CFFI.

The short version (for anyone who doesn't already know) is that SYSV and
STDCALL options have been replaced with WIN64. This breaks the groveller.

I've traced the actual issue down to the point where the ASD passes a
template file into a method in grovel.lisp that generates a C file that
prints out a bunch of sexps...I'm guessing to configure a running lisp to
let it know what kind of hardware it's running on.

It seems like it would be simple enough to either
a) update the win32 template with read conditionals to export appropriate
calling conventions
b) add a win64 template that's really a copy/pasted duplicate with the
minor modifications to make it work, then update the ASD to choose it
instead of the win32 template, if appropriate.

That part seems so trivial that I'm guessing there's a much bigger piece to
the puzzle. It's been years since I dug into different calling conventions,
and my only refresher so far has been a glance through a wikipedia article.

Is win64 different enough that it hasn't been worth bothering with yet on
the CFFI end? Is support in various lisp implementations so poor/limited
that it hasn't been interesting so far? Is there just not enough interest
from library users so far to justify any efforts? Am I totally off-base?

I'm sorry if this is an FAQ...I haven't been able to find mailing list
archives to dig through.

Thanks in advance,
James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20130822/4bf0ede2/attachment.html>


More information about the cffi-devel mailing list