>>>>> 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/