Hi,

Today I've essentially completed the work on moving us from working with .def files, which list symbols to be exported, to just decorating them in the code. That includes the Parrot core, PMCs (core and dynamic) and ops (core and dynamic).

One result of this is that functions that can be used in dynamic PMCs and dynops without expecting things to break on platforms (aka Win32) that need to explicitly mark what to export are now all marked in the header files with "PARROT_API". If you want to use a function that isn't marked with this, please mark it or consider whether it belongs in the Parrot extensions API. One day, when we get to a stable release I guess these labels will determine what extenders can use and expect to work in future versions.

I will also write a script in the next couple of days to generate a list of symbols marked with PARROT_API, to make life easier if there are platforms that don't handle symbol decoration and do need an export list. Chip mentioned something about AIX needing this, but I don't think we have anyone building there at the moment?

Thanks for your patience while I've been modifiying lots of header files and config stuff.

Jonathan

Reply via email to