diff options
author | Alexander Shevchenko <sav_ix@ukr.net> | 2018-06-21 10:20:34 +0300 |
---|---|---|
committer | Alexander Shevchenko <sav_ix@ukr.net> | 2018-06-22 17:04:06 +0000 |
commit | 305f57411d450c9b19330cd56f64702163bdcb34 (patch) | |
tree | ab2825940238ffd078fa31345339ad540d4f843f /mkspecs/common | |
parent | 6173e1d6f82b3bc205c1bebdc8481c1dbff4572f (diff) |
centralize ICC flags for *nix-systems toolchains
linux-icc and macx-icc toolchains contain a significant amount of code
which can be merged to a common configuration file.
as a side effect, such merge resulted in reduction a parts of
linux-icc and macx-icc toolchains to the common view.
Change-Id: I37d110734eeeb9bd61ca0aa942de380ac8e75f1c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'mkspecs/common')
-rw-r--r-- | mkspecs/common/icc-base-unix.conf | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/mkspecs/common/icc-base-unix.conf b/mkspecs/common/icc-base-unix.conf new file mode 100644 index 0000000000..cd02ef68d5 --- /dev/null +++ b/mkspecs/common/icc-base-unix.conf @@ -0,0 +1,106 @@ +# +# Base qmake configuration for ICC on *nix-systems +# +# Before making changes to this file, please read the comment in +# icc-base.conf, to make sure the change goes in the right place. +# +# To verify that your change has the desired effect on the final configuration +# you can use the manual test in tests/manual/mkspecs. +# + +MAKEFILE_GENERATOR = UNIX +QMAKE_COMPILER_DEFINES += __GNUC__ + +QMAKE_COMPILER = gcc intel_icc # icc pretends to be gcc + +QMAKE_CFLAGS_OPTIMIZE = -O2 +QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os + +QMAKE_CC = icc +QMAKE_LEX = flex +QMAKE_LEXFLAGS = +QMAKE_YACC = yacc +QMAKE_YACCFLAGS = -d +QMAKE_CFLAGS = +QMAKE_CFLAGS_APP = -fPIC +QMAKE_CFLAGS_DEPS = -M +QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125,2259,2261,3280,3373 +QMAKE_CFLAGS_WARN_OFF = -w +QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE +QMAKE_CFLAGS_DEBUG = -O0 -g +QMAKE_CFLAGS_SHLIB = -fPIC +QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB +QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections -fdata-sections +QMAKE_CFLAGS_LTCG = -ipo +QMAKE_CFLAGS_DISABLE_LTCG = -no-ipo + +QMAKE_CFLAGS_SSE2 += -msse2 +QMAKE_CFLAGS_SSE3 += -msse3 +QMAKE_CFLAGS_SSSE3 += -mssse3 +QMAKE_CFLAGS_SSE4_1 += -msse4.1 +QMAKE_CFLAGS_SSE4_2 += -msse4.2 +QMAKE_CFLAGS_AVX += -mavx +QMAKE_CFLAGS_AVX2 += -march=core-avx2 +QMAKE_CFLAGS_AVX512F += -xCOMMON-AVX512 +QMAKE_CFLAGS_AVX512CD += -xCOMMON-AVX512 +QMAKE_CFLAGS_AVX512ER += -xMIC-AVX512 +QMAKE_CFLAGS_AVX512PF += -xMIC-AVX512 +QMAKE_CFLAGS_AVX512DQ += -xCORE-AVX512 +QMAKE_CFLAGS_AVX512BW += -xCORE-AVX512 +QMAKE_CFLAGS_AVX512VL += -xCORE-AVX512 +QMAKE_CFLAGS_AESNI += -maes +QMAKE_CFLAGS_F16C += $$QMAKE_CFLAGS_AVX2 +QMAKE_CFLAGS_RDRND += -mrdrnd +QMAKE_CFLAGS_SHANI += -msha + +QMAKE_CXX = icpc +QMAKE_CXXFLAGS = $$QMAKE_CFLAGS +QMAKE_CXXFLAGS_APP = $$QMAKE_CFLAGS_APP +QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS +QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF +QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB +QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB +QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS +QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions +QMAKE_CXXFLAGS_CXX11 = -std=c++11 +QMAKE_CXXFLAGS_CXX14 = -std=c++1y +QMAKE_CXXFLAGS_CXX1Z = -std=c++1z +QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11 +QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y +QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z +QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG +QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG + +# 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_LINK = icpc +QMAKE_LINK_SHLIB = icpc +QMAKE_LFLAGS = +QMAKE_LFLAGS_RELEASE = +QMAKE_LFLAGS_DEBUG = +QMAKE_LFLAGS_THREAD = +QMAKE_LFLAGS_RPATH = -Wl,-rpath, +QMAKE_LFLAGS_CXX11 = +QMAKE_LFLAGS_CXX14 = +QMAKE_LFLAGS_CXX1Z = +QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG + +QMAKE_INCDIR = +QMAKE_LIBDIR = +QMAKE_INCDIR_X11 = +QMAKE_LIBDIR_X11 = +QMAKE_INCDIR_OPENGL = +QMAKE_LIBDIR_OPENGL = + +QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files |