From 564058a1bbfb1c67bc3d68b7c7a2ebfe83481334 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 4 Nov 2010 12:23:54 +0200 Subject: Use qtmain.lib to provide entry point for all Symbian applications Using Open C's libcrt0.lib to provide entry point caused problems for applications that launched other processes, as Open C retains a handle to all launched processes even after said processes terminate. Task-number: QTBUG-14735 Reviewed-by: axis --- mkspecs/common/symbian/symbian.conf | 3 ++- mkspecs/features/symbian/default_post.prf | 3 --- mkspecs/features/symbian/symbian_building.prf | 20 +++++--------------- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index decec14..6d1f708 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -79,7 +79,6 @@ QMAKE_LIBS_OPENGL_ES2_QT = -llibglesv2 -lcone -lws32 QMAKE_LIBS_OPENVG = -llibOpenVG -lfbscli -lbitgdi -lgdi QMAKE_LIBS_THREAD = -llibpthread QMAKE_LIBS_COMPAT = -QMAKE_LIBS_QT_ENTRY = -llibcrt0.lib QMAKE_LIBS_S60 = -lavkon -leikcoctl exists($${EPOCROOT}epoc32/include/platform/sgresource/sgimage.h) { @@ -127,6 +126,8 @@ QT_ARCH = symbian load(qt_config) +QMAKE_LIBS_QT_ENTRY = -lqtmain$${QT_LIBINFIX}.lib + # These directories must match what configure uses for QT_INSTALL_PLUGINS and QT_INSTALL_IMPORTS QT_PLUGINS_BASE_DIR = /resource/qt$${QT_LIBINFIX}/plugins QT_IMPORTS_BASE_DIR = /resource/qt/imports diff --git a/mkspecs/features/symbian/default_post.prf b/mkspecs/features/symbian/default_post.prf index 0564e9b..348c366 100644 --- a/mkspecs/features/symbian/default_post.prf +++ b/mkspecs/features/symbian/default_post.prf @@ -3,9 +3,6 @@ load(default_post) contains(TEMPLATE, ".*app") { contains(CONFIG, stdbinary) { QMAKE_LIBS += - } else:contains(QT, gui):contains(CONFIG,qt) { - S60MAIN_LIBS = -leuser - QMAKE_LIBS += -lqtmain$${QT_LIBINFIX}.lib $$S60MAIN_LIBS } else { QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY } diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf index 1a51cb2..20bc3a3 100644 --- a/mkspecs/features/symbian/symbian_building.prf +++ b/mkspecs/features/symbian/symbian_building.prf @@ -187,26 +187,16 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@:.*") { linux-armcc: { QMAKE_LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso h_t__uf.l\\(switch8.o\\) QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\) - contains(CONFIG, "qt"):contains(QT, "gui") { #if linking with QtCore - QMAKE_LIBS -= -lqtmain$${QT_LIBINFIX}.lib - QMAKE_LIBS += -lqtmain$${QT_LIBINFIX}.lib - } else { - QMAKE_LIBS -= -llibcrt0.lib - QMAKE_LIBS += -llibcrt0.lib - } + QMAKE_LIBS -= $$QMAKE_LIBS_QT_ENTRY + QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY } else :linux-gcce { # notice that we can't merge these as ordering of arguments is important. QMAKE_LIBS += \ -l:eexe.lib \ -l:usrt2_2.lib - contains(CONFIG, "qt"):contains(QT, "gui") { #if linking with QtCore - QMAKE_LIBS -= -l:qtmain$${QT_LIBINFIX}.lib - QMAKE_LIBS += -l:qtmain$${QT_LIBINFIX}.lib - } else { - QMAKE_LIBS -= -l:libcrt0.lib - QMAKE_LIBS -= -l:libcrt0_gcce.lib - QMAKE_LIBS += -l:libcrt0_gcce.lib - } + modified_entry = $$replace(QMAKE_LIBS_QT_ENTRY, "^-l", "-l:") + QMAKE_LIBS -= $$modified_entry + QMAKE_LIBS += $$modified_entry QMAKE_LIBS += \ -l:dfpaeabi.dso \ -l:drtaeabi.dso \ -- cgit v0.12