|
1 # |
|
2 # qmake configuration for symbian-* |
|
3 # |
|
4 |
|
5 TEMPLATE = app |
|
6 CONFIG += qt warn_on release incremental |
|
7 QT += core gui |
|
8 QMAKE_INCREMENTAL_STYLE = sublib |
|
9 |
|
10 DEFINES += UNICODE QT_KEYPAD_NAVIGATION QT_SOFTKEYS_ENABLED |
|
11 QMAKE_COMPILER_DEFINES += SYMBIAN |
|
12 |
|
13 QMAKE_EXT_OBJ = .o |
|
14 QMAKE_EXT_RES = _res.o |
|
15 |
|
16 QMAKE_CC = gcc |
|
17 QMAKE_LEX = flex |
|
18 QMAKE_LEXFLAGS = |
|
19 QMAKE_YACC = byacc |
|
20 QMAKE_YACCFLAGS = -d |
|
21 QMAKE_CFLAGS = |
|
22 QMAKE_CFLAGS_DEPS = |
|
23 QMAKE_CFLAGS_WARN_ON = |
|
24 QMAKE_CFLAGS_WARN_OFF = |
|
25 QMAKE_CFLAGS_RELEASE = |
|
26 QMAKE_CFLAGS_DEBUG = |
|
27 QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses |
|
28 |
|
29 QMAKE_CXX = g++ |
|
30 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS |
|
31 QMAKE_CXXFLAGS.CW = |
|
32 QMAKE_CXXFLAGS.ARMCC = --visibility_inlines_hidden |
|
33 QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS |
|
34 QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON |
|
35 QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF |
|
36 QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE |
|
37 QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG |
|
38 QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC |
|
39 QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD |
|
40 QMAKE_CXXFLAGS_RTTI_ON = |
|
41 QMAKE_CXXFLAGS_RTTI_OFF = |
|
42 QMAKE_CXXFLAGS_EXCEPTIONS_ON = |
|
43 QMAKE_CXXFLAGS_EXCEPTIONS_OFF = |
|
44 |
|
45 QMAKE_INCDIR = |
|
46 QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] |
|
47 |
|
48 QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src |
|
49 QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< |
|
50 QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src |
|
51 QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< |
|
52 |
|
53 QMAKE_LINK = g++ |
|
54 QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc |
|
55 QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl |
|
56 QMAKE_LFLAGS_EXCEPTIONS_OFF = |
|
57 QMAKE_LFLAGS_RELEASE = -Wl,-s |
|
58 QMAKE_LFLAGS_DEBUG = |
|
59 QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console |
|
60 QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows |
|
61 QMAKE_LFLAGS_DLL = -shared |
|
62 QMAKE_LINK_OBJECT_MAX = 10 |
|
63 QMAKE_LINK_OBJECT_SCRIPT= object_script |
|
64 |
|
65 QMAKE_LIBS = -llibc -llibm -leuser -llibdl -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -lavkon -lefsrv -lcharconv -lws32 -lhal -lgdi -lapgrfx |
|
66 QMAKE_LIBS_CORE = $$QMAKE_LIBS -llibpthread -lefsrv -lcharconv |
|
67 QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lhal -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc |
|
68 QMAKE_LIBS_NETWORK = |
|
69 QMAKE_LIBS_EGL = -llibEGL |
|
70 QMAKE_LIBS_OPENGL = |
|
71 QMAKE_LIBS_OPENVG = -llibOpenVG -lgraphicsresource |
|
72 QMAKE_LIBS_COMPAT = |
|
73 QMAKE_LIBS_QT_ENTRY = -llibcrt0.lib |
|
74 QMAKE_LIBS_S60 = -lavkon |
|
75 |
|
76 !isEmpty(QMAKE_SH) { |
|
77 QMAKE_COPY = cp |
|
78 QMAKE_COPY_DIR = cp -r |
|
79 QMAKE_MOVE = mv |
|
80 QMAKE_DEL_FILE = rm -f |
|
81 QMAKE_MKDIR = mkdir |
|
82 QMAKE_DEL_DIR = rmdir |
|
83 QMAKE_CHK_DIR_EXISTS = test -d |
|
84 } else { |
|
85 QMAKE_COPY = copy /y |
|
86 QMAKE_COPY_DIR = xcopy /s /q /y /i |
|
87 QMAKE_MOVE = move |
|
88 QMAKE_DEL_FILE = del |
|
89 QMAKE_MKDIR = mkdir |
|
90 QMAKE_DEL_DIR = rmdir |
|
91 QMAKE_CHK_DIR_EXISTS = if not exist |
|
92 } |
|
93 |
|
94 QMAKE_MOC = $${EPOCROOT}epoc32/tools/qt/moc.exe |
|
95 QMAKE_UIC = $${EPOCROOT}epoc32/tools/qt/uic.exe |
|
96 QMAKE_IDC = $${EPOCROOT}epoc32/tools/qt/idc.exe |
|
97 |
|
98 QMAKE_IDL = midl |
|
99 QMAKE_LIB = $${EPOCROOT}epoc32/gcc_mingw/bin/ar -ru |
|
100 QMAKE_RC = $${EPOCROOT}epoc32/gcc_mingw/bin/windres |
|
101 QMAKE_ZIP = zip -r -9 |
|
102 |
|
103 QMAKE_STRIP = $${EPOCROOT}epoc32/gcc_mingw/bin/strip |
|
104 QMAKE_STRIPFLAGS_LIB += --strip-unneeded |
|
105 |
|
106 load(qt_config) |
|
107 load(platform_paths) |
|
108 |
|
109 symbian-abld { |
|
110 # Versions of abld prior to Symbian^3 have a bug where you cannot remove something from the command line without replacing it |
|
111 # Rather than figure out which version of abld we're using, we'll replace the command with a macro *that should never be used* |
|
112 MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE" |
|
113 } else { |
|
114 MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl" |
|
115 } |
|
116 MMP_RULES += PAGED |
|
117 MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA |
|
118 SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6 |
|
119 |
|
120 # Legacy support requires some hardcoded stdapis paths. |
|
121 INCLUDEPATH = \ |
|
122 $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off \ |
|
123 $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian \ |
|
124 $${EPOCROOT}epoc32/include \ |
|
125 $$OS_LAYER_LIBC_SYSTEMINCLUDE \ |
|
126 $$INCLUDEPATH |
|
127 |
|
128 # Supports S60 3.0, 3.1, 3.2 and 5.0 by default |
|
129 default_deployment.pkg_prerules = \ |
|
130 "; Default HW/platform dependencies" \ |
|
131 "[0x101F7961],0,0,0,{\"S60ProductID\"}" \ |
|
132 "[0x102032BE],0,0,0,{\"S60ProductID\"}" \ |
|
133 "[0x102752AE],0,0,0,{\"S60ProductID\"}" \ |
|
134 "[0x1028315F],0,0,0,{\"S60ProductID\"}" \ |
|
135 " " |
|
136 |
|
137 DEPLOYMENT += default_deployment |
|
138 |
|
139 exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v5.0.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v5.0.sis) { |
|
140 S60_VERSION = 5.0 |
|
141 } else { |
|
142 exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v3.2.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v3.2.sis) { |
|
143 S60_VERSION = 3.2 |
|
144 } else { |
|
145 S60_VERSION = 3.1 |
|
146 MMP_RULES -= PAGED |
|
147 } |
|
148 } |