source: trunk/src/gui/gui.pro@ 868

Last change on this file since 868 was 868, checked in by Dmitry A. Kuminov, 14 years ago

gui: Fixed 4.7.3 regression: Forced stack alignment for SSE code on OS/2 was lost in update.

File size: 10.6 KB
Line 
1TARGET = QtGui
2QPRO_PWD = $$PWD
3QT = core
4DEFINES += QT_BUILD_GUI_LIB QT_NO_USING_NAMESPACE
5win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x65000000
6irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
7
8!win32:!embedded:!mac:!symbian:!os2:CONFIG += x11
9
10unix:QMAKE_PKGCONFIG_REQUIRES = QtCore
11
12include(../qbase.pri)
13
14contains(QT_CONFIG, x11sm):CONFIG += x11sm
15
16#platforms
17x11:include(kernel/x11.pri)
18mac:include(kernel/mac.pri)
19win32:include(kernel/win.pri)
20embedded:include(embedded/embedded.pri)
21symbian {
22 include(kernel/symbian.pri)
23 include(s60framework/s60framework.pri)
24}
25
26#modules
27include(animation/animation.pri)
28include(kernel/kernel.pri)
29include(image/image.pri)
30include(painting/painting.pri)
31include(text/text.pri)
32include(styles/styles.pri)
33include(widgets/widgets.pri)
34include(dialogs/dialogs.pri)
35include(accessible/accessible.pri)
36include(itemviews/itemviews.pri)
37include(inputmethod/inputmethod.pri)
38include(graphicsview/graphicsview.pri)
39include(util/util.pri)
40include(statemachine/statemachine.pri)
41include(math3d/math3d.pri)
42include(effects/effects.pri)
43
44include(egl/egl.pri)
45win32:!wince*: DEFINES += QT_NO_EGL
46embedded: QT += network
47
48QMAKE_LIBS += $$QMAKE_LIBS_GUI
49
50contains(DEFINES,QT_EVAL):include($$QT_SOURCE_TREE/src/corelib/eval.pri)
51
52QMAKE_DYNAMIC_LIST_FILE = $$PWD/QtGui.dynlist
53
54DEFINES += Q_INTERNAL_QAPP_SRC
55symbian {
56 TARGET.UID3=0x2001B2DD
57
58 symbian-abld|symbian-sbsv2 {
59 # ro-section in gui can exceed default allocated space, so move rw-section a little further
60 QMAKE_LFLAGS.ARMCC += --rw-base 0x800000
61 QMAKE_LFLAGS.GCCE += -Tdata 0xC00000
62 }
63}
64
65neon:*-g++* {
66 DEFINES += QT_HAVE_NEON
67 HEADERS += $$NEON_HEADERS
68 SOURCES += $$NEON_SOURCES
69
70 DRAWHELPER_NEON_ASM_FILES = $$NEON_ASM
71
72 neon_compiler.commands = $$QMAKE_CXX -c -mfpu=neon
73 neon_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
74 neon_compiler.dependency_type = TYPE_C
75 neon_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
76 neon_compiler.input = DRAWHELPER_NEON_ASM_FILES
77 neon_compiler.variable_out = OBJECTS
78 neon_compiler.name = compiling[neon] ${QMAKE_FILE_IN}
79 silent:neon_compiler.commands = @echo compiling[neon] ${QMAKE_FILE_IN} && $$neon_compiler.commands
80 QMAKE_EXTRA_COMPILERS += neon_compiler
81}
82
83contains(QMAKE_MAC_XARCH, no) {
84 DEFINES += QT_NO_MAC_XARCH
85} else {
86 win32-g++*|!win32:!win32-icc*:!macx-icc* {
87 os2 {
88 DRAWHELPER_OS2_COMPILER = $$QMAKE_RUN_CXX -Winline
89 DRAWHELPER_OS2_COMPILER = $$replace(DRAWHELPER_OS2_COMPILER, \\$src, ${QMAKE_FILE_IN})
90 DRAWHELPER_OS2_COMPILER = $$replace(DRAWHELPER_OS2_COMPILER, \\$obj, ${QMAKE_FILE_OUT})
91 }
92 mmx {
93 os2:mmx_compiler.commands = $$DRAWHELPER_OS2_COMPILER
94 else:mmx_compiler.commands = $$QMAKE_CXX -c -Winline
95
96 mac {
97 mmx_compiler.commands += -Xarch_i386 -mmmx
98 mmx_compiler.commands += -Xarch_x86_64 -mmmx
99 } else {
100 mmx_compiler.commands += -mmmx
101 }
102
103 !os2:mmx_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
104
105 mmx_compiler.dependency_type = TYPE_C
106 mmx_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
107 mmx_compiler.input = MMX_SOURCES
108 mmx_compiler.variable_out = OBJECTS
109 mmx_compiler.name = compiling[mmx] ${QMAKE_FILE_IN}
110 silent:mmx_compiler.commands = @echo compiling[mmx] ${QMAKE_FILE_IN} && $$mmx_compiler.commands
111 QMAKE_EXTRA_COMPILERS += mmx_compiler
112 }
113 3dnow {
114 os2:mmx3dnow_compiler.commands = $$DRAWHELPER_OS2_COMPILER
115 else:mmx3dnow_compiler.commands = $$QMAKE_CXX -c -Winline
116
117 mac {
118 mmx3dnow_compiler.commands += -Xarch_i386 -m3dnow -Xarch_i386 -mmmx
119 mmx3dnow_compiler.commands += -Xarch_x86_64 -m3dnow -Xarch_x86_64 -mmmx
120 } else {
121 mmx3dnow_compiler.commands += -m3dnow -mmmx
122 }
123
124 !os2:mmx3dnow_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
125
126 mmx3dnow_compiler.dependency_type = TYPE_C
127 mmx3dnow_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
128 mmx3dnow_compiler.input = MMX3DNOW_SOURCES
129 mmx3dnow_compiler.variable_out = OBJECTS
130 mmx3dnow_compiler.name = compiling[mmx3dnow] ${QMAKE_FILE_IN}
131 silent:mmx3dnow_compiler.commands = @echo compiling[mmx3dnow] ${QMAKE_FILE_IN} && $$mmx3dnow_compiler.commands
132 QMAKE_EXTRA_COMPILERS += mmx3dnow_compiler
133
134 sse {
135 os2:sse3dnow_compiler.commands = $$DRAWHELPER_OS2_COMPILER
136 else:sse3dnow_compiler.commands = $$QMAKE_CXX -c -Winline
137
138 mac {
139 sse3dnow_compiler.commands += -Xarch_i386 -m3dnow -Xarch_i386 -msse
140 sse3dnow_compiler.commands += -Xarch_x86_64 -m3dnow -Xarch_x86_64 -msse
141 } else:os2 {
142 # SSE data types (__m128i etc.) don't get 16-byte alignment on stack with GCC 4.4.4
143 # (compiler bug?), force it with -mstackrealign to avoid spontaneous SIGSEGVs
144 sse3dnow_compiler.commands += -m3dnow -msse -mstackrealign
145 } else {
146 sse3dnow_compiler.commands += -m3dnow -msse
147 }
148
149 !os2:sse3dnow_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
150
151 sse3dnow_compiler.dependency_type = TYPE_C
152 sse3dnow_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
153 sse3dnow_compiler.input = SSE3DNOW_SOURCES
154 sse3dnow_compiler.variable_out = OBJECTS
155 sse3dnow_compiler.name = compiling[sse3dnow] ${QMAKE_FILE_IN}
156 silent:sse3dnow_compiler.commands = @echo compiling[sse3dnow] ${QMAKE_FILE_IN} && $$sse3dnow_compiler.commands
157 QMAKE_EXTRA_COMPILERS += sse3dnow_compiler
158 }
159 }
160 sse {
161 os2:sse_compiler.commands = $$DRAWHELPER_OS2_COMPILER
162 else:sse_compiler.commands = $$QMAKE_CXX -c -Winline
163
164 mac {
165 sse_compiler.commands += -Xarch_i386 -msse
166 sse_compiler.commands += -Xarch_x86_64 -msse
167 } else:os2 {
168 # SSE data types (__m128i etc.) don't get 16-byte alignment on stack with GCC 4.4.4
169 # (compiler bug?), force it with -mstackrealign to avoid spontaneous SIGSEGVs
170 sse_compiler.commands += -msse -mstackrealign
171 } else {
172 sse_compiler.commands += -msse
173 }
174
175 !os2:sse_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
176
177 sse_compiler.dependency_type = TYPE_C
178 sse_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
179 sse_compiler.input = SSE_SOURCES
180 sse_compiler.variable_out = OBJECTS
181 sse_compiler.name = compiling[sse] ${QMAKE_FILE_IN}
182 silent:sse_compiler.commands = @echo compiling[sse] ${QMAKE_FILE_IN} && $$sse_compiler.commands
183 QMAKE_EXTRA_COMPILERS += sse_compiler
184 }
185 sse2 {
186 os2:sse2_compiler.commands = $$DRAWHELPER_OS2_COMPILER
187 else:sse2_compiler.commands = $$QMAKE_CXX -c -Winline
188
189 mac {
190 sse2_compiler.commands += -Xarch_i386 -msse2
191 sse2_compiler.commands += -Xarch_x86_64 -msse2
192 } else:os2 {
193 # SSE data types (__m128i etc.) don't get 16-byte alignment on stack with GCC 4.4.4
194 # (compiler bug?), force it with -mstackrealign to avoid spontaneous SIGSEGVs
195 sse2_compiler.commands += -msse2 -mstackrealign
196 } else {
197 sse2_compiler.commands += -msse2
198 }
199
200 !os2:sse2_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
201
202 sse2_compiler.dependency_type = TYPE_C
203 sse2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
204 sse2_compiler.input = SSE2_SOURCES
205 sse2_compiler.variable_out = OBJECTS
206 sse2_compiler.name = compiling[sse2] ${QMAKE_FILE_IN}
207 silent:sse2_compiler.commands = @echo compiling[sse2] ${QMAKE_FILE_IN} && $$sse2_compiler.commands
208 QMAKE_EXTRA_COMPILERS += sse2_compiler
209 }
210 ssse3 {
211 os2:ssse3_compiler.commands = $$DRAWHELPER_OS2_COMPILER
212 else:ssse3_compiler.commands = $$QMAKE_CXX -c -Winline
213
214 mac {
215 ssse3_compiler.commands += -Xarch_i386 -mssse3
216 ssse3_compiler.commands += -Xarch_x86_64 -mssse3
217 } else {
218 ssse3_compiler.commands += -mssse3
219 }
220
221 !os2:ssse3_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
222
223 ssse3_compiler.dependency_type = TYPE_C
224 ssse3_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
225 ssse3_compiler.input = SSSE3_SOURCES
226 ssse3_compiler.variable_out = OBJECTS
227 ssse3_compiler.name = compiling[ssse3] ${QMAKE_FILE_IN}
228 silent:ssse3_compiler.commands = @echo compiling[ssse3] ${QMAKE_FILE_IN} && $$ssse3_compiler.commands
229 QMAKE_EXTRA_COMPILERS += ssse3_compiler
230 }
231 iwmmxt {
232 os2:iwmmxt_compiler.commands = $$DRAWHELPER_OS2_COMPILER
233 else:iwmmxt_compiler.commands = $$QMAKE_CXX -c -Winline
234
235 iwmmxt_compiler.commands += -mcpu=iwmmxt
236
237 !os2:iwmmxt_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
238
239 iwmmxt_compiler.dependency_type = TYPE_C
240 iwmmxt_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
241 iwmmxt_compiler.input = IWMMXT_SOURCES
242 iwmmxt_compiler.variable_out = OBJECTS
243 iwmmxt_compiler.name = compiling[iwmmxt] ${QMAKE_FILE_IN}
244 silent:iwmmxt_compiler.commands = @echo compiling[iwmmxt] ${QMAKE_FILE_IN} && $$iwmmxt_compiler.commands
245 QMAKE_EXTRA_COMPILERS += iwmmxt_compiler
246 }
247 } else {
248 mmx: SOURCES += $$MMX_SOURCES
249 3dnow: SOURCES += $$MMX3DNOW_SOURCES
250 3dnow:sse: SOURCES += $$SSE3DNOW_SOURCES
251 sse: SOURCES += $$SSE_SOURCES
252 sse2: SOURCES += $$SSE2_SOURCES
253 ssse3: SOURCES += $$SSSE3_SOURCES
254 iwmmxt: SOURCES += $$IWMMXT_SOURCES
255 }
256}
Note: See TracBrowser for help on using the repository browser.