diff mbox series

[v5,12/19] ui/vnc: VNC requires PIXMAN

Message ID 20231023113047.2572137-13-marcandre.lureau@redhat.com
State New
Headers show
Series Make Pixman an optional dependency | expand

Commit Message

Marc-André Lureau Oct. 23, 2023, 11:30 a.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 meson.build    | 6 +++++-
 ui/meson.build | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

Comments

Thomas Huth Oct. 25, 2023, 11:52 a.m. UTC | #1
On 23/10/2023 13.30, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>   meson.build    | 6 +++++-
>   ui/meson.build | 4 ++--
>   2 files changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 395d7155f6..c4dd9e01ea 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1536,7 +1536,11 @@ endif
>   vnc = not_found
>   jpeg = not_found
>   sasl = not_found
> -if get_option('vnc').allowed() and have_system
> +if get_option('vnc') \
> +             .disable_auto_if(not have_system) \
> +             .require(pixman.found(),
> +                      error_message: 'cannot enable VNC if pixman is not available') \
> +             .allowed()
>     vnc = declare_dependency() # dummy dependency
>     jpeg = dependency('libjpeg', required: get_option('vnc_jpeg'),
>                       method: 'pkg-config')
> diff --git a/ui/meson.build b/ui/meson.build
> index 7c99613950..b3525ef064 100644
> --- a/ui/meson.build
> +++ b/ui/meson.build
> @@ -46,8 +46,8 @@ vnc_ss.add(files(
>   ))
>   vnc_ss.add(zlib, jpeg, gnutls)
>   vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c'))
> -system_ss.add_all(when: vnc, if_true: vnc_ss)
> -system_ss.add(when: vnc, if_false: files('vnc-stubs.c'))
> +system_ss.add_all(when: [vnc, pixman], if_true: vnc_ss)
> +system_ss.add(when: [vnc, pixman], if_false: files('vnc-stubs.c'))

Is the change to ui/meson.build required at all? ... if I get the first hunk 
right, if "vnc" is enabled, that means that pixman has been found, too?

  Thomas
Marc-André Lureau Oct. 25, 2023, 6:44 p.m. UTC | #2
Hi

On Wed, Oct 25, 2023 at 3:53 PM Thomas Huth <thuth@redhat.com> wrote:
>
> On 23/10/2023 13.30, marcandre.lureau@redhat.com wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > ---
> >   meson.build    | 6 +++++-
> >   ui/meson.build | 4 ++--
> >   2 files changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/meson.build b/meson.build
> > index 395d7155f6..c4dd9e01ea 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -1536,7 +1536,11 @@ endif
> >   vnc = not_found
> >   jpeg = not_found
> >   sasl = not_found
> > -if get_option('vnc').allowed() and have_system
> > +if get_option('vnc') \
> > +             .disable_auto_if(not have_system) \
> > +             .require(pixman.found(),
> > +                      error_message: 'cannot enable VNC if pixman is not available') \
> > +             .allowed()
> >     vnc = declare_dependency() # dummy dependency
> >     jpeg = dependency('libjpeg', required: get_option('vnc_jpeg'),
> >                       method: 'pkg-config')
> > diff --git a/ui/meson.build b/ui/meson.build
> > index 7c99613950..b3525ef064 100644
> > --- a/ui/meson.build
> > +++ b/ui/meson.build
> > @@ -46,8 +46,8 @@ vnc_ss.add(files(
> >   ))
> >   vnc_ss.add(zlib, jpeg, gnutls)
> >   vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c'))
> > -system_ss.add_all(when: vnc, if_true: vnc_ss)
> > -system_ss.add(when: vnc, if_false: files('vnc-stubs.c'))
> > +system_ss.add_all(when: [vnc, pixman], if_true: vnc_ss)
> > +system_ss.add(when: [vnc, pixman], if_false: files('vnc-stubs.c'))
>
> Is the change to ui/meson.build required at all? ... if I get the first hunk
> right, if "vnc" is enabled, that means that pixman has been found, too?

Well, this is a bit more explicit, to get the dependencies correct
(flags and such) without relying on other system_ss units
dependencies.. I'd keep it.
diff mbox series

Patch

diff --git a/meson.build b/meson.build
index 395d7155f6..c4dd9e01ea 100644
--- a/meson.build
+++ b/meson.build
@@ -1536,7 +1536,11 @@  endif
 vnc = not_found
 jpeg = not_found
 sasl = not_found
-if get_option('vnc').allowed() and have_system
+if get_option('vnc') \
+             .disable_auto_if(not have_system) \
+             .require(pixman.found(),
+                      error_message: 'cannot enable VNC if pixman is not available') \
+             .allowed()
   vnc = declare_dependency() # dummy dependency
   jpeg = dependency('libjpeg', required: get_option('vnc_jpeg'),
                     method: 'pkg-config')
diff --git a/ui/meson.build b/ui/meson.build
index 7c99613950..b3525ef064 100644
--- a/ui/meson.build
+++ b/ui/meson.build
@@ -46,8 +46,8 @@  vnc_ss.add(files(
 ))
 vnc_ss.add(zlib, jpeg, gnutls)
 vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c'))
-system_ss.add_all(when: vnc, if_true: vnc_ss)
-system_ss.add(when: vnc, if_false: files('vnc-stubs.c'))
+system_ss.add_all(when: [vnc, pixman], if_true: vnc_ss)
+system_ss.add(when: [vnc, pixman], if_false: files('vnc-stubs.c'))
 
 ui_modules = {}