[PATCH] build-sys: do not include Windows SLIRP dependencies in $LIBS

Paolo Bonzini posted 1 patch 4 years, 4 months ago
Test asan failed
Test checkpatch failed
Test FreeBSD failed
Test docker-mingw@fedora failed
Test docker-clang@ubuntu failed
Test docker-quick@centos7 failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1576074210-52834-2-git-send-email-pbonzini@redhat.com
configure | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH] build-sys: do not include Windows SLIRP dependencies in $LIBS
Posted by Paolo Bonzini 4 years, 4 months ago
When including the internal SLIRP library, we should add all the libraries that
it needs for the build.  Right now they are all included by QEMU, but -liphlpapi
is not needed without slirp.  Move it from LIBS to slirp_libs.

Based on a patch by Marc-André Lureau.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 6099be1..d16dad2 100755
--- a/configure
+++ b/configure
@@ -926,7 +926,7 @@ if test "$mingw32" = "yes" ; then
   DSOSUF=".dll"
   # MinGW needs -mthreads for TLS and macro _MT.
   QEMU_CFLAGS="-mthreads $QEMU_CFLAGS"
-  LIBS="-lwinmm -lws2_32 -liphlpapi $LIBS"
+  LIBS="-lwinmm -lws2_32 $LIBS"
   write_c_skeleton;
   if compile_prog "" "-liberty" ; then
     LIBS="-liberty $LIBS"
@@ -6069,6 +6069,9 @@ case "$slirp" in
     mkdir -p slirp
     slirp_cflags="-I\$(SRC_PATH)/slirp/src -I\$(BUILD_DIR)/slirp/src"
     slirp_libs="-L\$(BUILD_DIR)/slirp -lslirp"
+    if test "$mingw32" = "yes" ; then
+      slirp_libs="$slirp_libs -lws2_32 -liphlpapi"
+    fi
     ;;
 
   system)
-- 
1.8.3.1


Re: [PATCH] build-sys: do not include Windows SLIRP dependencies in $LIBS
Posted by Samuel Thibault 4 years, 4 months ago
Paolo Bonzini, le mer. 11 déc. 2019 15:23:23 +0100, a ecrit:
> When including the internal SLIRP library, we should add all the libraries that
> it needs for the build.  Right now they are all included by QEMU, but -liphlpapi
> is not needed without slirp.  Move it from LIBS to slirp_libs.
> 
> Based on a patch by Marc-André Lureau.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

(I don't have a win environment to test this)

> ---
>  configure | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index 6099be1..d16dad2 100755
> --- a/configure
> +++ b/configure
> @@ -926,7 +926,7 @@ if test "$mingw32" = "yes" ; then
>    DSOSUF=".dll"
>    # MinGW needs -mthreads for TLS and macro _MT.
>    QEMU_CFLAGS="-mthreads $QEMU_CFLAGS"
> -  LIBS="-lwinmm -lws2_32 -liphlpapi $LIBS"
> +  LIBS="-lwinmm -lws2_32 $LIBS"
>    write_c_skeleton;
>    if compile_prog "" "-liberty" ; then
>      LIBS="-liberty $LIBS"
> @@ -6069,6 +6069,9 @@ case "$slirp" in
>      mkdir -p slirp
>      slirp_cflags="-I\$(SRC_PATH)/slirp/src -I\$(BUILD_DIR)/slirp/src"
>      slirp_libs="-L\$(BUILD_DIR)/slirp -lslirp"
> +    if test "$mingw32" = "yes" ; then
> +      slirp_libs="$slirp_libs -lws2_32 -liphlpapi"
> +    fi
>      ;;
>  
>    system)
> -- 
> 1.8.3.1
> 
> 

-- 
Samuel
 > Quelqu'un aurait-il une solution pour réinitialiser un MBR
 Si tu veux qu'il soit complètement blanc (pas souhaitable, à mon avis) :
 dd if=/dev/zero of=/dev/hda bs=512 count=1 (sous Linux)
 -+- OT in Guide du linuxien (très) pervers - "Pour les K difficiles" -+-

Re: [PATCH] build-sys: do not include Windows SLIRP dependencies in $LIBS
Posted by Paolo Bonzini 4 years, 4 months ago
On 11/12/19 15:37, Samuel Thibault wrote:
> Paolo Bonzini, le mer. 11 déc. 2019 15:23:23 +0100, a ecrit:
>> When including the internal SLIRP library, we should add all the libraries that
>> it needs for the build.  Right now they are all included by QEMU, but -liphlpapi
>> is not needed without slirp.  Move it from LIBS to slirp_libs.
>>
>> Based on a patch by Marc-André Lureau.
>>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> 
> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

Ok, I'll queue it.  But you could use "make docker-test-mingw@fedora". :)

Paolo

> (I don't have a win environment to test this)
> 
>> ---
>>  configure | 5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/configure b/configure
>> index 6099be1..d16dad2 100755
>> --- a/configure
>> +++ b/configure
>> @@ -926,7 +926,7 @@ if test "$mingw32" = "yes" ; then
>>    DSOSUF=".dll"
>>    # MinGW needs -mthreads for TLS and macro _MT.
>>    QEMU_CFLAGS="-mthreads $QEMU_CFLAGS"
>> -  LIBS="-lwinmm -lws2_32 -liphlpapi $LIBS"
>> +  LIBS="-lwinmm -lws2_32 $LIBS"
>>    write_c_skeleton;
>>    if compile_prog "" "-liberty" ; then
>>      LIBS="-liberty $LIBS"
>> @@ -6069,6 +6069,9 @@ case "$slirp" in
>>      mkdir -p slirp
>>      slirp_cflags="-I\$(SRC_PATH)/slirp/src -I\$(BUILD_DIR)/slirp/src"
>>      slirp_libs="-L\$(BUILD_DIR)/slirp -lslirp"
>> +    if test "$mingw32" = "yes" ; then
>> +      slirp_libs="$slirp_libs -lws2_32 -liphlpapi"
>> +    fi
>>      ;;
>>  
>>    system)
>> -- 
>> 1.8.3.1
>>
>>
>