internal: don't use weak symbols for Win32 platform

The Win32 platform will fail to link if you use weak symbols
because it is incompatible with exporting symbols in a DLL:

Cannot export virRandomGenerateWWN: symbol wrong type (2 vs 3)

We only need weak symbols for our test suite to do LD_PRELOAD
and this doesn't work on Win32, so we can just drop the hack
for Win32

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrange 2017-07-11 15:24:06 +01:00
parent c8fb3c3159
commit b9473d8b11
1 changed files with 7 additions and 3 deletions

View File

@ -128,10 +128,14 @@
*
*/
# ifndef ATTRIBUTE_MOCKABLE
# if __GNUC_PREREQ(4, 5)
# define ATTRIBUTE_MOCKABLE __attribute__((__noinline__, __noclone__, __weak__))
# if defined(WIN32)
# define ATTRIBUTE_MOCKABLE
# else
# define ATTRIBUTE_MOCKABLE __attribute__((__noinline__, __weak__))
# if __GNUC_PREREQ(4, 5)
# define ATTRIBUTE_MOCKABLE __attribute__((__noinline__, __noclone__, __weak__))
# else
# define ATTRIBUTE_MOCKABLE __attribute__((__noinline__, __weak__))
# endif
# endif
# endif