Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1694.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1694 Author: eem Time: 23 February 2016, 9:30:35.750871 am UUID: e1381bbc-a5af-4a35-ac60-a739611c7e0e Ancestors: VMMaker.oscog-eem.1693
Fix compilation of ThreadedFFIPlugin subclasses as internal plugins.
=============== Diff against VMMaker.oscog-eem.1693 ===============
Item was changed: ----- Method: ThreadedFFIPlugin class>>generateCodeStringForPrimitives (in category 'translation') ----- generateCodeStringForPrimitives "Output a skeletal SqueakFFIPrims.c that includes the relevant FooFFIPlugin.c for each subclass based on the identifyingPredefinedMacros the subclass defines." ^String streamContents: [:s| s nextPutAll: '/* Automatically generated by\ ' withCRs. s nextPutAll: (CCodeGenerator monticelloDescriptionFor: self). s cr; nextPutAll: ' */'. s cr; cr; nextPut: $#. (self allSubclasses sort: [:a :b| a name < b name]) do: [:class | class identifyingPredefinedMacros ifNotNil: [:predefinedMacros| s nextPutAll: 'if '. class includingPredefinedMacros ifNotNil: [:includingMacros| includingMacros do: [:predefinedMacro| s nextPutAll: 'defined('; nextPutAll: predefinedMacro; nextPutAll: ') && ']. s nextPut: $(]. class excludingPredefinedMacros ifNotNil: [:excludingMacros| excludingMacros do: [:predefinedMacro| s nextPutAll: '!!defined('; nextPutAll: predefinedMacro; nextPutAll: ') && ']. s nextPut: $(]. predefinedMacros do: [:predefinedMacro| s nextPutAll: 'defined('; nextPutAll: predefinedMacro; nextPut: $)] separatedBy: [s nextPutAll: ' || ']. class excludingPredefinedMacros ifNotNil: [s nextPut: $)]. class includingPredefinedMacros ifNotNil: [s nextPut: $)]. + s cr; cr; nextPutAll: '# define '; nextPutAll: class moduleName; nextPutAll: '_exports '; + nextPutAll: self moduleName; nextPutAll: '_exports'. + s cr; nextPutAll: '# include "'; nextPutAll: class moduleName; nextPutAll: '.c"'. - s cr; cr; nextPutAll: '# include "'; nextPutAll: class moduleName; nextPutAll: '.c"'. s cr; cr; nextPutAll: '#el']]. s nextPutAll: 'se'. #( 'As yet no FFI implementation appears to exist for your platform.' 'Consider implementing it, starting by adding a subclass of ThreadedFFIPlugin.') do: + [:msg| s cr; nextPutAll: '# error '; nextPutAll: msg]. - [:msg| s cr; nextPutAll: '# error '; nextPutAll: msg]. s cr; nextPutAll: '#endif'; cr]!
vm-dev@lists.squeakfoundation.org