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