summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2012-08-11 22:55:04 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-22 21:58:45 +0200
commit88a2efaddc483fc3e055ab71ddd985b82b2a9a07 (patch)
tree6b800d523a06ba399000e2e9fab9a0e6a59d8970
parentebaddb62bcbf406c8ee5e295f62c5c99bd3122a9 (diff)
Move the QT_COMPILER_SUPPORTS_xxx defines to qconfig.h
This reduces dramatically the command-line for compiling Qt sources. These are private macros, only to be used by Qt's own modules, so the compiler setting is either the same or, possibly, better. In other words, in the worst case, when compiling a module with a better compiler than for qtbase, such module might not enable all the functionality it could otherwise do. If we switch to a buildsystem that can support this properly in the future, these macros should be removed. Change-Id: I71f2d12ec98c9dd40eaab9de4a17446bd1066020 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-rwxr-xr-xconfigure15
-rw-r--r--mkspecs/features/qt_build_config.prf13
-rw-r--r--tools/configure/configureapp.cpp21
3 files changed, 35 insertions, 14 deletions
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;