bubaflub / parrot-gmp

GMP bindings for Parrot
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/bubaflub/1
Artistic License 2.0
6 stars 1 forks source link

Remove dependency on libffi #16

Closed bubaflub closed 13 years ago

bubaflub commented 13 years ago

Before installing libffi (and reconfiguring / reinstalling parrot and winxed) when I called mpz_add_ui I would get the following error:

No NCI thunk available for signature `void (ptr, ptr, int)'

Installing libffi fixed the problem, but Whiteknight++ mentioned I should create a library of custom thunks to not need libffi.

bubaflub commented 13 years ago

Not absolutely necessary until I cut a release for public consumption. Plobsing++ mentioned that I would want to use parrot_nci_thunk_gen (which is installed when Parrot does make install). This script requires a .nci file (which is not the same format as ncidef2pir.pl) that lists all the NCI signatures I'd like to generate thunks for. After that I'll have to use parrotconfig to generate the platform appropriate shared library and load it with the correct loadlib* function.

I could also hack src/nci/libffi.c (around line 254) to output the signatures as they are generated by libffi. That would save me the trouble of having to guess which signatures are needed.

bubaflub commented 13 years ago

67cbcf3 currently makes libffi a requirement for building. When this requirement is lifted make sure to edit setup.winxed.

bubaflub commented 13 years ago

d0396939ae adds a script and the an NCI definition for parrot_nci_thunk_gen.

bubaflub commented 13 years ago

0a99c90 adds automated building of the NCI thunk to setup.winxed.

bubaflub commented 13 years ago

Commit acb8999 frees us from our libffi overlords.