summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/aix-g++-64/qmake.conf2
-rw-r--r--mkspecs/aix-g++/qmake.conf2
-rw-r--r--mkspecs/aix-xlc-64/qmake.conf2
-rw-r--r--mkspecs/aix-xlc/qmake.conf2
-rw-r--r--mkspecs/common/armcc.conf2
-rw-r--r--mkspecs/common/clang.conf2
-rw-r--r--mkspecs/common/g++-base.conf2
-rw-r--r--mkspecs/common/llvm.conf2
-rw-r--r--mkspecs/common/qcc-base.conf2
-rw-r--r--mkspecs/common/wince/qmake.conf2
-rw-r--r--mkspecs/cygwin-g++/qmake.conf2
-rw-r--r--mkspecs/darwin-g++/qmake.conf2
-rw-r--r--mkspecs/features/spec_post.prf15
-rw-r--r--mkspecs/freebsd-icc/qmake.conf2
-rw-r--r--mkspecs/hpux-acc-64/qmake.conf2
-rw-r--r--mkspecs/hpux-acc-o64/qmake.conf2
-rw-r--r--mkspecs/hpux-acc/qmake.conf2
-rw-r--r--mkspecs/hpux-g++-64/qmake.conf2
-rw-r--r--mkspecs/hpux-g++/qmake.conf2
-rw-r--r--mkspecs/hpuxi-acc-32/qmake.conf2
-rw-r--r--mkspecs/hpuxi-acc-64/qmake.conf2
-rw-r--r--mkspecs/hpuxi-g++-64/qmake.conf2
-rw-r--r--mkspecs/irix-cc-64/qmake.conf2
-rw-r--r--mkspecs/irix-cc/qmake.conf2
-rw-r--r--mkspecs/irix-g++-64/qmake.conf2
-rw-r--r--mkspecs/irix-g++/qmake.conf2
-rw-r--r--mkspecs/linux-cxx/qmake.conf2
-rw-r--r--mkspecs/linux-icc/qmake.conf2
-rw-r--r--mkspecs/linux-kcc/qmake.conf2
-rw-r--r--mkspecs/linux-pgcc/qmake.conf2
-rw-r--r--mkspecs/lynxos-g++/qmake.conf2
-rw-r--r--mkspecs/macx-icc/qmake.conf2
-rw-r--r--mkspecs/macx-xlc/qmake.conf2
-rw-r--r--mkspecs/netbsd-g++/qmake.conf2
-rw-r--r--mkspecs/openbsd-g++/qmake.conf2
-rw-r--r--mkspecs/sco-cc/qmake.conf2
-rw-r--r--mkspecs/sco-g++/qmake.conf2
-rw-r--r--mkspecs/solaris-cc-64/qmake.conf2
-rw-r--r--mkspecs/solaris-cc/qmake.conf2
-rw-r--r--mkspecs/solaris-g++-64/qmake.conf2
-rw-r--r--mkspecs/solaris-g++/qmake.conf2
-rw-r--r--mkspecs/tru64-cxx/qmake.conf2
-rw-r--r--mkspecs/tru64-g++/qmake.conf2
-rw-r--r--mkspecs/unixware-cc/qmake.conf2
-rw-r--r--mkspecs/unixware-g++/qmake.conf2
-rw-r--r--mkspecs/unsupported/linux-host-g++/qmake.conf2
-rw-r--r--mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf2
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf2
-rw-r--r--mkspecs/unsupported/win32-msvc2003/qmake.conf2
-rw-r--r--mkspecs/win32-g++/qmake.conf2
-rw-r--r--mkspecs/win32-icc/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2005/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2008/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2010/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2012/qmake.conf2
55 files changed, 123 insertions, 0 deletions
diff --git a/mkspecs/aix-g++-64/qmake.conf b/mkspecs/aix-g++-64/qmake.conf
index c52a55437d..a1e9bd5903 100644
--- a/mkspecs/aix-g++-64/qmake.conf
+++ b/mkspecs/aix-g++-64/qmake.conf
@@ -5,6 +5,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = aix
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/aix-g++/qmake.conf b/mkspecs/aix-g++/qmake.conf
index 353e1ba334..5f7b8b44d3 100644
--- a/mkspecs/aix-g++/qmake.conf
+++ b/mkspecs/aix-g++/qmake.conf
@@ -5,6 +5,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = aix
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/aix-xlc-64/qmake.conf b/mkspecs/aix-xlc-64/qmake.conf
index 0fc0266746..a0d4ba0ef5 100644
--- a/mkspecs/aix-xlc-64/qmake.conf
+++ b/mkspecs/aix-xlc-64/qmake.conf
@@ -5,6 +5,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = aix
+QMAKE_COMPILER = ibm_xlc
+
QMAKE_CC = xlc
QMAKE_CC_THREAD = xlc_r
QMAKE_LEX = flex
diff --git a/mkspecs/aix-xlc/qmake.conf b/mkspecs/aix-xlc/qmake.conf
index 59c067c0f9..163e534ff3 100644
--- a/mkspecs/aix-xlc/qmake.conf
+++ b/mkspecs/aix-xlc/qmake.conf
@@ -5,6 +5,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = aix
+QMAKE_COMPILER = ibm_xlc
+
QMAKE_CC = xlc
QMAKE_CC_THREAD = xlc_r
QMAKE_LEX = flex
diff --git a/mkspecs/common/armcc.conf b/mkspecs/common/armcc.conf
index 4f178d745e..443ff40db4 100644
--- a/mkspecs/common/armcc.conf
+++ b/mkspecs/common/armcc.conf
@@ -2,6 +2,8 @@
# qmake configuration for armcc
#
+QMAKE_COMPILER = armcc
+
CONFIG += rvct_linker
QMAKE_CC = armcc
QMAKE_CFLAGS +=
diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf
index 54ac56968b..8c97644044 100644
--- a/mkspecs/common/clang.conf
+++ b/mkspecs/common/clang.conf
@@ -2,6 +2,8 @@
# Qmake configuration for Clang on Linux and Mac
#
+QMAKE_COMPILER = gcc clang llvm # clang pretends to be gcc
+
QMAKE_CC = clang
QMAKE_CXX = clang++
diff --git a/mkspecs/common/g++-base.conf b/mkspecs/common/g++-base.conf
index 35f86e5bf1..0661298b18 100644
--- a/mkspecs/common/g++-base.conf
+++ b/mkspecs/common/g++-base.conf
@@ -8,6 +8,8 @@
# you can use the manual test in tests/manual/mkspecs.
#
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LINK_C = $$QMAKE_CC
diff --git a/mkspecs/common/llvm.conf b/mkspecs/common/llvm.conf
index 86e0ab440f..7d0622de59 100644
--- a/mkspecs/common/llvm.conf
+++ b/mkspecs/common/llvm.conf
@@ -2,6 +2,8 @@
# Qmake configuration for LLVM on Linux and Mac
#
+QMAKE_COMPILER = gcc llvm
+
QMAKE_CC = llvm-gcc
QMAKE_CXX = llvm-g++
diff --git a/mkspecs/common/qcc-base.conf b/mkspecs/common/qcc-base.conf
index 42a2d31739..b6abb8f52d 100644
--- a/mkspecs/common/qcc-base.conf
+++ b/mkspecs/common/qcc-base.conf
@@ -9,6 +9,8 @@
# 2) -Wno-psabi is added to silence harmless warnings about va_list mangling
#
+QMAKE_COMPILER = rim_qcc gcc # qcc is mostly gcc in disguise
+
QMAKE_CFLAGS += -Wno-psabi
QMAKE_CFLAGS_DEPS += -M
QMAKE_CFLAGS_WARN_ON += -Wall -W
diff --git a/mkspecs/common/wince/qmake.conf b/mkspecs/common/wince/qmake.conf
index 236e445089..46f002a360 100644
--- a/mkspecs/common/wince/qmake.conf
+++ b/mkspecs/common/wince/qmake.conf
@@ -10,6 +10,8 @@ DEFINES += UNDER_CE WINCE _WINDOWS _UNICODE UNICODE _WIN32 QT_NO_PRINTER QT_N
QMAKE_COMPILER_DEFINES += _MSC_VER=1400
+QMAKE_COMPILER = msvc
+
QMAKE_CC = cl
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/cygwin-g++/qmake.conf b/mkspecs/cygwin-g++/qmake.conf
index 0464699e42..3c53122707 100644
--- a/mkspecs/cygwin-g++/qmake.conf
+++ b/mkspecs/cygwin-g++/qmake.conf
@@ -9,6 +9,8 @@ QMAKE_PLATFORM = cygwin unix posix
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/darwin-g++/qmake.conf b/mkspecs/darwin-g++/qmake.conf
index 4b8ed77f03..57bfb94ba2 100644
--- a/mkspecs/darwin-g++/qmake.conf
+++ b/mkspecs/darwin-g++/qmake.conf
@@ -9,6 +9,8 @@ QMAKE_PLATFORM = mac macx
CONFIG += native_precompiled_headers
DEFINES += __USE_WS_X11__
+QMAKE_COMPILER = gcc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/features/spec_post.prf b/mkspecs/features/spec_post.prf
index fcc7314ce5..3af6bbd36a 100644
--- a/mkspecs/features/spec_post.prf
+++ b/mkspecs/features/spec_post.prf
@@ -29,3 +29,18 @@ isEmpty(QMAKE_PLATFORM) {
error("Qmake spec sets an invalid TARGET_PLATFORM.")
}
CONFIG += $$QMAKE_PLATFORM
+
+isEmpty(QMAKE_COMPILER) {
+ *-g++*: \
+ QMAKE_COMPILER = gcc
+ else:*-llvm*: \
+ QMAKE_COMPILER = gcc llvm
+ else:*-clang*: \
+ QMAKE_COMPILER = clang llvm
+ else:*-msvc*: \
+ QMAKE_COMPILER = msvc
+ else: \
+ error("qmake spec does not announce the compiler family, and it cannot be guessed.")
+ warning("qmake spec does not announce the compiler family. Guessed $$QMAKE_COMPILER.")
+}
+CONFIG += $$QMAKE_COMPILER
diff --git a/mkspecs/freebsd-icc/qmake.conf b/mkspecs/freebsd-icc/qmake.conf
index 54566de5fb..046b20c896 100644
--- a/mkspecs/freebsd-icc/qmake.conf
+++ b/mkspecs/freebsd-icc/qmake.conf
@@ -30,6 +30,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = freebsd bsd
+QMAKE_COMPILER = gcc intel_icc # icc pretends to be gcc
+
QMAKE_CC = icc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/hpux-acc-64/qmake.conf b/mkspecs/hpux-acc-64/qmake.conf
index 22b855423e..b285c2cdb6 100644
--- a/mkspecs/hpux-acc-64/qmake.conf
+++ b/mkspecs/hpux-acc-64/qmake.conf
@@ -49,6 +49,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
QMAKE_COMPILER_DEFINES += __hpux __HP_aCC
+QMAKE_COMPILER = hp_acc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/hpux-acc-o64/qmake.conf b/mkspecs/hpux-acc-o64/qmake.conf
index 1f3c862adc..985378d9fb 100644
--- a/mkspecs/hpux-acc-o64/qmake.conf
+++ b/mkspecs/hpux-acc-o64/qmake.conf
@@ -48,6 +48,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
+QMAKE_COMPILER = hp_acc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/hpux-acc/qmake.conf b/mkspecs/hpux-acc/qmake.conf
index 6d81fe55bc..c7cdab49e6 100644
--- a/mkspecs/hpux-acc/qmake.conf
+++ b/mkspecs/hpux-acc/qmake.conf
@@ -28,6 +28,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
QMAKE_COMPILER_DEFINES += __hpux __HP_aCC
+QMAKE_COMPILER = hp_acc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/hpux-g++-64/qmake.conf b/mkspecs/hpux-g++-64/qmake.conf
index 837a199485..49eb1a3c67 100644
--- a/mkspecs/hpux-g++-64/qmake.conf
+++ b/mkspecs/hpux-g++-64/qmake.conf
@@ -8,6 +8,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/hpux-g++/qmake.conf b/mkspecs/hpux-g++/qmake.conf
index 99c899fb30..eca1b32b38 100644
--- a/mkspecs/hpux-g++/qmake.conf
+++ b/mkspecs/hpux-g++/qmake.conf
@@ -9,6 +9,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
CONFIG += plugin_no_soname
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/hpuxi-acc-32/qmake.conf b/mkspecs/hpuxi-acc-32/qmake.conf
index 7222e880bc..bd2a58634f 100644
--- a/mkspecs/hpuxi-acc-32/qmake.conf
+++ b/mkspecs/hpuxi-acc-32/qmake.conf
@@ -6,6 +6,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
CONFIG += plugin_no_soname
+QMAKE_COMPILER = hp_acc
+
QMAKE_CC = cc
QMAKE_LEX = lex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/hpuxi-acc-64/qmake.conf b/mkspecs/hpuxi-acc-64/qmake.conf
index 0e938ea358..d7c7f7b23f 100644
--- a/mkspecs/hpuxi-acc-64/qmake.conf
+++ b/mkspecs/hpuxi-acc-64/qmake.conf
@@ -49,6 +49,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
CONFIG += plugin_no_soname
+QMAKE_COMPILER = hp_acc
+
QMAKE_CC = cc
QMAKE_LEX = lex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/hpuxi-g++-64/qmake.conf b/mkspecs/hpuxi-g++-64/qmake.conf
index 81b1101d0a..5703b8499f 100644
--- a/mkspecs/hpuxi-g++-64/qmake.conf
+++ b/mkspecs/hpuxi-g++-64/qmake.conf
@@ -13,6 +13,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = hpux
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/irix-cc-64/qmake.conf b/mkspecs/irix-cc-64/qmake.conf
index 0fe3188ecd..f31094a96b 100644
--- a/mkspecs/irix-cc-64/qmake.conf
+++ b/mkspecs/irix-cc-64/qmake.conf
@@ -38,6 +38,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = irix
QMAKE_COMPILER_DEFINES += __sgi __EDG
+QMAKE_COMPILER = sgi_cc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/irix-cc/qmake.conf b/mkspecs/irix-cc/qmake.conf
index 0e0582e628..6e832e01e6 100644
--- a/mkspecs/irix-cc/qmake.conf
+++ b/mkspecs/irix-cc/qmake.conf
@@ -38,6 +38,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = irix
QMAKE_COMPILER_DEFINES += __sgi __EDG
+QMAKE_COMPILER = sgi_cc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/irix-g++-64/qmake.conf b/mkspecs/irix-g++-64/qmake.conf
index 4ef6d62291..637f12874a 100644
--- a/mkspecs/irix-g++-64/qmake.conf
+++ b/mkspecs/irix-g++-64/qmake.conf
@@ -6,6 +6,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = irix
QMAKE_COMPILER_DEFINES += __sgi __GNUC__
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/irix-g++/qmake.conf b/mkspecs/irix-g++/qmake.conf
index c8317ddad7..6b1dbbd1f0 100644
--- a/mkspecs/irix-g++/qmake.conf
+++ b/mkspecs/irix-g++/qmake.conf
@@ -6,6 +6,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = irix
QMAKE_COMPILER_DEFINES += __sgi __GNUC__
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/linux-cxx/qmake.conf b/mkspecs/linux-cxx/qmake.conf
index 517ba00fa6..6b3d158f68 100644
--- a/mkspecs/linux-cxx/qmake.conf
+++ b/mkspecs/linux-cxx/qmake.conf
@@ -7,6 +7,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = linux
+QMAKE_COMPILER = compaq_cc
+
QMAKE_CC = ccc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf
index 0df0b0af9c..d7fe808a01 100644
--- a/mkspecs/linux-icc/qmake.conf
+++ b/mkspecs/linux-icc/qmake.conf
@@ -5,6 +5,8 @@
MAKEFILE_GENERATOR = UNIX
CONFIG += gdb_dwarf_index
+QMAKE_COMPILER = gcc intel_icc # icc pretends to be gcc
+
QMAKE_CC = icc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/linux-kcc/qmake.conf b/mkspecs/linux-kcc/qmake.conf
index 54625efbc3..cbe474fc09 100644
--- a/mkspecs/linux-kcc/qmake.conf
+++ b/mkspecs/linux-kcc/qmake.conf
@@ -16,6 +16,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = linux
+QMAKE_COMPILER = kai_cc
+
QMAKE_CC = KCC
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/linux-pgcc/qmake.conf b/mkspecs/linux-pgcc/qmake.conf
index a5f5a04a91..93c3762f16 100644
--- a/mkspecs/linux-pgcc/qmake.conf
+++ b/mkspecs/linux-pgcc/qmake.conf
@@ -7,6 +7,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = linux
+QMAKE_COMPILER = portland_cc
+
QMAKE_CC = pgcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/lynxos-g++/qmake.conf b/mkspecs/lynxos-g++/qmake.conf
index 09334489d9..9762b4d76c 100644
--- a/mkspecs/lynxos-g++/qmake.conf
+++ b/mkspecs/lynxos-g++/qmake.conf
@@ -9,6 +9,8 @@ QMAKE_PLATFORM = lynxos
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf
index 6903cc4755..1aa252a0ed 100644
--- a/mkspecs/macx-icc/qmake.conf
+++ b/mkspecs/macx-icc/qmake.conf
@@ -17,6 +17,8 @@ CONFIG += app_bundle
QMAKE_INCREMENTAL_STYLE = sublibs
QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__
+QMAKE_COMPILER = gcc intel_icc # icc pretends to be gcc
+
QMAKE_CC = icc
QMAKE_CFLAGS = -wd858,1572,1569,279
QMAKE_CFLAGS_DEPS = -M
diff --git a/mkspecs/macx-xlc/qmake.conf b/mkspecs/macx-xlc/qmake.conf
index 41dc0abca2..4d7ab0bae2 100644
--- a/mkspecs/macx-xlc/qmake.conf
+++ b/mkspecs/macx-xlc/qmake.conf
@@ -8,6 +8,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = mac macx
CONFIG += app_bundle global_init_link_order lib_version_first plugin_no_soname
+QMAKE_COMPILER = ibm_xlc
+
QMAKE_CC = xlc
QMAKE_CC_THREAD = xlc_r
QMAKE_LEX = flex
diff --git a/mkspecs/netbsd-g++/qmake.conf b/mkspecs/netbsd-g++/qmake.conf
index 914c15216a..5e6dd8f13c 100644
--- a/mkspecs/netbsd-g++/qmake.conf
+++ b/mkspecs/netbsd-g++/qmake.conf
@@ -6,6 +6,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = netbsd bsd
CONFIG += gdb_dwarf_index
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/openbsd-g++/qmake.conf b/mkspecs/openbsd-g++/qmake.conf
index be2855862d..8dc53a620b 100644
--- a/mkspecs/openbsd-g++/qmake.conf
+++ b/mkspecs/openbsd-g++/qmake.conf
@@ -6,6 +6,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = openbsd bsd
CONFIG += gdb_dwarf_index
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/sco-cc/qmake.conf b/mkspecs/sco-cc/qmake.conf
index 4c96847246..ccd3aaa290 100644
--- a/mkspecs/sco-cc/qmake.conf
+++ b/mkspecs/sco-cc/qmake.conf
@@ -10,6 +10,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = sco
+QMAKE_COMPILER = sco_cc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/sco-g++/qmake.conf b/mkspecs/sco-g++/qmake.conf
index 55073d4193..68d655ad4b 100644
--- a/mkspecs/sco-g++/qmake.conf
+++ b/mkspecs/sco-g++/qmake.conf
@@ -7,6 +7,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = sco
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/solaris-cc-64/qmake.conf b/mkspecs/solaris-cc-64/qmake.conf
index a3180b8657..f88a71687c 100644
--- a/mkspecs/solaris-cc-64/qmake.conf
+++ b/mkspecs/solaris-cc-64/qmake.conf
@@ -24,6 +24,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = solaris
+QMAKE_COMPILER = sun_cc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/solaris-cc/qmake.conf b/mkspecs/solaris-cc/qmake.conf
index 9f35083eb6..83d3918a77 100644
--- a/mkspecs/solaris-cc/qmake.conf
+++ b/mkspecs/solaris-cc/qmake.conf
@@ -7,6 +7,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = solaris
+QMAKE_COMPILER = sun_cc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/solaris-g++-64/qmake.conf b/mkspecs/solaris-g++-64/qmake.conf
index 605a2d680a..96044a1c8c 100644
--- a/mkspecs/solaris-g++-64/qmake.conf
+++ b/mkspecs/solaris-g++-64/qmake.conf
@@ -28,6 +28,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = solaris
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/solaris-g++/qmake.conf b/mkspecs/solaris-g++/qmake.conf
index a4bd6f480d..ff2c01ca2c 100644
--- a/mkspecs/solaris-g++/qmake.conf
+++ b/mkspecs/solaris-g++/qmake.conf
@@ -11,6 +11,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = solaris
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/tru64-cxx/qmake.conf b/mkspecs/tru64-cxx/qmake.conf
index 5fc8433df3..34285d6f08 100644
--- a/mkspecs/tru64-cxx/qmake.conf
+++ b/mkspecs/tru64-cxx/qmake.conf
@@ -6,6 +6,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = tru64
CONFIG += plugin_no_soname
+QMAKE_COMPILER = dec_cc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/tru64-g++/qmake.conf b/mkspecs/tru64-g++/qmake.conf
index e66a428f0a..7e2c748b45 100644
--- a/mkspecs/tru64-g++/qmake.conf
+++ b/mkspecs/tru64-g++/qmake.conf
@@ -6,6 +6,8 @@ MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = tru64
CONFIG += plugin_no_soname
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/unixware-cc/qmake.conf b/mkspecs/unixware-cc/qmake.conf
index c2e5ea33ce..21940089d9 100644
--- a/mkspecs/unixware-cc/qmake.conf
+++ b/mkspecs/unixware-cc/qmake.conf
@@ -10,6 +10,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = unixware
+QMAKE_COMPILER = sco_cc
+
QMAKE_CC = cc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/unixware-g++/qmake.conf b/mkspecs/unixware-g++/qmake.conf
index 3466bf2933..a55f570f81 100644
--- a/mkspecs/unixware-g++/qmake.conf
+++ b/mkspecs/unixware-g++/qmake.conf
@@ -7,6 +7,8 @@
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM = unixware
+QMAKE_COMPILER = gcc
+
QMAKE_CC = gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/unsupported/linux-host-g++/qmake.conf b/mkspecs/unsupported/linux-host-g++/qmake.conf
index 7437e784ce..3e5840e7f4 100644
--- a/mkspecs/unsupported/linux-host-g++/qmake.conf
+++ b/mkspecs/unsupported/linux-host-g++/qmake.conf
@@ -21,6 +21,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
# qmake configuration for common gcc
#
+QMAKE_COMPILER = gcc
+
QMAKE_CC = host-gcc
QMAKE_CFLAGS += -pipe
QMAKE_CFLAGS_DEPS += -M
diff --git a/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
index 7576b76ceb..c5429aedf9 100644
--- a/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
+++ b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
@@ -12,6 +12,8 @@ VXWORKS_CPU = PPC32
VXWORKS_DIAB_SPEC = -tPPC7400FV:vxworks66
VXWORKS_ARCH_MUNCH = ppc
+QMAKE_COMPILER = wr_dcc
+
QMAKE_CC = dcc
QMAKE_CFLAGS += $$VXWORKS_DIAB_SPEC -Xkeywords=0x0 -Xcode-absolute-far -Xansi -Xforce-declarations -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=diab -DTOOL=diab -D_WRS_KERNEL -DVXWORKS -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
QMAKE_CFLAGS_DEPS +=
diff --git a/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
index 3cf7decf78..4729daf3e7 100644
--- a/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
+++ b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
@@ -12,6 +12,8 @@ VXWORKS_CPU = SIMLINUX
VXWORKS_DIAB_SPEC = -tX86LH:vxworks66
VXWORKS_ARCH_MUNCH = pentium
+QMAKE_COMPILER = wr_dcc
+
QMAKE_CC = dcc
QMAKE_CFLAGS += $$VXWORKS_DIAB_SPEC -Xkeywords=0x0 -Xcode-absolute-far -Xansi -Xforce-declarations -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=diab -DTOOL=diab -D_WRS_KERNEL -DVXWORKS -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
QMAKE_CFLAGS_DEPS +=
diff --git a/mkspecs/unsupported/win32-msvc2003/qmake.conf b/mkspecs/unsupported/win32-msvc2003/qmake.conf
index ba85427f2b..3439472f85 100644
--- a/mkspecs/unsupported/win32-msvc2003/qmake.conf
+++ b/mkspecs/unsupported/win32-msvc2003/qmake.conf
@@ -10,6 +10,8 @@ CONFIG += incremental flat precompile_header autogen_precompile
DEFINES += UNICODE WIN32
QMAKE_COMPILER_DEFINES += _MSC_VER=1310 WIN32
+QMAKE_COMPILER = msvc
+
QMAKE_CC = cl
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 2b1284a7cf..16e9b895c2 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -18,6 +18,8 @@ QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
QMAKE_EXT_OBJ = .o
QMAKE_EXT_RES = _res.o
+QMAKE_COMPILER = gcc
+
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/win32-icc/qmake.conf b/mkspecs/win32-icc/qmake.conf
index 2c774ec489..195fd60581 100644
--- a/mkspecs/win32-icc/qmake.conf
+++ b/mkspecs/win32-icc/qmake.conf
@@ -10,6 +10,8 @@ CONFIG += incremental flat debug_and_release debug_and_release_target
DEFINES += UNICODE
QMAKE_COMPILER_DEFINES += __INTEL_COMPILER WIN32
+QMAKE_COMPILER = msvc intel_icl # icl pretends to be msvc
+
QMAKE_CC = icl
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/win32-msvc2005/qmake.conf b/mkspecs/win32-msvc2005/qmake.conf
index 4b518f66f8..41cf0dce05 100644
--- a/mkspecs/win32-msvc2005/qmake.conf
+++ b/mkspecs/win32-msvc2005/qmake.conf
@@ -10,6 +10,8 @@ CONFIG += incremental flat precompile_header autogen_precompile
DEFINES += UNICODE WIN32
QMAKE_COMPILER_DEFINES += _MSC_VER=1400 WIN32
+QMAKE_COMPILER = msvc
+
QMAKE_CC = cl
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/win32-msvc2008/qmake.conf b/mkspecs/win32-msvc2008/qmake.conf
index 7d3802464a..9044dcef23 100644
--- a/mkspecs/win32-msvc2008/qmake.conf
+++ b/mkspecs/win32-msvc2008/qmake.conf
@@ -10,6 +10,8 @@ CONFIG += incremental flat precompile_header autogen_precompile
DEFINES += UNICODE WIN32
QMAKE_COMPILER_DEFINES += _MSC_VER=1500 WIN32
+QMAKE_COMPILER = msvc
+
QMAKE_CC = cl
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/win32-msvc2010/qmake.conf b/mkspecs/win32-msvc2010/qmake.conf
index 62fe007b83..037be97e67 100644
--- a/mkspecs/win32-msvc2010/qmake.conf
+++ b/mkspecs/win32-msvc2010/qmake.conf
@@ -10,6 +10,8 @@ CONFIG += incremental flat precompile_header autogen_precompile
DEFINES += UNICODE WIN32
QMAKE_COMPILER_DEFINES += _MSC_VER=1600 WIN32
+QMAKE_COMPILER = msvc
+
QMAKE_CC = cl
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
diff --git a/mkspecs/win32-msvc2012/qmake.conf b/mkspecs/win32-msvc2012/qmake.conf
index a8fc08b2a8..959690fee2 100644
--- a/mkspecs/win32-msvc2012/qmake.conf
+++ b/mkspecs/win32-msvc2012/qmake.conf
@@ -9,6 +9,8 @@ CONFIG += incremental flat precompile_header autogen_precompile
DEFINES += UNICODE WIN32
QMAKE_COMPILER_DEFINES += _MSC_VER=1700 WIN32
+QMAKE_COMPILER = msvc
+
QMAKE_CC = cl
QMAKE_LEX = flex
QMAKE_LEXFLAGS =