summaryrefslogtreecommitdiffstats
path: root/mkspecs/linux-icc/qmake.conf
blob: 4fc2251665f5f5caad77e7097650c638c1df7746 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#
# qmake configuration for linux-icc
#

MAKEFILE_GENERATOR      = UNIX

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 -Wall -Wcheck -wd1572,873,2259,2261,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_YACC       =
QMAKE_CFLAGS_ISYSTEM    = -isystem
QMAKE_CFLAGS_THREAD     = -D_REENTRANT
QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections
QMAKE_CFLAGS_LTCG       = -ipo -fno-fat-lto-objects
QMAKE_CFLAGS_LTCG_FATOBJECTS = -ffat-lto-objects
QMAKE_CFLAGS_DISABLE_LTCG = -no-ipo

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_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_F16C      += $$QMAKE_CFLAGS_AVX2

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_YACC     = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD   = $$QMAKE_CFLAGS_THREAD
QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS
# Disabling exceptions disabled - workaround for QTBUG-36577
#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_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS
QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG

QMAKE_INCDIR            =
QMAKE_LIBDIR            =
QMAKE_INCDIR_X11        =
QMAKE_LIBDIR_X11        =
QMAKE_INCDIR_OPENGL     =
QMAKE_LIBDIR_OPENGL     =

QMAKE_LINK              = icpc
QMAKE_LINK_SHLIB        = icpc
QMAKE_LFLAGS            =
QMAKE_LFLAGS_RELEASE    =
QMAKE_LFLAGS_APP        = -pie
QMAKE_LFLAGS_DEBUG      =
QMAKE_LFLAGS_SHLIB      = -shared -shared-intel
QMAKE_LFLAGS_PLUGIN     = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME     = -Wl,-soname,
QMAKE_LFLAGS_THREAD     =
QMAKE_LFLAGS_NOUNDEF    = -Wl,-z,defs
QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
QMAKE_LFLAGS_RPATHLINK  = -Wl,-rpath-link,
QMAKE_LFLAGS_CXX11      =
QMAKE_LFLAGS_CXX14      =
QMAKE_LFLAGS_CXX1Z      =
QMAKE_LFLAGS_LTCG       = $$QMAKE_CFLAGS_LTCG

QMAKE_LIBS              =
QMAKE_LIBS_DYNLOAD      = -ldl
QMAKE_LIBS_X11          = -lXext -lX11 -lm
QMAKE_LIBS_NIS          = -lnsl
QMAKE_LIBS_OPENGL       = -lGL
QMAKE_LIBS_THREAD       = -lpthread

QMAKE_AR                = xiar cqs
QMAKE_OBJCOPY           = objcopy
QMAKE_NM                = nm -P
QMAKE_RANLIB            =

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}

# -Bsymbolic-functions (ld) support
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
QMAKE_LFLAGS_VERSION_SCRIPT = -Wl,--version-script,

# Symbol visibility control
QMAKE_CFLAGS_HIDESYMS   += -fvisibility=hidden
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden

include(../common/linux.conf)
load(qt_config)