On Fri, 27 Aug 2010, Mathieu Bouchard wrote:
Is there any way to make that linkage more local on Linux ? Is the only possibility, to declare the "::new" operators as static inline or so, in the *.h files ? (I think I did that for a while in GF, but I removed those completely several years ago because I wasn't really using them anymore)
Actually, the options for that are in the loading of the .so files, which is in Pd's s_loader.c, and that uses the RTLD_GLOBAL option in the dlopen() command, and that is required so that GEM<->PDP, GF<->GEM and GF<->PDP connectors work (as they are implemented now).
And the platform-dependency of that, is explaining the weird hacks we had to do (Patrice Colet and I), to make GF<->GEM work properly on Windows, because the Windows code probably doesn't use an equivalent of RTLD_GLOBAL, and/or something to do with __declspec(dllexport) and __declspec(dllimport)... does anyone compile third-party GEM externals in a way not linked to Gem.DLL ? Because that would be an example for how to improve that aspect of GF...
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard on the road (in Îles-de-la-Madeleine, QC).