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

Matthias Bolte matthias.bolte at googlemail.com
Wed Apr 28 22:00:29 UTC 2010


2010/4/27 Daniel Veillard <veillard at redhat.com>:
> 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
>

Thanks, pushed.

Matthias




More information about the libvir-list mailing list