[Buildroot] [PATCH v1] package/qt5/qt5base: handle sse2/sse3/ssse3/sse4.1/sse4.2/avx/avx2 configuration

Thomas Petazzoni thomas.petazzoni at bootlin.com
Mon Feb 4 20:14:06 UTC 2019


Hello Peter,

On Fri,  1 Feb 2019 21:24:52 +0100
Peter Seiderer <ps.report at gmx.net> wrote:

> +ifeq ($(BR2_X86_CPU_HAS_SSE2),)
> +QT5BASE_CONFIGURE_OPTS += -no-sse2
> +else
> +ifeq ($(BR2_X86_CPU_HAS_SSE3),)
> +QT5BASE_CONFIGURE_OPTS += -no-sse3
> +else
> +ifeq ($(BR2_X86_CPU_HAS_SSSE3),)
> +QT5BASE_CONFIGURE_OPTS += -no-ssse3
> +else
> +ifeq ($(BR2_X86_CPU_HAS_SSE4),)
> +QT5BASE_CONFIGURE_OPTS += -no-sse4.1
> +else
> +ifeq ($(BR2_X86_CPU_HAS_SSE42),)
> +QT5BASE_CONFIGURE_OPTS += -no-sse4.2
> +else
> +ifeq ($(BR2_X86_CPU_HAS_AVX),)
> +QT5BASE_CONFIGURE_OPTS += -no-avx
> +else
> +ifeq ($(BR2_X86_CPU_HAS_AVX2),)
> +QT5BASE_CONFIGURE_OPTS += -no-avx2
> +else
> +# no BR2_X86_CPU_HAS_AVX512 for qt configure option
> +# '-no-avx512' (available for latest)
> +endif
> +endif
> +endif
> +endif
> +endif
> +endif
> +endif

Instead of:

ifeq ...

else
ifeq ...

else
ifeq ...

endif
endif
endif

which requires a lot of endifs, you can do:

ifeq ...

else ifeq ...

else ifeq ...

else ifeq ...

endif

which is a bit nicer.

However, like Titouan, I'd like to get a confirmation that those "else"
conditions are what you want. For example, when you don't have SSE2,
you also don't have SSE3. But in such a situation, you're just passing
-no-sse2. Is this expected ? If so, a quick explanation in the commit
log about this would be nice. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



More information about the buildroot mailing list