[Development] qt5 modules in namespaces

Thiago Macieira thiago.macieira at intel.com
Tue Jan 3 21:45:26 CET 2012


On Tuesday, 3 de January de 2012 18.29.11, marius.storm-olsen at nokia.com wrote:
> > I solved the problem by using a special compiler, which was already
> > present in src/gui/gui.pro. qmake doesn't look into SSE2_SOURCES,
> > AVX_SOURCES, NEON_SOURCES.
> 
> Right, that would work too. (as would a separate library
> 
> Now, are the extra-compilers specified in such a way that it also works 
> under MSVC and MinGW?

Yes and no.

Yes, they've been there for ages. The only modification I made was to *not* add 
-msse2, -mssse3, -mavx, -mfpu=neon if the default compiler / user flags already 
included those. That's mainly for the case that adding -msse2 would override a 
previous -mssse3, for example (MeeGo's case).

Yes, because they are wrapped under:
neon:*-g++* {
}

and
    win32-g++*|!win32:!win32-icc*:!macx-icc* {
    }

And yes because the "sse2" and "avx" flags are set by configure.exe with checks:
    else if (part == "SSE2")
        available = findFile("emmintrin.h");
    else if (part == "AVX")
        available = findFile("immintrin.h");

So the builds are not broken on Windows. But no because that basically means:
 - MSVC never compiles with improved code. MSVC has supported the /arch:SSE2 
option for some time and MSVC 2010 has /arch:AVX too
 - the check for SSSE3 is missing (file timmintrin.h)
 - the check for AVX2 is impossible, since it requires compiling code
 - cross compilation from Windows for ARM never enables the Neon code because 
the Neon checks are missing

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
     Intel Sweden AB - Registration Number: 556189-6027
     Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120103/a29c7568/attachment.sig>


More information about the Development mailing list