mkspecs/common/symbian/symbian.conf
changeset 0 1918ee327afb
child 3 41300fa6a67c
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     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 }