From fb30a3dd7c2e449235ac5896877bbc0ad41a3835 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 28 Jun 2013 17:30:43 -0700 Subject: Initial support for the Intel Compiler 14.0 on OS X ICC 8 and 9 are positively ancient. I doubt anyone is using them for Qt, let alone Qt 5. ICC 11 through 13 haven't supported OS X. ICC now masquerades as Clang, so we need to let qmake and qcompilerdetection.h know about it. Change-Id: If0d2bd8b6a4a45250c15c9472c062effc76f17de Reviewed-by: Thiago Macieira --- mkspecs/features/simd.prf | 2 +- mkspecs/macx-icc/qmake.conf | 43 ++++++++++++++++++++++++++++--------------- 2 files changed, 29 insertions(+), 16 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/simd.prf b/mkspecs/features/simd.prf index a8ce097b64..84a5d16d77 100644 --- a/mkspecs/features/simd.prf +++ b/mkspecs/features/simd.prf @@ -18,7 +18,7 @@ QT_CPU_FEATURES = $$eval(QT_CPU_FEATURES.$$QT_ARCH) # # Set up compilers for SIMD (SSE/AVX, NEON etc) # -*-g++*|linux-icc*|*-clang*|*-qcc* { +*-g++*|intel_icc|*-clang*|*-qcc* { sse2 { HEADERS += $$SSE2_HEADERS diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf index 69f0b4cc0c..0bbb1be4ee 100644 --- a/mkspecs/macx-icc/qmake.conf +++ b/mkspecs/macx-icc/qmake.conf @@ -1,15 +1,7 @@ # # qmake configuration for macx-icc # -# Written for Intel C++ Compiler versions 8.x and 9.x for OS X -# -# Note: Some of the remarks from the Intel compiler are disabled (even -# with 'warn_on' specified): -# -# remark #858: type qualifier on return type is meaningless -# warning #1572: floating-point equality and inequality comparisons are unreliable -# warning #279: controlling expression is constant -# warning #1569: potential redeclared typedef +# Written for Intel C++ Compiler version 14.0 for OS X # MAKEFILE_GENERATOR = UNIX @@ -17,21 +9,29 @@ CONFIG += app_bundle QMAKE_INCREMENTAL_STYLE = sublibs QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__ -QMAKE_COMPILER = gcc intel_icc # icc pretends to be gcc +QMAKE_COMPILER = gcc clang intel_icc # icc pretends to be gcc and clang QMAKE_CC = icc -QMAKE_CFLAGS = -wd858,1572,1569,279 +QMAKE_CFLAGS = QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = +QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125,2259,2261,3280 QMAKE_CFLAGS_WARN_OFF = -w QMAKE_CFLAGS_RELEASE = QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fpic +QMAKE_CFLAGS_SHLIB = -fPIC -fno-jump-tables QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses QMAKE_CFLAGS_THREAD = -QMAKE_OBJECTIVE_CC = gcc +QMAKE_CFLAGS_SSE2 += -xSSE2 +QMAKE_CFLAGS_SSE3 += -xSSE3 +QMAKE_CFLAGS_SSSE3 += -xSSSE3 +QMAKE_CFLAGS_SSE4_1 += -xSSE4.1 +QMAKE_CFLAGS_SSE4_2 += -xSSE4.2 +QMAKE_CFLAGS_AVX += -xAVX +QMAKE_CFLAGS_AVX2 += -xCORE-AVX2 + +QMAKE_OBJECTIVE_CC = clang QMAKE_OBJECTIVE_CFLAGS = -pipe QMAKE_OBJECTIVE_CFLAGS_WARN_ON = -Wall -W QMAKE_OBJECTIVE_CFLAGS_WARN_OFF = -w @@ -50,13 +50,14 @@ QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD +QMAKE_CXXFLAGS_CXX11 = -std=c++11 QMAKE_LINK = icpc QMAKE_LINK_SHLIB = icpc QMAKE_LFLAGS = -headerpad_max_install_names QMAKE_LFLAGS_RELEASE = QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -ingle_module -dynamiclib +QMAKE_LFLAGS_SHLIB = -single_module -dynamiclib QMAKE_LFLAGS_INCREMENTAL = -undefined suppress -flat_namespace QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB QMAKE_LFLAGS_SONAME = -install_name$${LITERAL_WHITESPACE} @@ -68,6 +69,18 @@ QMAKE_LFLAGS_COMPAT_VERSION = -compatibility_version$${LITERAL_WHITESPACE} QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files +# pch support +CONFIG += icc_pch_style +QMAKE_PCH_OUTPUT_EXT = .pchi +QMAKE_CXXFLAGS_USE_PRECOMPILE = -pch-use ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} +QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_TEMP_OBJECT} ${QMAKE_PCH_TEMP_SOURCE} + +# Symbol visibility control +QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden +QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden + +QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6 + include(../common/macx.conf) load(qt_config) -- cgit v1.2.3