libvirt/include/libvirt
Daniel P. Berrange b6056cb6f3 Add missing 'extern' for VIR_EXPORT_VAR macro
The recent update to gnulib

  commit 9d7a37ecb2
  Author: Eric Blake <eblake@redhat.com>
  Date:   Thu Sep 15 15:12:52 2016 -0500

    build: update to latest gnulib

Pulled in a change that adds -fno-common to the default compiler
flags

  commit bf8e658ffadb95d444f56d222d04c9af955af765
  Author: Jim Meyering <meyering@fb.com>
  Date:   Fri Sep 2 09:16:16 2016 -0700

    manywarnings: add -fno-common

This caused libvirt Mingw build to break with the compiler
reporting 100's of definitions of virConnectAuthPtrDefault

./.libs/libvirt_util.a(libvirt_util_la-virarch.o):virarch.c:(.bss+0x0): multiple definition of `virConnectAuthPtrDefault'
./.libs/libvirt_util.a(libvirt_util_la-viralloc.o):viralloc.c:(.bss+0x0): first defined here
./.libs/libvirt_util.a(libvirt_util_la-viratomic.o):viratomic.c:(.bss+0x0): multiple definition of `virConnectAuthPtrDefault'
./.libs/libvirt_util.a(libvirt_util_la-viralloc.o):/home/berrange/src/virt/libvirt/src/util/viralloc.c:87: first defined here
./.libs/libvirt_util.a(libvirt_util_la-viraudit.o):viraudit.c:(.bss+0x0): multiple definition of `virConnectAuthPtrDefault'
./.libs/libvirt_util.a(libvirt_util_la-viralloc.o):/home/berrange/src/virt/libvirt/src/util/viralloc.c:87: first defined here
./.libs/libvirt_util.a(libvirt_util_la-virauth.o):virauth.c:(.bss+0x0): multiple definition of `virConnectAuthPtrDefault'
./.libs/libvirt_util.a(libvirt_util_la-viralloc.o):/home/berrange/src/virt/libvirt/src/util/viralloc.c:87: first defined here
./.libs/libvirt_util.a(libvirt_util_la-virauthconfig.o):virauthconfig.c:(.bss+0x0): multiple definition of `virConnectAuthPtrDefault'
...snip...

The cause is our VIR_EXPORT_VAR macro which has some
magic on win to add dllexport/dllimport to the variable
declaration. Unfortunately the dllexport branch missed
off the 'extern' keyword, so the header file was in
fact declaring an instance of the variable in every
source file.

Previously the linker would merge all these definitions
into one, but that no longer happens due to -fno-common

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2016-09-20 12:55:28 +01:00
..
libvirt-admin.h admin: fix virt-admin startup crash by calling virAdmInitialize 2016-06-29 16:33:08 +02:00
libvirt-common.h.in Add missing 'extern' for VIR_EXPORT_VAR macro 2016-09-20 12:55:28 +01:00
libvirt-domain-snapshot.h Move virDomainSnapshot related APIs out of libvirt.h.in 2014-10-24 17:20:20 +01:00
libvirt-domain.h api: add VIR_DOMAIN_UNDEFINE_KEEP_NVRAM flag 2016-09-13 09:31:50 +02:00
libvirt-event.h Move virEvent related APIs out of libvirt.h.in 2014-10-24 17:23:17 +01:00
libvirt-host.h libvirt-host: Move virTypedParam* to libvirt-common 2016-04-18 17:05:48 +02:00
libvirt-interface.h Move virInterface related APIs out of libvirt.h.in 2014-10-24 17:21:15 +01:00
libvirt-lxc.h libvirt-lxc: add virDomainLxcEnterCGroup API 2016-06-10 11:02:53 +01:00
libvirt-network.h Move virNetwork related APIs out of libvirt.h.in 2014-10-24 17:20:52 +01:00
libvirt-nodedev.h Introduce node device update event as top level event 2016-08-15 08:30:56 -04:00
libvirt-nwfilter.h Move virNWFilter related APIs out of libvirt.h.in 2014-10-24 17:21:34 +01:00
libvirt-qemu.h qemu: lifecycle: make agent-mode shutdown and reboot timeout 2015-04-02 11:08:48 +02:00
libvirt-secret.h conf: Add new secret type "tls" 2016-09-09 08:20:05 -04:00
libvirt-storage.h Promote storage pool refresh lifecycle event to top level event 2016-06-24 18:26:11 +01:00
libvirt-stream.h Move virStream related APIs out of libvirt.h.in 2014-10-24 17:22:38 +01:00
libvirt.h libvirt: introduce libvirt/libvirt-common.h.in 2015-11-30 09:36:19 +01:00
Makefile.am admin: enable both admin API functionality and tarball distribution 2016-06-26 00:21:06 +02:00
virterror.h qemu: guest agent: introduce new error code VIR_ERR_AGENT_UNSYNCED 2016-09-07 12:35:18 +03:00