7162badbef3136ed7419e6fd0ef67f6791eb548f
[ptas] / zouba / qt4-maemo5 / mkspecs / common / symbian / symbian.conf
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 QT_USE_MATH_H_FLOATS
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.GCCE     = -fvisibility-inlines-hidden
34 QMAKE_CXXFLAGS_DEPS     = $$QMAKE_CFLAGS_DEPS
35 QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON
36 QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
37 QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
38 QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
39 QMAKE_CXXFLAGS_YACC     = $$QMAKE_CFLAGS_YACC
40 QMAKE_CXXFLAGS_THREAD   = $$QMAKE_CFLAGS_THREAD
41 QMAKE_CXXFLAGS_RTTI_ON  =
42 QMAKE_CXXFLAGS_RTTI_OFF =
43 QMAKE_CXXFLAGS_EXCEPTIONS_ON =
44 QMAKE_CXXFLAGS_EXCEPTIONS_OFF =
45
46 QMAKE_INCDIR            =
47 QMAKE_INCDIR_QT         = $$[QT_INSTALL_HEADERS]
48
49 QMAKE_RUN_CC            = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
50 QMAKE_RUN_CC_IMP        = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
51 QMAKE_RUN_CXX           = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
52 QMAKE_RUN_CXX_IMP       = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
53
54 QMAKE_LINK              =
55 QMAKE_LFLAGS            =
56 QMAKE_LFLAGS.ARMCC      = 
57 QMAKE_LFLAGS_EXCEPTIONS_ON =
58 QMAKE_LFLAGS_EXCEPTIONS_OFF =
59 QMAKE_LFLAGS_RELEASE    =
60 QMAKE_LFLAGS_DEBUG      =
61 QMAKE_LFLAGS_CONSOLE    =
62 QMAKE_LFLAGS_WINDOWS    =
63 QMAKE_LFLAGS_DLL        =
64 QMAKE_LINK_OBJECT_MAX   =
65 QMAKE_LINK_OBJECT_SCRIPT=
66
67 QMAKE_LIBS              = -llibc -llibm -leuser -llibdl
68 QMAKE_LIBS_CORE         = $$QMAKE_LIBS -llibpthread -lefsrv
69 QMAKE_LIBS_GUI          = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lhal -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -lcentralrepository
70 QMAKE_LIBS_NETWORK      = 
71 QMAKE_LIBS_EGL          = -llibEGL
72 QMAKE_LIBS_OPENGL       = 
73 QMAKE_LIBS_OPENVG       = -llibOpenVG -lgraphicsresource -lfbscli -lbitgdi -lgdi
74 QMAKE_LIBS_COMPAT       = 
75 QMAKE_LIBS_QT_ENTRY     = -llibcrt0.lib
76 QMAKE_LIBS_S60          = -lavkon
77
78 !isEmpty(QMAKE_SH) {
79     QMAKE_COPY           = cp
80     QMAKE_COPY_DIR       = cp -r
81     QMAKE_MOVE           = mv
82     QMAKE_DEL_FILE       = rm -f
83     QMAKE_MKDIR          = mkdir
84     QMAKE_DEL_DIR        = rmdir
85     QMAKE_CHK_DIR_EXISTS = test -d
86 } else {
87     QMAKE_COPY           = copy /y
88     QMAKE_COPY_DIR       = xcopy /s /q /y /i
89     QMAKE_MOVE           = move
90     QMAKE_DEL_FILE       = del
91     QMAKE_MKDIR          = mkdir
92     QMAKE_DEL_DIR        = rmdir
93     QMAKE_CHK_DIR_EXISTS = if not exist
94 }
95
96 QMAKE_MOC               = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe
97 QMAKE_UIC               = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
98 QMAKE_IDC               = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
99
100 QMAKE_IDL               = midl
101 QMAKE_LIB               = ar -ru
102 QMAKE_RC                = windres
103 QMAKE_ZIP               = zip -r -9
104
105 QMAKE_STRIP             = strip
106 QMAKE_STRIPFLAGS_LIB    += --strip-unneeded
107
108 load(qt_config)
109 load(platform_paths)
110
111 symbian-abld {
112 # Versions of abld prior to Symbian^3 have a bug where you cannot remove something from the command line without replacing it
113 # Rather than figure out which version of abld we're using, we'll replace the command with a macro *that should never be used*
114     MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE"
115 } else {
116     MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl"
117 }
118 MMP_RULES += PAGED
119 MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
120 SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6
121
122 # Legacy support requires some hardcoded stdapis paths. 
123 INCLUDEPATH = \
124     $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off \
125     $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian \
126     $${EPOCROOT}epoc32/include \
127     $$OS_LAYER_LIBC_SYSTEMINCLUDE \
128     $$INCLUDEPATH
129     
130 # Supports S60 3.0, 3.1, 3.2 and 5.0 by default
131 default_deployment.pkg_prerules = \
132     "; Default HW/platform dependencies" \
133     "[0x101F7961],0,0,0,{\"S60ProductID\"}" \
134     "[0x102032BE],0,0,0,{\"S60ProductID\"}" \
135     "[0x102752AE],0,0,0,{\"S60ProductID\"}" \
136     "[0x1028315F],0,0,0,{\"S60ProductID\"}" \
137     " "
138
139 DEPLOYMENT += default_deployment
140
141 exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v5.0.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v5.0.sis) {
142     S60_VERSION = 5.0
143 } else {
144     exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v3.2.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v3.2.sis) {
145         S60_VERSION = 3.2
146     } else {
147         S60_VERSION = 3.1
148         MMP_RULES -= PAGED
149     }
150 }