qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] configure: Support pkg-config for zlib
@ 2018-07-12 19:26 Stefan Weil
  2018-07-18 16:04 ` Stefan Hajnoczi
  2018-07-18 16:21 ` Daniel P. Berrangé
  0 siblings, 2 replies; 6+ messages in thread
From: Stefan Weil @ 2018-07-12 19:26 UTC (permalink / raw)
  To: QEMU Developer; +Cc: QEMU Trivial, Stefan Weil

This is needed for builds with the mingw64-* packages from Cygwin,
but also works for Linux.

Move the zlib test also more to the end because users should
get information on the really important missing packages
(which also require zlib) first.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
---
 configure | 40 +++++++++++++++++++++++-----------------
 1 file changed, 23 insertions(+), 17 deletions(-)

diff --git a/configure b/configure
index 2a7796ea80..dcaab01729 100755
--- a/configure
+++ b/configure
@@ -2140,23 +2140,6 @@ EOF
   fi
 fi
 
-#########################################
-# zlib check
-
-if test "$zlib" != "no" ; then
-    cat > $TMPC << EOF
-#include <zlib.h>
-int main(void) { zlibVersion(); return 0; }
-EOF
-    if compile_prog "" "-lz" ; then
-        :
-    else
-        error_exit "zlib check failed" \
-            "Make sure to have the zlib libs and headers installed."
-    fi
-fi
-LIBS="$LIBS -lz"
-
 ##########################################
 # lzo check
 
@@ -3525,6 +3508,29 @@ if ! compile_prog "$glib_cflags -Werror" "$glib_libs" ; then
     fi
 fi
 
+#########################################
+# zlib check
+
+if test "$zlib" != "no" ; then
+    if $pkg_config --exists zlib; then
+        zlib_cflags=$($pkg_config --cflags zlib)
+        zlib_libs=$($pkg_config --libs zlib)
+        QEMU_CFLAGS="$zlib_cflags $QEMU_CFLAGS"
+        LIBS="$zlib_libs $LIBS"
+    else
+        cat > $TMPC << EOF
+#include <zlib.h>
+int main(void) { zlibVersion(); return 0; }
+EOF
+        if compile_prog "" "-lz" ; then
+            LIBS="$LIBS -lz"
+        else
+            error_exit "zlib check failed" \
+                "Make sure to have the zlib libs and headers installed."
+        fi
+    fi
+fi
+
 ##########################################
 # SHA command probe for modules
 if test "$modules" = yes; then
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] configure: Support pkg-config for zlib
  2018-07-12 19:26 [Qemu-devel] [PATCH] configure: Support pkg-config for zlib Stefan Weil
@ 2018-07-18 16:04 ` Stefan Hajnoczi
  2018-07-18 16:21 ` Daniel P. Berrangé
  1 sibling, 0 replies; 6+ messages in thread
From: Stefan Hajnoczi @ 2018-07-18 16:04 UTC (permalink / raw)
  To: Stefan Weil; +Cc: QEMU Developer, QEMU Trivial

[-- Attachment #1: Type: text/plain, Size: 551 bytes --]

On Thu, Jul 12, 2018 at 09:26:03PM +0200, Stefan Weil wrote:
> This is needed for builds with the mingw64-* packages from Cygwin,
> but also works for Linux.
> 
> Move the zlib test also more to the end because users should
> get information on the really important missing packages
> (which also require zlib) first.
> 
> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> ---
>  configure | 40 +++++++++++++++++++++++-----------------
>  1 file changed, 23 insertions(+), 17 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] configure: Support pkg-config for zlib
  2018-07-12 19:26 [Qemu-devel] [PATCH] configure: Support pkg-config for zlib Stefan Weil
  2018-07-18 16:04 ` Stefan Hajnoczi
@ 2018-07-18 16:21 ` Daniel P. Berrangé
  2018-07-18 16:59   ` Stefan Weil
  1 sibling, 1 reply; 6+ messages in thread
From: Daniel P. Berrangé @ 2018-07-18 16:21 UTC (permalink / raw)
  To: Stefan Weil; +Cc: QEMU Developer, QEMU Trivial

On Thu, Jul 12, 2018 at 09:26:03PM +0200, Stefan Weil wrote:
> This is needed for builds with the mingw64-* packages from Cygwin,
> but also works for Linux.
> 
> Move the zlib test also more to the end because users should
> get information on the really important missing packages
> (which also require zlib) first.

According to the zlib Changelog file pkgconfig support was added
in 2006 !

[quote]
Changes in 1.2.3.1 (16 August 2006)

  - Add pkgconfig support [Weigelt]
[/quote]

Given our target build platforms support guidelines

  https://qemu.weilnetz.de/doc/qemu-doc.html#Supported-build-platforms

we can safely say that all supported platforms will have a zlib
that contains pkgconfig support, so......

> 
> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> ---
>  configure | 40 +++++++++++++++++++++++-----------------
>  1 file changed, 23 insertions(+), 17 deletions(-)
> 
> diff --git a/configure b/configure
> index 2a7796ea80..dcaab01729 100755
> --- a/configure
> +++ b/configure
> @@ -2140,23 +2140,6 @@ EOF
>    fi
>  fi
>  
> -#########################################
> -# zlib check
> -
> -if test "$zlib" != "no" ; then
> -    cat > $TMPC << EOF
> -#include <zlib.h>
> -int main(void) { zlibVersion(); return 0; }
> -EOF
> -    if compile_prog "" "-lz" ; then
> -        :
> -    else
> -        error_exit "zlib check failed" \
> -            "Make sure to have the zlib libs and headers installed."
> -    fi
> -fi
> -LIBS="$LIBS -lz"
> -
>  ##########################################
>  # lzo check
>  
> @@ -3525,6 +3508,29 @@ if ! compile_prog "$glib_cflags -Werror" "$glib_libs" ; then
>      fi
>  fi
>  
> +#########################################
> +# zlib check
> +
> +if test "$zlib" != "no" ; then
> +    if $pkg_config --exists zlib; then
> +        zlib_cflags=$($pkg_config --cflags zlib)
> +        zlib_libs=$($pkg_config --libs zlib)
> +        QEMU_CFLAGS="$zlib_cflags $QEMU_CFLAGS"
> +        LIBS="$zlib_libs $LIBS"
> +    else
> +        cat > $TMPC << EOF
> +#include <zlib.h>
> +int main(void) { zlibVersion(); return 0; }
> +EOF
> +        if compile_prog "" "-lz" ; then
> +            LIBS="$LIBS -lz"
> +        else
> +            error_exit "zlib check failed" \
> +                "Make sure to have the zlib libs and headers installed."
> +        fi
> +    fi

.... this fallback support for non-pkgconfig scenarios can be entirely
deleted, just leaving the error_exit message. 


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] configure: Support pkg-config for zlib
  2018-07-18 16:21 ` Daniel P. Berrangé
@ 2018-07-18 16:59   ` Stefan Weil
  2018-07-18 17:04     ` Daniel P. Berrangé
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Weil @ 2018-07-18 16:59 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: QEMU Developer, QEMU Trivial

Am 18.07.2018 um 18:21 schrieb Daniel P. Berrangé:
> On Thu, Jul 12, 2018 at 09:26:03PM +0200, Stefan Weil wrote:
>> This is needed for builds with the mingw64-* packages from Cygwin,
>> but also works for Linux.
>>
>> Move the zlib test also more to the end because users should
>> get information on the really important missing packages
>> (which also require zlib) first.
> 
> According to the zlib Changelog file pkgconfig support was added
> in 2006 !
> 
> [quote]
> Changes in 1.2.3.1 (16 August 2006)
> 
>   - Add pkgconfig support [Weigelt]
> [/quote]
> 
> Given our target build platforms support guidelines
> 
>   https://qemu.weilnetz.de/doc/qemu-doc.html#Supported-build-platforms
> 
> we can safely say that all supported platforms will have a zlib
> that contains pkgconfig support, so......
> 
>>
>> Signed-off-by: Stefan Weil <sw@weilnetz.de>
>> ---
>>  configure | 40 +++++++++++++++++++++++-----------------
>>  1 file changed, 23 insertions(+), 17 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 2a7796ea80..dcaab01729 100755
>> --- a/configure
>> +++ b/configure
>> @@ -2140,23 +2140,6 @@ EOF
>>    fi
>>  fi
>>  
>> -#########################################
>> -# zlib check
>> -
>> -if test "$zlib" != "no" ; then
>> -    cat > $TMPC << EOF
>> -#include <zlib.h>
>> -int main(void) { zlibVersion(); return 0; }
>> -EOF
>> -    if compile_prog "" "-lz" ; then
>> -        :
>> -    else
>> -        error_exit "zlib check failed" \
>> -            "Make sure to have the zlib libs and headers installed."
>> -    fi
>> -fi
>> -LIBS="$LIBS -lz"
>> -
>>  ##########################################
>>  # lzo check
>>  
>> @@ -3525,6 +3508,29 @@ if ! compile_prog "$glib_cflags -Werror" "$glib_libs" ; then
>>      fi
>>  fi
>>  
>> +#########################################
>> +# zlib check
>> +
>> +if test "$zlib" != "no" ; then
>> +    if $pkg_config --exists zlib; then
>> +        zlib_cflags=$($pkg_config --cflags zlib)
>> +        zlib_libs=$($pkg_config --libs zlib)
>> +        QEMU_CFLAGS="$zlib_cflags $QEMU_CFLAGS"
>> +        LIBS="$zlib_libs $LIBS"
>> +    else
>> +        cat > $TMPC << EOF
>> +#include <zlib.h>
>> +int main(void) { zlibVersion(); return 0; }
>> +EOF
>> +        if compile_prog "" "-lz" ; then
>> +            LIBS="$LIBS -lz"
>> +        else
>> +            error_exit "zlib check failed" \
>> +                "Make sure to have the zlib libs and headers installed."
>> +        fi
>> +    fi
> 
> .... this fallback support for non-pkgconfig scenarios can be entirely
> deleted, just leaving the error_exit message. 
> 
> 
> Regards,
> Daniel

I have no objection. Thank you for the investigation of the zlib
history. Removing old unneeded code is always good, but maybe that's
something which could be done after release 3.0.

Or would you suggest to do it now? Then I can either send an updated
patch (v2), or whoever pulls that patch can make that trivial modification.

Cheers
Stefan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] configure: Support pkg-config for zlib
  2018-07-18 16:59   ` Stefan Weil
@ 2018-07-18 17:04     ` Daniel P. Berrangé
  2018-07-18 19:07       ` Peter Maydell
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel P. Berrangé @ 2018-07-18 17:04 UTC (permalink / raw)
  To: Stefan Weil; +Cc: QEMU Developer, QEMU Trivial

On Wed, Jul 18, 2018 at 06:59:25PM +0200, Stefan Weil wrote:
> Am 18.07.2018 um 18:21 schrieb Daniel P. Berrangé:
> > On Thu, Jul 12, 2018 at 09:26:03PM +0200, Stefan Weil wrote:
> >> This is needed for builds with the mingw64-* packages from Cygwin,
> >> but also works for Linux.
> >>
> >> Move the zlib test also more to the end because users should
> >> get information on the really important missing packages
> >> (which also require zlib) first.
> > 
> > According to the zlib Changelog file pkgconfig support was added
> > in 2006 !
> > 
> > [quote]
> > Changes in 1.2.3.1 (16 August 2006)
> > 
> >   - Add pkgconfig support [Weigelt]
> > [/quote]
> > 
> > Given our target build platforms support guidelines
> > 
> >   https://qemu.weilnetz.de/doc/qemu-doc.html#Supported-build-platforms
> > 
> > we can safely say that all supported platforms will have a zlib
> > that contains pkgconfig support, so......
> > 
> >>
> >> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> >> ---
> >>  configure | 40 +++++++++++++++++++++++-----------------
> >>  1 file changed, 23 insertions(+), 17 deletions(-)
> >>
> >> diff --git a/configure b/configure
> >> index 2a7796ea80..dcaab01729 100755
> >> --- a/configure
> >> +++ b/configure
> >> @@ -2140,23 +2140,6 @@ EOF
> >>    fi
> >>  fi
> >>  
> >> -#########################################
> >> -# zlib check
> >> -
> >> -if test "$zlib" != "no" ; then
> >> -    cat > $TMPC << EOF
> >> -#include <zlib.h>
> >> -int main(void) { zlibVersion(); return 0; }
> >> -EOF
> >> -    if compile_prog "" "-lz" ; then
> >> -        :
> >> -    else
> >> -        error_exit "zlib check failed" \
> >> -            "Make sure to have the zlib libs and headers installed."
> >> -    fi
> >> -fi
> >> -LIBS="$LIBS -lz"
> >> -
> >>  ##########################################
> >>  # lzo check
> >>  
> >> @@ -3525,6 +3508,29 @@ if ! compile_prog "$glib_cflags -Werror" "$glib_libs" ; then
> >>      fi
> >>  fi
> >>  
> >> +#########################################
> >> +# zlib check
> >> +
> >> +if test "$zlib" != "no" ; then
> >> +    if $pkg_config --exists zlib; then
> >> +        zlib_cflags=$($pkg_config --cflags zlib)
> >> +        zlib_libs=$($pkg_config --libs zlib)
> >> +        QEMU_CFLAGS="$zlib_cflags $QEMU_CFLAGS"
> >> +        LIBS="$zlib_libs $LIBS"
> >> +    else
> >> +        cat > $TMPC << EOF
> >> +#include <zlib.h>
> >> +int main(void) { zlibVersion(); return 0; }
> >> +EOF
> >> +        if compile_prog "" "-lz" ; then
> >> +            LIBS="$LIBS -lz"
> >> +        else
> >> +            error_exit "zlib check failed" \
> >> +                "Make sure to have the zlib libs and headers installed."
> >> +        fi
> >> +    fi
> > 
> > .... this fallback support for non-pkgconfig scenarios can be entirely
> > deleted, just leaving the error_exit message. 
> 
> I have no objection. Thank you for the investigation of the zlib
> history. Removing old unneeded code is always good, but maybe that's
> something which could be done after release 3.0.
> 
> Or would you suggest to do it now? Then I can either send an updated
> patch (v2), or whoever pulls that patch can make that trivial modification.

If we're ok with adding support for pkg-config in 3.0, I think it is
reasonable to drop the fallback check at the same time.  I think it
this stills qualify as a bug fix patch in terms of our freeze rules,
since we're specificially aiming to fix build problems on one of our
supported platforms.

So personally I'd suggest sending a v2 with the fallback dropped.
for 3.0

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH] configure: Support pkg-config for zlib
  2018-07-18 17:04     ` Daniel P. Berrangé
@ 2018-07-18 19:07       ` Peter Maydell
  0 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2018-07-18 19:07 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: Stefan Weil, QEMU Trivial, QEMU Developer

On 18 July 2018 at 18:04, Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Wed, Jul 18, 2018 at 06:59:25PM +0200, Stefan Weil wrote:
>> Am 18.07.2018 um 18:21 schrieb Daniel P. Berrangé:
>> > .... this fallback support for non-pkgconfig scenarios can be entirely
>> > deleted, just leaving the error_exit message.
>>
>> I have no objection. Thank you for the investigation of the zlib
>> history. Removing old unneeded code is always good, but maybe that's
>> something which could be done after release 3.0.
>>
>> Or would you suggest to do it now? Then I can either send an updated
>> patch (v2), or whoever pulls that patch can make that trivial modification.
>
> If we're ok with adding support for pkg-config in 3.0, I think it is
> reasonable to drop the fallback check at the same time.  I think it
> this stills qualify as a bug fix patch in terms of our freeze rules,
> since we're specificially aiming to fix build problems on one of our
> supported platforms.
>
> So personally I'd suggest sending a v2 with the fallback dropped.
> for 3.0

I would favour doing that part in 3.1. This feels like the
kind of change that we're all pretty certain is safe that
then turns out not to be for some case or other, and it's
easier not to have to fix it up later.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-07-18 19:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-12 19:26 [Qemu-devel] [PATCH] configure: Support pkg-config for zlib Stefan Weil
2018-07-18 16:04 ` Stefan Hajnoczi
2018-07-18 16:21 ` Daniel P. Berrangé
2018-07-18 16:59   ` Stefan Weil
2018-07-18 17:04     ` Daniel P. Berrangé
2018-07-18 19:07       ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).