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

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

 



Hi Chirantan,

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?
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.

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?

Cheers,
Andre.

> +	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_AIO),$(CFLAGS),$(LDFLAGS) -laio),y)
> -	CFLAGS_DYNOPT	+= -DCONFIG_HAS_AIO
> -	LIBS_DYNOPT	+= -laio
> -else
> -	NOTFOUND	+= aio
> +	ifeq ($(call try-build,$(SOURCE_ZLIB),$(CFLAGS),$(LDFLAGS) -lz -static),y)
> +		CFLAGS_STATOPT	+= -DCONFIG_HAS_ZLIB
> +		LIBS_STATOPT	+= -lz
> +	endif
>  endif
> -ifeq ($(call try-build,$(SOURCE_AIO),$(CFLAGS),$(LDFLAGS) -laio -static),y)
> -	CFLAGS_STATOPT	+= -DCONFIG_HAS_AIO
> -	LIBS_STATOPT	+= -laio
> +
> +# Define USE_AIO=0 to disable libaio.
> +ifneq ($(USE_AIO),0)
> +	ifeq ($(call try-build,$(SOURCE_AIO),$(CFLAGS),$(LDFLAGS) -laio),y)
> +		CFLAGS_DYNOPT	+= -DCONFIG_HAS_AIO
> +		LIBS_DYNOPT	+= -laio
> +	else
> +		NOTFOUND	+= aio
> +	endif
> +	ifeq ($(call try-build,$(SOURCE_AIO),$(CFLAGS),$(LDFLAGS) -laio -static),y)
> +		CFLAGS_STATOPT	+= -DCONFIG_HAS_AIO
> +		LIBS_STATOPT	+= -laio
> +	endif
>  endif
>  
>  ifeq ($(LTO),1)
> 



[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