Hmm, curious, is there an option to break them out again if one compiles
one's own copy? I'm thinking that leaving out the bigger tracts of unused
functionality might be advantageous for standalone distributions of
"utility" scripts? Or is it the case that the dependent DLLs were so small
it was pointless keeping them out?
Hmm, curious, is there an option to break them out again if one compiles
one's own copy?
The code to do it that way is still in setup.py, but commented out and moved
to the bottom. It will work fine on Windows, but not on Linux/Unix.
The root of the problem is that there is some code that must be shared
across all extension modules, and there must be only a single instance of
it. On Windows it was easy, I just link the other .pyd's with the import
library generated for wxc.pyd, and the symbols were found at runtime. On
Linux I had to use a separate shared library that all the extension modules
linked with, libwxPyHelpers.so. I couldn't just put that code in wxc.so
like on Windows since one extension module couldn't see the symbols in
another unless they were loaded with certain flags, which Python doesn't
use. Building and installing this was difficult at best with my old
build.py/Makefile system, and a bit worse with distutils, so I decided that
it was better to make things more simple rather than more complex and just
changed the build to put everything in one extension module.
After the discussion yesterday with Mummit about exporting functions via a
CObject, I might try doing it that way if we ever need to split the modules
again.
I'm thinking that leaving out the bigger tracts of unused
functionality might be advantageous for standalone distributions of
"utility" scripts? Or is it the case that the dependent DLLs were so
small
it was pointless keeping them out?
One was real small, the other two were fairly big, (500k and 1M.)