What's happening is that the ebuild is going through a lookup table of
CPU flags, and saying... "if you invoke a certain advanced feature, then
you also have to invoke the base version of that feature".  If you ask
for the advanced feature, but not the base feature, it's like trying to
build the top 4 storeys of a 10-storey building without the bottom 6
storeys.  From your output...

  If you're calling for avx2, then you also need avx
> cpu_flags_x86_avx2? ( cpu_flags_x86_avx )

  If you're calling for sse4_2, then you also need sse4_1
> cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )

  If you're calling for sse4_1, then you also need ssse3
> cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )

  If you're calling for ssse3, then you also need sse3 (count the "s")
> cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )

  If you're calling for sse3, then you also need sse2
> cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )

  If you're calling for sse2, then you also need sse
> cpu_flags_x86_sse2? ( cpu_flags_x86_sse )

  If you're calling for sse, then you also need mmxext
> cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )

  If you're calling for mmxext, then you also need mmx
> cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )

AMD If you're calling for 3dnowext, then you also need 3dnow
> cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )

AMD If you're calling for 3dnow, then you also need mmx
> cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )

  Basically, if flag B is an extension of flag A and builds on it, then
calling flag B requires calling flag A.  Think of it as a "march flag
dependency tree".

-- 
Walter Dnes <waltd...@waltdnes.org>
I don't run "desktop environments"; I run useful applications

Reply via email to