Bump! On 18 February 2010 04:27, Stefan Behnel <[email protected]> wrote: > Lisandro Dalcin, 17.02.2010 23:38: >> What is not clear to me is the following: Should "public", "api", or >> "public api" have any semantic diference? >> [...] >> Greg said that he never intended to provide DLL export >> mechanisms, and in fact he just wanted to make stuff available across >> compilation units (i.e, make stuff available to other C source files >> being compiled ALONGSIDE the generated C sources to build the final >> ext module). If we enforce this, I mean we are not going to support >> ext module interlinking, then almost the usages of DL_IMPORT/DL_EXPORT >> macros are a nonsense and should be removed, alongside almost all >> these dll_linkage arguments in many methods. >> [...] >> So... What do you think? > > My take is that public symbols are only portably usable at static link > time, so supporting more is simply not worth it. Even static linking > against symbols exported by a Cython module should be a very rare use case. > It's not used when calling external C code nor is it worth anything when > providing callbacks into the Cython code. Most of the time, the external > code will be there first and will be used by the Cython code, not the other > way round. This mechanism shouldn't be seen as something that's usable at > dynamic linking time. There's public C-API support for that. I second your > intuition that the DL_EXPORT stuff can be dropped completely. >
OK. > There's also the use case of statically linking multiple Cython modules > into one extension module. This isn't currently supported (really), and > there's more to do to make it run smooth. Are you talking about the limitations/gotchas in Python's import.c implementation ? > But I don't think it would > interfere with the above in any way. > Of course. Anyone has something to add? Greg? Still... What should we do with 'public' and 'api' keywords? -- Lisandro Dalcin --------------- Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC) Instituto de Desarrollo Tecnológico para la Industria Química (INTEC) Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) PTLC - Güemes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594 _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
