]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
mingw: Fix symbol export
authorMatthias Bolte <matthias.bolte@googlemail.com>
Mon, 3 May 2010 10:21:58 +0000 (12:21 +0200)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Mon, 3 May 2010 20:05:04 +0000 (22:05 +0200)
In commit 98fb83ce25f46e0236706fa6e0943032d921935f I changed the
version script handling. But it seems that I didn't test this properly
and broke it. The .def file is passed to the compiler directly, but it
should get passed to the linker instead.

Set VERSION_SCRIPT_FLAGS to -Wl, to pass the .def file correctly to
the linker.

This fixes the undefined symbol errors while linking virsh.

configure.ac

index f25e173585cb0c0914ef28c53838aec71d72ede2..6ee5b9028268b239cf73cdb56c66cb9b39dd8401 100644 (file)
@@ -78,7 +78,6 @@ AM_PROG_LD
 VERSION_SCRIPT_FLAGS=-Wl,--version-script=
 `$LD --help 2>&1 | grep -- --version-script >/dev/null` || \
     VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
-AC_SUBST(VERSION_SCRIPT_FLAGS)
 
 LIBVIRT_COMPILE_WARNINGS([maximum])
 
@@ -1824,10 +1823,11 @@ case "$host" in
     # from libvirt.syms and passes libvirt.def instead of libvirt.syms to the linker
     LIBVIRT_SYMBOL_FILE=libvirt.def
     # mingw's ld has the --version-script parameter, but it requires a .def file
-    # instead to work properly, therefore clear --version-script here
+    # instead to work properly, therefore clear --version-script here and use
+    # -Wl, to pass the .def file to the linker
     # cygwin's ld has the --version-script parameter too, but for some reason
     # it's working there as expected
-    VERSION_SCRIPT_FLAGS=
+    VERSION_SCRIPT_FLAGS="-Wl,"
     ;;
 esac
 AC_SUBST([CYGWIN_EXTRA_LDFLAGS])
@@ -1836,6 +1836,7 @@ AC_SUBST([CYGWIN_EXTRA_PYTHON_LIBADD])
 AC_SUBST([MINGW_EXTRA_LDFLAGS])
 AC_SUBST([WIN32_EXTRA_CFLAGS])
 AC_SUBST([LIBVIRT_SYMBOL_FILE])
+AC_SUBST([VERSION_SCRIPT_FLAGS])
 
 
 dnl Look for windres to build a Windows icon resource.