Don't link explicitly with libwmem, it's already in libwireshark and the symbol

doubling leads to all sorts of very subtle badness (including test failures due
to funny internal assertions because the two wmems have mismatching state).

Make wmem_init and wmem_cleanup PUBLIC instead of LOCAL so that they don't get
stripped and don't cause a link failure when trying to build oids_test (now that
it's not linking with libwmem explicitly). There is possibly a better way to fix
this, but I'm not sure what it is.

svn path=/trunk/; revision=52694
This commit is contained in:
Evan Huus 2013-10-19 19:40:02 +00:00
parent 3635bea0a4
commit 1f3549168d
2 changed files with 2 additions and 3 deletions

View File

@ -169,7 +169,6 @@ tvbtest_LDADD = \
oids_test_LDADD = \
libwireshark.la \
wmem/libwmem.la \
$(GLIB_LIBS) \
-lz

View File

@ -199,7 +199,7 @@ wmem_allocator_new(const wmem_allocator_type_t type);
/** Initialize the wmem subsystem. This must be called before any other wmem
* function, usually at the very beginning of your program.
*/
WS_DLL_LOCAL
WS_DLL_PUBLIC
void
wmem_init(void);
@ -207,7 +207,7 @@ wmem_init(void);
* functions, usually at the very end of your program. This function will not
* destroy outstanding allocators, you must do that yourself.
*/
WS_DLL_LOCAL
WS_DLL_PUBLIC
void
wmem_cleanup(void);