diff mbox series

configure: Require pixman for vhost-user-gpu.

Message ID 20200801224406.315875-1-rkitover@gmail.com
State New
Headers show
Series configure: Require pixman for vhost-user-gpu. | expand

Commit Message

Rafael Kitover Aug. 1, 2020, 10:44 p.m. UTC
Use the test from Makefile to check if vhost-user-gpu is being built,
and if so require pixman.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
---
 configure | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

Comments

Thomas Huth Aug. 3, 2020, 6:09 a.m. UTC | #1
On 02/08/2020 00.44, Rafael Kitover wrote:
> Use the test from Makefile to check if vhost-user-gpu is being built,
> and if so require pixman.

Fixes: 9b52b17ba5 ("configure: Allow to build tools without pixman")

... sorry, I missed that there is indeed a tool that requires pixman.

> Signed-off-by: Rafael Kitover <rkitover@gmail.com>
> ---
>  configure | 28 ++++++++++++++--------------
>  1 file changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/configure b/configure
> index 2acc4d1465..181b465861 100755
> --- a/configure
> +++ b/configure
> @@ -4062,20 +4062,6 @@ if test "$modules" = yes; then
>      fi
>  fi
>  
> -##########################################
> -# pixman support probe
> -
> -if test "$softmmu" = "no"; then
> -  pixman_cflags=
> -  pixman_libs=
> -elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
> -  pixman_cflags=$($pkg_config --cflags pixman-1)
> -  pixman_libs=$($pkg_config --libs pixman-1)
> -else
> -  error_exit "pixman >= 0.21.8 not present." \
> -      "Please install the pixman devel package."
> -fi
> -
>  ##########################################
>  # libmpathpersist probe
>  
> @@ -4491,6 +4477,20 @@ if test "$opengl" = "yes" && test "$have_x11" = "yes"; then
>    done
>  fi
>  
> +##########################################
> +# pixman support probe
> +
> +if test "$softmmu" = "no" && ! ( test "${linux} ${virglrenderer} ${gbm} ${want_tools}" = "yes yes yes yes" );  then

Do you need the round brackets here?

> +  pixman_cflags=
> +  pixman_libs=
> +elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
> +  pixman_cflags=$($pkg_config --cflags pixman-1)
> +  pixman_libs=$($pkg_config --libs pixman-1)
> +else
> +  error_exit "pixman >= 0.21.8 not present." \
> +      "Please install the pixman devel package."
> +fi
> +
>  ##########################################
>  # libxml2 probe
>  if test "$libxml2" != "no" ; then
> 

With the round brackets removed:

Reviewed-by: Thomas Huth <thuth@redhat.com>
Philippe Mathieu-Daudé Aug. 14, 2020, 7:46 a.m. UTC | #2
On 8/3/20 8:09 AM, Thomas Huth wrote:
> On 02/08/2020 00.44, Rafael Kitover wrote:
>> Use the test from Makefile to check if vhost-user-gpu is being built,
>> and if so require pixman.
> 
> Fixes: 9b52b17ba5 ("configure: Allow to build tools without pixman")
> 
> ... sorry, I missed that there is indeed a tool that requires pixman.
> 
>> Signed-off-by: Rafael Kitover <rkitover@gmail.com>
>> ---
>>  configure | 28 ++++++++++++++--------------
>>  1 file changed, 14 insertions(+), 14 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 2acc4d1465..181b465861 100755
>> --- a/configure
>> +++ b/configure
>> @@ -4062,20 +4062,6 @@ if test "$modules" = yes; then
>>      fi
>>  fi
>>  
>> -##########################################
>> -# pixman support probe
>> -
>> -if test "$softmmu" = "no"; then
>> -  pixman_cflags=
>> -  pixman_libs=
>> -elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
>> -  pixman_cflags=$($pkg_config --cflags pixman-1)
>> -  pixman_libs=$($pkg_config --libs pixman-1)
>> -else
>> -  error_exit "pixman >= 0.21.8 not present." \
>> -      "Please install the pixman devel package."
>> -fi
>> -
>>  ##########################################
>>  # libmpathpersist probe
>>  
>> @@ -4491,6 +4477,20 @@ if test "$opengl" = "yes" && test "$have_x11" = "yes"; then
>>    done
>>  fi
>>  
>> +##########################################
>> +# pixman support probe
>> +
>> +if test "$softmmu" = "no" && ! ( test "${linux} ${virglrenderer} ${gbm} ${want_tools}" = "yes yes yes yes" );  then
> 
> Do you need the round brackets here?
> 
>> +  pixman_cflags=
>> +  pixman_libs=
>> +elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
>> +  pixman_cflags=$($pkg_config --cflags pixman-1)
>> +  pixman_libs=$($pkg_config --libs pixman-1)
>> +else
>> +  error_exit "pixman >= 0.21.8 not present." \
>> +      "Please install the pixman devel package."
>> +fi
>> +
>>  ##########################################
>>  # libxml2 probe
>>  if test "$libxml2" != "no" ; then
>>
> 
> With the round brackets removed:
> 
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> 
> 

Hmm this doesn't work for me:

$ ../configure --disable-system --disable-user --enable-tools
QEMU_CFLAGS         -Werror  -pthread -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include  -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
-Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
-fno-strict-aliasing -fno-common -fwrapv -std=gnu99
-Wold-style-declaration -Wold-style-definition -Wtype-limits
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
-Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
-Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
-fstack-protector-strong   -I/usr/include/p11-kit-1
-DSTRUCT_IOVEC_DEFINED  -I/usr/include/libpng16  -I/usr/include/libdrm
-I/usr/include/spice-1 -I/usr/include/spice-server -I/usr/include/cacard
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/usr/include/nss3 -I/usr/include/nspr4 -pthread
-I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid
-I/usr/include/pixman-1  -I/usr/include/capstone
QEMU_LDFLAGS       -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64
-fstack-protector-strong
target list
static build      no
virgl support     yes (0.7.0)
TCG support       no
build guest agent yes

$ make vhost-user-gpu
...
  LINK    vhost-user-gpu
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`vg_resource_create_2d':
contrib/vhost-user-gpu/vhost-user-gpu.c:322: undefined reference to
`pixman_image_create_bits'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`vg_resource_destroy':
contrib/vhost-user-gpu/vhost-user-gpu.c:381: undefined reference to
`pixman_image_unref'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`vg_transfer_to_host_2d':
contrib/vhost-user-gpu/vhost-user-gpu.c:538: undefined reference to
`pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:540: undefined
reference to `pixman_image_get_stride'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:543: undefined
reference to `pixman_image_get_width'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:544: undefined
reference to `pixman_image_get_data'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:556: undefined
reference to `pixman_image_get_stride'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:557: undefined
reference to `pixman_image_get_height'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:555: undefined
reference to `pixman_image_get_data'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`vg_resource_flush':
contrib/vhost-user-gpu/vhost-user-gpu.c:693: undefined reference to
`pixman_region_init_rect'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:705: undefined
reference to `pixman_region_init'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:706: undefined
reference to `pixman_region_init_rect'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:709: undefined
reference to `pixman_region_intersect'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:711: undefined
reference to `pixman_region_extents'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:731: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:731: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:747: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:747: undefined
reference to `pixman_image_create_bits'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:753: undefined
reference to `pixman_image_composite'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:758: undefined
reference to `pixman_image_unref'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:762: undefined
reference to `pixman_region_fini'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:763: undefined
reference to `pixman_region_fini'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:765: undefined
reference to `pixman_region_fini'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
`update_cursor_data_simple':
contrib/vhost-user-gpu/vhost-user-gpu.c:863: undefined reference to
`pixman_image_get_width'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:864: undefined
reference to `pixman_image_get_height'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:865: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:865: undefined
reference to `pixman_image_get_format'
/usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:868: undefined
reference to `pixman_image_get_data'
collect2: error: ld returned 1 exit status
make: *** [Makefile:730: vhost-user-gpu] Error 1

$ lsb_release -d
Description:    Fedora release 30 (Thirty)

$ pkg-config --atleast-version=0.21.8 pixman-1; echo $?
0

$ pkg-config --cflags pixman-1
-I/usr/include/pixman-1
# found in QEMU_CFLAGS

$ pkg-config --libs pixman-1
-lpixman-1
# NOT found in QEMU_LDFLAGS

Thanks,

Phil.
Philippe Mathieu-Daudé Aug. 22, 2020, 8:29 p.m. UTC | #3
Hi Rafael,

On 8/14/20 9:46 AM, Philippe Mathieu-Daudé wrote:
> On 8/3/20 8:09 AM, Thomas Huth wrote:
>> On 02/08/2020 00.44, Rafael Kitover wrote:
>>> Use the test from Makefile to check if vhost-user-gpu is being built,
>>> and if so require pixman.
>>
>> Fixes: 9b52b17ba5 ("configure: Allow to build tools without pixman")
>>
>> ... sorry, I missed that there is indeed a tool that requires pixman.
>>
>>> Signed-off-by: Rafael Kitover <rkitover@gmail.com>
>>> ---
>>>  configure | 28 ++++++++++++++--------------
>>>  1 file changed, 14 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/configure b/configure
>>> index 2acc4d1465..181b465861 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -4062,20 +4062,6 @@ if test "$modules" = yes; then
>>>      fi
>>>  fi
>>>  
>>> -##########################################
>>> -# pixman support probe
>>> -
>>> -if test "$softmmu" = "no"; then
>>> -  pixman_cflags=
>>> -  pixman_libs=
>>> -elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
>>> -  pixman_cflags=$($pkg_config --cflags pixman-1)
>>> -  pixman_libs=$($pkg_config --libs pixman-1)
>>> -else
>>> -  error_exit "pixman >= 0.21.8 not present." \
>>> -      "Please install the pixman devel package."
>>> -fi
>>> -
>>>  ##########################################
>>>  # libmpathpersist probe
>>>  
>>> @@ -4491,6 +4477,20 @@ if test "$opengl" = "yes" && test "$have_x11" = "yes"; then
>>>    done
>>>  fi
>>>  
>>> +##########################################
>>> +# pixman support probe
>>> +
>>> +if test "$softmmu" = "no" && ! ( test "${linux} ${virglrenderer} ${gbm} ${want_tools}" = "yes yes yes yes" );  then
>>
>> Do you need the round brackets here?
>>
>>> +  pixman_cflags=
>>> +  pixman_libs=
>>> +elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
>>> +  pixman_cflags=$($pkg_config --cflags pixman-1)
>>> +  pixman_libs=$($pkg_config --libs pixman-1)
>>> +else
>>> +  error_exit "pixman >= 0.21.8 not present." \
>>> +      "Please install the pixman devel package."
>>> +fi
>>> +
>>>  ##########################################
>>>  # libxml2 probe
>>>  if test "$libxml2" != "no" ; then
>>>
>>
>> With the round brackets removed:
>>
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>
>>
> 
> Hmm this doesn't work for me:
> 
> $ ../configure --disable-system --disable-user --enable-tools
> QEMU_CFLAGS         -Werror  -pthread -I/usr/include/glib-2.0
> -I/usr/lib64/glib-2.0/include  -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
> -fno-strict-aliasing -fno-common -fwrapv -std=gnu99
> -Wold-style-declaration -Wold-style-definition -Wtype-limits
> -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers
> -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined
> -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi
> -fstack-protector-strong   -I/usr/include/p11-kit-1
> -DSTRUCT_IOVEC_DEFINED  -I/usr/include/libpng16  -I/usr/include/libdrm
> -I/usr/include/spice-1 -I/usr/include/spice-server -I/usr/include/cacard
> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
> -I/usr/include/nss3 -I/usr/include/nspr4 -pthread
> -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid
> -I/usr/include/pixman-1  -I/usr/include/capstone
> QEMU_LDFLAGS       -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64
> -fstack-protector-strong
> target list
> static build      no
> virgl support     yes (0.7.0)
> TCG support       no
> build guest agent yes
> 
> $ make vhost-user-gpu
> ...
>   LINK    vhost-user-gpu
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
> `vg_resource_create_2d':
> contrib/vhost-user-gpu/vhost-user-gpu.c:322: undefined reference to
> `pixman_image_create_bits'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
> `vg_resource_destroy':
> contrib/vhost-user-gpu/vhost-user-gpu.c:381: undefined reference to
> `pixman_image_unref'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
> `vg_transfer_to_host_2d':
> contrib/vhost-user-gpu/vhost-user-gpu.c:538: undefined reference to
> `pixman_image_get_format'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:540: undefined
> reference to `pixman_image_get_stride'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:543: undefined
> reference to `pixman_image_get_width'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:544: undefined
> reference to `pixman_image_get_data'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:556: undefined
> reference to `pixman_image_get_stride'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:557: undefined
> reference to `pixman_image_get_height'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:555: undefined
> reference to `pixman_image_get_data'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
> `vg_resource_flush':
> contrib/vhost-user-gpu/vhost-user-gpu.c:693: undefined reference to
> `pixman_region_init_rect'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:705: undefined
> reference to `pixman_region_init'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:706: undefined
> reference to `pixman_region_init_rect'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:709: undefined
> reference to `pixman_region_intersect'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:711: undefined
> reference to `pixman_region_extents'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:731: undefined
> reference to `pixman_image_get_format'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:731: undefined
> reference to `pixman_image_get_format'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:747: undefined
> reference to `pixman_image_get_format'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:747: undefined
> reference to `pixman_image_create_bits'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:753: undefined
> reference to `pixman_image_composite'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:758: undefined
> reference to `pixman_image_unref'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:762: undefined
> reference to `pixman_region_fini'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:763: undefined
> reference to `pixman_region_fini'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:765: undefined
> reference to `pixman_region_fini'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.o: in function
> `update_cursor_data_simple':
> contrib/vhost-user-gpu/vhost-user-gpu.c:863: undefined reference to
> `pixman_image_get_width'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:864: undefined
> reference to `pixman_image_get_height'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:865: undefined
> reference to `pixman_image_get_format'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:865: undefined
> reference to `pixman_image_get_format'
> /usr/bin/ld: contrib/vhost-user-gpu/vhost-user-gpu.c:868: undefined
> reference to `pixman_image_get_data'
> collect2: error: ld returned 1 exit status
> make: *** [Makefile:730: vhost-user-gpu] Error 1

Any updates?

Thanks,

Phil.

> 
> $ lsb_release -d
> Description:    Fedora release 30 (Thirty)
> 
> $ pkg-config --atleast-version=0.21.8 pixman-1; echo $?
> 0
> 
> $ pkg-config --cflags pixman-1
> -I/usr/include/pixman-1
> # found in QEMU_CFLAGS
> 
> $ pkg-config --libs pixman-1
> -lpixman-1
> # NOT found in QEMU_LDFLAGS
> 
> Thanks,
> 
> Phil.
>
Thomas Huth Aug. 25, 2020, 3:32 p.m. UTC | #4
On 22/08/2020 22.29, Philippe Mathieu-Daudé wrote:
> Hi Rafael,
> 
> On 8/14/20 9:46 AM, Philippe Mathieu-Daudé wrote:
>> On 8/3/20 8:09 AM, Thomas Huth wrote:
>>> On 02/08/2020 00.44, Rafael Kitover wrote:
>>>> Use the test from Makefile to check if vhost-user-gpu is being built,
>>>> and if so require pixman.
>>>
>>> Fixes: 9b52b17ba5 ("configure: Allow to build tools without pixman")
>>>
>>> ... sorry, I missed that there is indeed a tool that requires pixman.
>>>
>>>> Signed-off-by: Rafael Kitover <rkitover@gmail.com>
>>>> ---
>>>>  configure | 28 ++++++++++++++--------------
>>>>  1 file changed, 14 insertions(+), 14 deletions(-)
>>>>
>>>> diff --git a/configure b/configure
>>>> index 2acc4d1465..181b465861 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -4062,20 +4062,6 @@ if test "$modules" = yes; then
>>>>      fi
>>>>  fi
>>>>  
>>>> -##########################################
>>>> -# pixman support probe
>>>> -
>>>> -if test "$softmmu" = "no"; then
>>>> -  pixman_cflags=
>>>> -  pixman_libs=
>>>> -elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
>>>> -  pixman_cflags=$($pkg_config --cflags pixman-1)
>>>> -  pixman_libs=$($pkg_config --libs pixman-1)
>>>> -else
>>>> -  error_exit "pixman >= 0.21.8 not present." \
>>>> -      "Please install the pixman devel package."
>>>> -fi
>>>> -
>>>>  ##########################################
>>>>  # libmpathpersist probe
>>>>  
>>>> @@ -4491,6 +4477,20 @@ if test "$opengl" = "yes" && test "$have_x11" = "yes"; then
>>>>    done
>>>>  fi
>>>>  
>>>> +##########################################
>>>> +# pixman support probe
>>>> +
>>>> +if test "$softmmu" = "no" && ! ( test "${linux} ${virglrenderer} ${gbm} ${want_tools}" = "yes yes yes yes" );  then
>>>
>>> Do you need the round brackets here?
>>>
>>>> +  pixman_cflags=
>>>> +  pixman_libs=
>>>> +elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
>>>> +  pixman_cflags=$($pkg_config --cflags pixman-1)
>>>> +  pixman_libs=$($pkg_config --libs pixman-1)
>>>> +else
>>>> +  error_exit "pixman >= 0.21.8 not present." \
>>>> +      "Please install the pixman devel package."
>>>> +fi
>>>> +
>>>>  ##########################################
>>>>  # libxml2 probe
>>>>  if test "$libxml2" != "no" ; then
>>>>
>>>
>>> With the round brackets removed:
>>>
>>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>
>> Hmm this doesn't work for me:
[...]
> Any updates?

I think the problem is that ${virglrenderer} might only be set later in
the configure script...

But since other tools might later depend on pixman, too, it's likely
cleaner to introduce a CONFIG_PIXMAN switch and skip
building of the corresponding tools in that case. I'll try to come up
with a patch...

 Thomas
罗勇刚(Yonggang Luo) Aug. 25, 2020, 4:01 p.m. UTC | #5
On Tue, Aug 25, 2020 at 11:33 PM Thomas Huth <thuth@redhat.com> wrote:

> On 22/08/2020 22.29, Philippe Mathieu-Daudé wrote:
> > Hi Rafael,
> >

Would these improvement can be implemented in python?
diff mbox series

Patch

diff --git a/configure b/configure
index 2acc4d1465..181b465861 100755
--- a/configure
+++ b/configure
@@ -4062,20 +4062,6 @@  if test "$modules" = yes; then
     fi
 fi
 
-##########################################
-# pixman support probe
-
-if test "$softmmu" = "no"; then
-  pixman_cflags=
-  pixman_libs=
-elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
-  pixman_cflags=$($pkg_config --cflags pixman-1)
-  pixman_libs=$($pkg_config --libs pixman-1)
-else
-  error_exit "pixman >= 0.21.8 not present." \
-      "Please install the pixman devel package."
-fi
-
 ##########################################
 # libmpathpersist probe
 
@@ -4491,6 +4477,20 @@  if test "$opengl" = "yes" && test "$have_x11" = "yes"; then
   done
 fi
 
+##########################################
+# pixman support probe
+
+if test "$softmmu" = "no" && ! ( test "${linux} ${virglrenderer} ${gbm} ${want_tools}" = "yes yes yes yes" );  then
+  pixman_cflags=
+  pixman_libs=
+elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
+  pixman_cflags=$($pkg_config --cflags pixman-1)
+  pixman_libs=$($pkg_config --libs pixman-1)
+else
+  error_exit "pixman >= 0.21.8 not present." \
+      "Please install the pixman devel package."
+fi
+
 ##########################################
 # libxml2 probe
 if test "$libxml2" != "no" ; then