Building on win64

Martin Simmons martin at lispworks.com
Mon Sep 2 16:35:22 UTC 2013


>>>>> On Thu, 22 Aug 2013 23:23:48 -0500, James Gatannah said:
> 
> 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.

There is only one calling convention on x64 Windows, so the
cffi/implementation doesn't care much about it.

-- 
Martin Simmons
LispWorks Ltd
http://www.lispworks.com/



More information about the cffi-devel mailing list