mkspecs/common/symbian/symbian.conf
changeset 0 1918ee327afb
child 3 41300fa6a67c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mkspecs/common/symbian/symbian.conf	Mon Jan 11 14:00:40 2010 +0000
@@ -0,0 +1,148 @@
+#
+# qmake configuration for symbian-*
+#
+
+TEMPLATE		= app
+CONFIG			+= qt warn_on release incremental
+QT			+= core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+DEFINES			+= UNICODE QT_KEYPAD_NAVIGATION QT_SOFTKEYS_ENABLED
+QMAKE_COMPILER_DEFINES  += SYMBIAN
+
+QMAKE_EXT_OBJ           = .o
+QMAKE_EXT_RES           = _res.o
+
+QMAKE_CC		= gcc
+QMAKE_LEX		= flex
+QMAKE_LEXFLAGS		=
+QMAKE_YACC		= byacc
+QMAKE_YACCFLAGS		= -d
+QMAKE_CFLAGS		=
+QMAKE_CFLAGS_DEPS	=
+QMAKE_CFLAGS_WARN_ON	=
+QMAKE_CFLAGS_WARN_OFF	=
+QMAKE_CFLAGS_RELEASE	=
+QMAKE_CFLAGS_DEBUG	=
+QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
+
+QMAKE_CXX		= g++
+QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS.CW	= 
+QMAKE_CXXFLAGS.ARMCC	= --visibility_inlines_hidden
+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_YACC	= $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD	= $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_RTTI_ON	=
+QMAKE_CXXFLAGS_RTTI_OFF	=
+QMAKE_CXXFLAGS_EXCEPTIONS_ON =
+QMAKE_CXXFLAGS_EXCEPTIONS_OFF =
+
+QMAKE_INCDIR		=
+QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
+
+QMAKE_RUN_CC		= $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CC_IMP	= $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+QMAKE_RUN_CXX		= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CXX_IMP	= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+QMAKE_LINK		= g++
+QMAKE_LFLAGS		= -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
+QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
+QMAKE_LFLAGS_EXCEPTIONS_OFF =
+QMAKE_LFLAGS_RELEASE	= -Wl,-s
+QMAKE_LFLAGS_DEBUG	=
+QMAKE_LFLAGS_CONSOLE	= -Wl,-subsystem,console
+QMAKE_LFLAGS_WINDOWS	= -Wl,-subsystem,windows
+QMAKE_LFLAGS_DLL        = -shared
+QMAKE_LINK_OBJECT_MAX	= 10
+QMAKE_LINK_OBJECT_SCRIPT= object_script
+
+QMAKE_LIBS              = -llibc -llibm -leuser -llibdl -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -lavkon -lefsrv -lcharconv -lws32 -lhal -lgdi -lapgrfx
+QMAKE_LIBS_CORE         = $$QMAKE_LIBS -llibpthread -lefsrv -lcharconv
+QMAKE_LIBS_GUI          = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lhal -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc
+QMAKE_LIBS_NETWORK      = 
+QMAKE_LIBS_EGL          = -llibEGL
+QMAKE_LIBS_OPENGL       = 
+QMAKE_LIBS_OPENVG       = -llibOpenVG -lgraphicsresource
+QMAKE_LIBS_COMPAT       = 
+QMAKE_LIBS_QT_ENTRY     = -llibcrt0.lib
+QMAKE_LIBS_S60          = -lavkon
+
+!isEmpty(QMAKE_SH) {
+    QMAKE_COPY           = cp
+    QMAKE_COPY_DIR       = cp -r
+    QMAKE_MOVE           = mv
+    QMAKE_DEL_FILE       = rm -f
+    QMAKE_MKDIR          = mkdir
+    QMAKE_DEL_DIR        = rmdir
+    QMAKE_CHK_DIR_EXISTS = test -d
+} else {
+    QMAKE_COPY           = copy /y
+    QMAKE_COPY_DIR       = xcopy /s /q /y /i
+    QMAKE_MOVE           = move
+    QMAKE_DEL_FILE       = del
+    QMAKE_MKDIR          = mkdir
+    QMAKE_DEL_DIR        = rmdir
+    QMAKE_CHK_DIR_EXISTS = if not exist
+}
+
+QMAKE_MOC		= $${EPOCROOT}epoc32/tools/qt/moc.exe
+QMAKE_UIC		= $${EPOCROOT}epoc32/tools/qt/uic.exe
+QMAKE_IDC		= $${EPOCROOT}epoc32/tools/qt/idc.exe
+
+QMAKE_IDL		= midl
+QMAKE_LIB		= $${EPOCROOT}epoc32/gcc_mingw/bin/ar -ru
+QMAKE_RC		= $${EPOCROOT}epoc32/gcc_mingw/bin/windres
+QMAKE_ZIP		= zip -r -9
+
+QMAKE_STRIP		= $${EPOCROOT}epoc32/gcc_mingw/bin/strip
+QMAKE_STRIPFLAGS_LIB 	+= --strip-unneeded
+
+load(qt_config)
+load(platform_paths)
+
+symbian-abld {
+# Versions of abld prior to Symbian^3 have a bug where you cannot remove something from the command line without replacing it
+# Rather than figure out which version of abld we're using, we'll replace the command with a macro *that should never be used*
+    MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE"
+} else {
+    MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl"
+}
+MMP_RULES += PAGED
+MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
+SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6
+
+# Legacy support requires some hardcoded stdapis paths. 
+INCLUDEPATH = \
+    $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off \
+    $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian \
+    $${EPOCROOT}epoc32/include \
+    $$OS_LAYER_LIBC_SYSTEMINCLUDE \
+    $$INCLUDEPATH
+    
+# Supports S60 3.0, 3.1, 3.2 and 5.0 by default
+default_deployment.pkg_prerules = \
+    "; Default HW/platform dependencies" \
+    "[0x101F7961],0,0,0,{\"S60ProductID\"}" \
+    "[0x102032BE],0,0,0,{\"S60ProductID\"}" \
+    "[0x102752AE],0,0,0,{\"S60ProductID\"}" \
+    "[0x1028315F],0,0,0,{\"S60ProductID\"}" \
+    " "
+
+DEPLOYMENT += default_deployment
+
+exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v5.0.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v5.0.sis) {
+    S60_VERSION = 5.0
+} else {
+    exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v3.2.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v3.2.sis) {
+        S60_VERSION = 3.2
+    } else {
+        S60_VERSION = 3.1
+        MMP_RULES -= PAGED
+    }
+}