Alistair,

I also would like to see how this works.




(actually this is a fork from Ronie's work) that does some Pharo magic for bindings.


And https://github.com/pavel-krivanek/CCodeGenerator may help to generate some quick external things to reload (it is Slang externalized).

We need a solid push on all of this front since it takes wayyy too much time to produce a binding. It is error prone, boring, and frankly UFFI deserves better given its power.

Best,
Phil


On Mon, Dec 3, 2018 at 10:27 AM Alistair Grant <akgrant0710@gmail.com> wrote:
Hi Ben and Phil,

Thanks for your replies.

On Sun, Dec 02, 2018 at 10:53:11PM +0800, Ben Coman wrote:
> One option could be to create a small shared library that you compile for each
> platform that just exported the member offsets...
> https://www.embedded.com/design/prototyping-and-development/4024941/
> Learn-a-new-trick-with-the-offsetof--macro
>
> You first FFI to that read struct member offsets and dynamically create the
> definitions for your target library.
> I haven't tried it in practice.
>
> cheers -ben
>
> P.S. Occasionally I dream about compilers being able to embed a pre-compiled
> header declaration block in the library for FFI users to iterate...
> https://clang.llvm.org/docs/PCHInternals.html#declarations-block



On Sun, Dec 02, 2018 at 04:41:38PM +0100, phil@highoctane.be wrote:
> No, but what about FFIExternalPackedStructureTest�� and FFITestStructure ?
>
> Never tried with a typedef in the fieldsDesc but may work.
>
> Phil


OK, it sounds like this still hasn't been adressed.

The other idea that we've discussed in the past is to supply human
readable text files that describe the structures for each platform, e.g.
a STON file.�� The file would be generated by automatically creating a
program that dumps the required information to the STON text file.�� This
would allow the definitions to be used on platforms that don't have a
compiler or the dev versions of the libraries installed.�� I think we
could even use the current #fieldDesc methods to generate these programs
(maybe with some additional information stored in the class).

A couple of links:

- http://forum.world.st/PATCH-added-FilePlugin-error-code-lookup-function-tp5071376p5071620.html
- http://forum.world.st/PATCH-added-FilePlugin-error-code-lookup-function-tp5071376p5075016.html


Thanks again,
Alistair