Re: [PATCH] kvmtool: Allow optional libraries to be forced off

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 2, 2017 at 8:17 AM, Andre Przywara wrote:
> On 19/01/17 18:46, Chirantan Ekbote wrote:
> > The makefile currently automatically detects if certain optional
> > libraries are present on the file system and links with them if they
> > are.
> >
> > This isn't always desired though: users may not want to link against
> > those libraries even if they do exist.  Add new variables that when set
> > to 0 will force the corresponding optional library off.
>
> thanks for the patch, and I support the idea of being able to turn off
> libraries. But shouldn't that actually cover all of them? I am thinking
> about gtk3 in particular here.
>
> ...
>
> >
> > Signed-off-by: Chirantan Ekbote <chirantan@xxxxxxxxxxxx>
> > ---
> >  Makefile | 43 +++++++++++++++++++++++++------------------
> >  1 file changed, 25 insertions(+), 18 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index eeb54a4..69daa1e 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -250,26 +250,33 @@ ifeq (y,$(ARCH_HAS_FRAMEBUFFER))
> >       endif
> >  endif
> >
> > -ifeq ($(call try-build,$(SOURCE_ZLIB),$(CFLAGS),$(LDFLAGS) -lz),y)
> > -     CFLAGS_DYNOPT   += -DCONFIG_HAS_ZLIB
> > -     LIBS_DYNOPT     += -lz
> > -else
> > -     NOTFOUND        += zlib
> > -endif
> > -ifeq ($(call try-build,$(SOURCE_ZLIB),$(CFLAGS),$(LDFLAGS) -lz -static),y)
> > -     CFLAGS_STATOPT  += -DCONFIG_HAS_ZLIB
> > -     LIBS_STATOPT    += -lz
> > -endif
> > +# Define USE_ZLIB=0 to disable zlib.
> > +ifneq ($(USE_ZLIB),0)
>
> Mmh, that sounds a bit backwards to me, since we don't really have a
> USE_ZLIB=1 case. Wouldn't it be more intuitive to either use
> DISABLE_ZLIB or WITHOUT_ZLIB?

personally, i find negative variables to be bad juju.  i spend more
time reasoning about things like "if (without_foo)" and "if
(!without_foo)" than i would with "if (foo)" and "if (!foo)".  so i'd
prefer to keep all the variable names positive.  if we want to retain
the defaults, that's easy with something like:
USE_ZLIB ?= y

> Or what about using the variable instead of the "y" at the end of that
> ifeq? Define USE_ZLIB=y by default, allow overriding on the cmd line,
> then: ifeq ($(call try-build..., $(USE_ZLIB))
> Wouldn't that work? That avoids the extra indentation and makes the
> patch smaller.

i think we were just going with something simple/straightforward due
to lack of precedent in this file.  if you have a preferred form,
switching to that shouldn't be a problem.

> Also: I know that I am getting a bit cheeky here, but this Makefile part
> is a bit messy already and doesn't really get better with that patch.
> Can't we use this opportunity to make this easier and more readable?
> Maybe use some wrappers to consolidate the quite similar parts? Or/and
> to cover static and non-static with one case instead of two separate calls?

or convert it to autotools :D
-mike



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux