[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[Libevent-users] Something to consider for future



Hi folks

As stated in a prior note, I'm working on integrating libevent 2.0 with Open MPI. We actually carry a copy of your code as part of our distribution (respecting all copyright requirements) for two reasons: (a) portability (to ensure that someone building OMPI on their machine has the same version installed), and (b) we need to modify it somewhat to get things working correctly across the broad range of our installed base.

What this necessitates (among other things) is that we "hide" your symbols so that an app that links directly against an installed libevent won't generate conflicts. This is the crux of my current note.

Rather than only having public APIs as public symbols, libevent 2.0 has literally hundreds of public symbols, almost all of which are only intended to be internally accessed. So embedding libevent now requires a rather arduous task of creating hundreds of #define's by hand.

It is my understanding that quite a few software packages also embed libevent in their distributions, so this is a fairly common problem. It would make life much easier, therefore, if you only declared the true public APIs as public symbols, defining all internal-only functions as "static".

Just something to consider as you move forward.
Ralph

***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.