[libvirt] [PATCH] cygwin/mingw: Fix version script handling

Daniel Veillard veillard at redhat.com
Tue Apr 27 08:23:54 UTC 2010


On Tue, Apr 27, 2010 at 10:01:41AM +0200, Matthias Bolte wrote:
> Let configure detect ld instead of hardcoding /usr/bin/ld, because
> MinGW may have ld in /bin.
> 
> Only use a .def file to export symbols on MinGW. Cygwin's ld supports
> the normal .syms file used on Linux.
> ---
>  configure.ac |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 955a9e9..7121c3e 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -73,9 +73,10 @@ AC_LIBTOOL_WIN32_DLL
>  
>  AM_PROG_LIBTOOL
>  AM_PROG_CC_C_O
> +AM_PROG_LD
>  
>  VERSION_SCRIPT_FLAGS=-Wl,--version-script=
> -`/usr/bin/ld --help 2>&1 | grep -- --version-script >/dev/null` || \
> +`$LD --help 2>&1 | grep -- --version-script >/dev/null` || \
>      VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
>  AC_SUBST(VERSION_SCRIPT_FLAGS)
>  
> @@ -1804,9 +1805,17 @@ case "$host" in
>      if test "x$enable_shared" = "xno"; then
>        WIN32_EXTRA_CFLAGS="-DLIBVIRT_STATIC"
>      fi
> +esac
> +case "$host" in
> +  *-*-mingw* | *-*-msvc* )
>      # Also set the symbol file to .def, so src/Makefile generates libvirt.def
>      # 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
> +    # cygwin's ld has the --version-script parameter too, but for some reason
> +    # it's working there as expected
> +    VERSION_SCRIPT_FLAGS=
>      ;;
>  esac
>  AC_SUBST([CYGWIN_EXTRA_LDFLAGS])

ACK,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list