On Mar 2 10:47, Balazs Scheidler wrote:
On Wed, 2011-03-02 at 09:57 +0100, Corinna Vinschen wrote:
On Mar 1 19:23, Balazs Scheidler wrote:
So the general idea is: * everything gets linked into the main syslog-ng binary and libsyslog-ng.so/libivykis.so is not used. * even some of the selected modules can be linked in, which is a performance win
The issue with that is that the final link probably can't be performed by libtool, I've just manually edited the command line that it emitted.
I guess this can be a good solution for cygwin too, and will probably not be available for all platforms.
Thanks for the info. I'm curious how this will work.
well, something along the lines of
--enable-static --disable-shared
and some libtool magic to get all .a files linked into the syslog-ng binary with -Wl,--whole-archive
This doesn't need PIC compilation (as the .a files will be linked into the main executable) and can be done even for embedded libraries.
plugin loading would work on platforms where the .so files can use symbols from the executable: * this is the case on Linux * this is definitely not the case on AIX * on cygwin, if my guess is right, this will not work, so there all syslog-ng plugins must be linked in statically too.
The alternative is to introduce ivykis as a separate package on cygwin. Would that be a doable alternative?
We only allow packages in the distro for which we have a an active maintainer. If you're willing to package and maintain ivykis for Cygwin, or if you have somebody who's willing to do so, then that would be a doable solution, yes. I gave ivykis a quick whirl, but it doesn't build on Cygwin because Cygwin has no support for pthread_spinlocks so far. Corinna -- Corinna Vinschen Cygwin Project Co-Leader Red Hat