diff --git a/configure b/configure index cbd92daf06..9da128c506 100755 --- a/configure +++ b/configure @@ -5715,6 +5715,20 @@ if [ "$CFG_REDUCE_RELOCATIONS" = "yes" ]; then echo "#define QT_REDUCE_RELOCATIONS" >>"$outpath/src/corelib/global/qconfig.h.new" fi +# Add compiler sub-architecture support +echo "" >>"$outpath/src/corelib/global/qconfig.h.new" +echo "// Compiler sub-arch support" >>"$outpath/src/corelib/global/qconfig.h.new" +for SUBARCH in SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2 \ + IWMMXT NEON \ + MIPS_DSP MIPS_DSPR2; do + eval "VAL=\$CFG_$SUBARCH" + case "$VAL" in + yes) + echo "#define QT_COMPILER_SUPPORTS_$SUBARCH" \ + >>"$outpath/src/corelib/global/qconfig.h.new" + ;; + esac +done echo "" >>"$outpath/src/corelib/global/qconfig.h.new" @@ -5744,7 +5758,6 @@ for DRIVER in $CFG_SQL_AVAILABLE; do esac done - QMakeVar set sql-drivers "$SQL_DRIVERS" QMakeVar set sql-plugins "$SQL_PLUGINS" diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index 3f48a20a56..6b412291bb 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -17,16 +17,3 @@ mac { # Qt modules get compiled without exceptions enabled by default CONFIG += exceptions_off - -#SIMD defines: -sse2:DEFINES += QT_COMPILER_SUPPORTS_SSE2 -sse3:DEFINES += QT_COMPILER_SUPPORTS_SSE3 -ssse3:DEFINES += QT_COMPILER_SUPPORTS_SSSE3 -sse4_1:DEFINES += QT_COMPILER_SUPPORTS_SSE4_1 -sse4_2:DEFINES += QT_COMPILER_SUPPORTS_SSE4_2 -avx:DEFINES += QT_COMPILER_SUPPORTS_AVX -avx2:DEFINES += QT_COMPILER_SUPPORTS_AVX2 -iwmmxt:DEFINES += QT_COMPILER_SUPPORTS_IWMMXT -neon:DEFINES += QT_COMPILER_SUPPORTS_NEON -mips_dsp:DEFINES += QT_COMPILER_SUPPORTS_MIPS_DSP -mips_dspr2:DEFINES += QT_COMPILER_SUPPORTS_MIPS_DSPR2 diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 29f6de9b2a..2d80325976 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -3053,6 +3053,27 @@ void Configure::generateConfigfiles() tmpStream << endl; } + tmpStream << endl << "// Compiler sub-arch support" << endl; + if (dictionary[ "SSE2" ] == "yes") + tmpStream << "#define QT_COMPILER_SUPPORTS_SSE2" << endl; + if (dictionary[ "SSE3" ] == "yes") + tmpStream << "#define QT_COMPILER_SUPPORTS_SSE3" << endl; + if (dictionary[ "SSSE3" ] == "yes") + tmpStream << "#define QT_COMPILER_SUPPORTS_SSSE3" << endl; + if (dictionary[ "SSE4_1" ] == "yes") + tmpStream << "#define QT_COMPILER_SUPPORTS_SSE4_1" << endl; + if (dictionary[ "SSE4_2" ] == "yes") + tmpStream << "#define QT_COMPILER_SUPPORTS_SSE4_2" << endl; + if (dictionary[ "AVX" ] == "yes") + tmpStream << "#define QT_COMPILER_SUPPORTS_AVX" << endl; + if (dictionary[ "AVX2" ] == "yes") + tmpStream << "#define QT_COMPILER_SUPPORTS_AVX2" << endl; + if (dictionary[ "IWMMXT" ] == "yes") + tmpStream << "#define QT_COMPILER_SUPPORTS_IWMMXT" << endl; + if (dictionary[ "NEON" ] == "yes") + tmpStream << "#define QT_COMPILER_SUPPORTS_NEON" << endl; + + tmpStream << endl << "// Compile time features" << endl; QStringList qconfigList;