summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-09-13 22:17:33 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-09-21 02:44:22 +0200
commitfff5a8f9c987e5e285b2665c4d0a1c5bbe3e6276 (patch)
treed7db5fc49dd07731a0014a10de2c94f425fc023f /mkspecs
parent38832db576b3dbe629f85a6e64431f92ee2f48bc (diff)
make qmakespecs announce the compiler family
on the way to eliminate scoping based on the spec. gcc and msvc go as such into CONFIG, the other ones get the vendor prefixed, as most are mostly unknown and thus likely to clash with users' flags. Change-Id: Ie622f53d90e96dbf05ce7d8c638cd355f04fa20c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'mkspecs')
-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 =