[Vm-dev] Confused by FFI at Mac & Cog

Igor Stasenko siguctua at gmail.com
Mon Dec 27 15:20:14 UTC 2010


Hi,
I am trying to figure out, how to build FFI plugin on macs for cog vm.

the platforms/Mac\ OS/plugins/SqueakFFIPrims contains following files:


Info-SqueakFFIPlugin__Upgraded_.plist
SqueakFFI.xcodeproj.zip
SqueakFFIPrims.proj.xml
ppc-darwin-Carbon-UI.c
ppc-darwin-asm-MacIntel.S
ppc-global.h
resources
sqMacFFI.s
sqMacFFIPPC.c
sqMacIntel-Win32.c
x86-sysv-MacIntel.c
x86-sysv-asm-MacIntel.S


something tells me that i don't need to compile ppc* files, because
Cog doesn't works on that arch anyways..
so, i tried to use
sqMacIntel-Win32.c

and failed.. then tried to use

x86-sysv-MacIntel.c

and it fails to compile with same error(s):

/platforms/Mac OS/plugins/SqueakFFIPrims/x86-sysv-MacIntel.c:127:
error: ‘FFICallTypeCDecl’ undeclared (first use in this function)
/platforms/Mac OS/plugins/SqueakFFIPrims/x86-sysv-MacIntel.c:128:
error: ‘FFICallTypeApi’ undeclared (first use in this function)

These constants are defined only in FFIConstants shared pool.. and
somehow they should be made available to
these .c files..
But our beloved VMMaker's code generator don't generating headers
which can be included by other .c files,
and all class var constants are just printed inside a body of
generated .c file , like SqueakFFIPrims.c
which means that these constants should be defined externally manually
somewhere.

So, it seems like  FFI is broken for Mac+Cog.

P.S. Eliot's default .xcodeproj for FFI plugin are not builds because
its not including one of the files above, which making a build
complete (otherwise you got undefined symbols).

Please shed a light, if FFI for Mac + Cog were in working state at
some day? Or i doing something completely wrong?

Of course i can disable it from build and forget about it, since we
have new stuff coming (of course if Santa decide that we were good
boys),
but still..

-- 
Best regards,
Igor Stasenko AKA sig.


More information about the Vm-dev mailing list