# | |
# qmake configuration for symbian-gcce | |
# | |
include(../common/symbian/symbian-makefile.conf) | |
include(../common/g++.conf) | |
QMAKE_CC = arm-none-symbianelf-gcc | |
QMAKE_CXX = arm-none-symbianelf-g++ | |
QMAKE_LINK = arm-none-symbianelf-ld | |
QMAKE_LINK_SHLIB = arm-none-symbianelf-ld | |
QMAKE_LINK_C = arm-none-symbianelf-ld | |
QMAKE_LINK_C_SHLIB = arm-none-symbianelf-ld | |
QMAKE_AR = arm-none-symbianelf-ar cqs | |
# gcce defaults to 'arm' instruction set. Lets use the better 'thumb' if possible | |
# notice that the middle part of the following set of vars matches the TARGET content of the libs | |
QMAKE_qtmain_CXXFLAGS = -mthumb | |
QMAKE_QtCore_CXXFLAGS = -mthumb | |
#QMAKE_QtGui_LFLAGS = -Ttext 0x8000 -Tdata 0xE00000 | |
QMAKE_QtDBus_CXXFLAGS = -mthumb | |
QMAKE_QtDeclarative_CXXFLAGS = -mthumb | |
QMAKE_QtMultimedia_CXXFLAGS = -mthumb | |
QMAKE_QtNetwork_CXXFLAGS = -mthumb | |
QMAKE_QtOpenGL_CXXFLAGS = -mthumb | |
QMAKE_QtOpenVG_CXXFLAGS = -mthumb | |
QMAKE_phonon_CXXFLAGS = -mthumb | |
QMAKE_QtScript_CXXFLAGS = -mthumb | |
QMAKE_QtScriptTools_CXXFLAGS = -mthumb | |
QMAKE_QtSql_CXXFLAGS = -mthumb | |
QMAKE_QtSvg_CXXFLAGS = -mthumb | |
QMAKE_QtTest_CXXFLAGS = -mthumb | |
QMAKE_QtXmlPatterns_CXXFLAGS = -mthumb | |
QMAKE_QtXml_CXXFLAGS = -mthumb | |
#QMAKE_QtWebKit_LFLAGS = -Ttext 0x8000 -Tdata 0xE00000 | |
# never use -fPIC, gcce-linker doesn't like it. | |
# g++ conf above adds it if the host platform is 64 bit, so we remove it again | |
QMAKE_CFLAGS_SHLIB -= -fPIC | |
QMAKE_CFLAGS_STATIC_LIB -= -fPIC | |
QMAKE_CXXFLAGS_SHLIB -= -fPIC | |
QMAKE_CXXFLAGS_STATIC_LIB -= -fPIC | |
QMAKE_LFLAGS_SONAME = | |
#QMAKE_LFLAGS_THREAD += | |
QMAKE_LFLAGS_NOUNDEF = | |
QMAKE_LFLAGS_RPATH = --rpath= | |
DEFINES += __GCCE__ \ | |
UNICODE | |
QMAKE_LFLAGS_APP += --entry=_E32Startup -u _E32Startup | |
QMAKE_LFLAGS_SHLIB += -shared --default-symver --entry=_E32Dll -u _E32Dll | |
QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB | |
gcceExtraFlags = --include=$${EPOCROOT}epoc32/include/gcce/gcce.h -march=armv5t -mapcs -mthumb-interwork -nostdinc -c -msoft-float | |
QMAKE_CFLAGS += $${gcceExtraFlags} | |
QMAKE_CXXFLAGS += $${gcceExtraFlags} -x c++ -fexceptions -fno-unit-at-a-time -fvisibility-inlines-hidden -Os | |
#If we are not going to link to Qt or qtmain.lib, we need to include this at least once. | |
isEmpty(QT):contains(TEMPLATE, app) { | |
QMAKE_CXXFLAGS += --include=$${EPOCROOT}epoc32/include/stdapis/staticlibinit_gcce.h | |
} | |
QMAKE_LFLAGS += --target1-abs \ | |
--no-undefined \ | |
--nostdlib | |
QMAKE_LIBDIR += $${EPOCROOT}epoc32/release/armv5/udeb/ | |
# g++ knows the path to the gcc-shipped-libs, ld doesn't. So cache the full path in the generate Makefile | |
QMAKE_GCC_SEARCH_DIRS = $$system($$QMAKE_CXX -print-search-dirs) | |
QMAKE_GCC_SEARCH_DIRS = "$$join(QMAKE_GCC_SEARCH_DIRS, " ")" | |
QMAKE_GCC_SEARCH_DIRS = $$replace(QMAKE_GCC_SEARCH_DIRS, ".*libraries: *", "") | |
QMAKE_GCC_SEARCH_DIRS = $$replace(QMAKE_GCC_SEARCH_DIRS, "=", "") | |
contains(QMAKE_HOST.os,Windows) { | |
QMAKE_GCC_SEARCH_DIRS = $$split(QMAKE_GCC_SEARCH_DIRS, ;) | |
} else { | |
QMAKE_GCC_SEARCH_DIRS = $$split(QMAKE_GCC_SEARCH_DIRS, :) | |
} | |
for(line, QMAKE_GCC_SEARCH_DIRS):QMAKE_LIBDIR += $$line | |
QMAKE_LIBDIR += $${EPOCROOT}epoc32/release/armv5/lib | |
INCLUDEPATH = $${EPOCROOT}epoc32/include/ \ | |
$${EPOCROOT}epoc32/include/variant \ | |
$${EPOCROOT}epoc32/include/stdapis \ | |
$${EPOCROOT}epoc32/include/gcce \ | |
$$INCLUDEPATH | |