Guy Harris wrote:
On Jul 26, 2011, at 10:23 AM, Joerg Mayer wrote:
On Tue, Jul 26, 2011 at 01:06:08PM -0400, Jeff Morriss wrote:
Remember that since r35145 (and probably some other revs as the kinks
got worked out), libtool-based builds only export the listed symbols.
(Hmmm, I wonder if cmake has that same functionality.)
I know that I never did anything to add this stuff and I don't remember
any commits to that effect, but maybe I'm mistaken. I also must admit
that I never really understood the reason for adding this stuff to the
unix builds.
I think the intent was to cause a failure if a routine was added that was used by one of our plugins but wasn't listed in libwireshark.def, so that UN*X developers would be less likely to break the build. I'm not sure that it's sufficient to catch all the cases where the build would break on Windows, though.
I think there were some other reasons, too, including [IIRC]:
- Having a controlled list of symbols reduces our ABI-change exposure
(see http://linuxtesting.org/upstream-tracker/versions/wireshark.html )
- Fewer symbols means less work for the loader which theoretically means
faster load times (linuxtesting.org shows we lost 3040 symbols in 1.5.0
thanks to this change)