From 5657b8f13bd6ef456a1da7ae08a2924e256b8ea3 Mon Sep 17 00:00:00 2001 From: axis Date: Mon, 8 Nov 2010 15:18:11 +0100 Subject: Started using qtmain.lib for all Qt applications, also corelib ones. This commit also fixes the issue that 564058a1bb didn't, namely that config tests broke on Symbian. It does this by continuing to use the Open C libcrt0.lib library for non-Qt applications. This is also more correct, since you should not have to compile the Qt libs to compile a non-Qt app. Task: QTBUG-14735 RevBy: Miikka Heikkinen --- config.tests/symbian/audio/audio.pro | 1 + config.tests/symbian/simple/simple.pro | 1 + mkspecs/common/symbian/symbian.conf | 5 ++++- mkspecs/features/symbian/default_post.prf | 7 +++---- mkspecs/features/symbian/symbian_building.prf | 25 ++++++++++++++----------- 5 files changed, 23 insertions(+), 16 deletions(-) diff --git a/config.tests/symbian/audio/audio.pro b/config.tests/symbian/audio/audio.pro index b2a1986..b496341 100644 --- a/config.tests/symbian/audio/audio.pro +++ b/config.tests/symbian/audio/audio.pro @@ -6,4 +6,5 @@ INCLUDEPATH += $${EPOCROOT}epoc32/include/mmf/common INCLUDEPATH += $${EPOCROOT}epoc32/include/platform LIBS += -lmmfdevsound +CONFIG -= qt QT = diff --git a/config.tests/symbian/simple/simple.pro b/config.tests/symbian/simple/simple.pro index fa086c9..9c60d62 100644 --- a/config.tests/symbian/simple/simple.pro +++ b/config.tests/symbian/simple/simple.pro @@ -1,4 +1,5 @@ TEMPLATE = app +CONFIG -= qt QT = SOURCES += main.cpp diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index 2fb799d..69188a8 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,10 @@ QT_ARCH = symbian load(qt_config) +QMAKE_LIBS_QT_ENTRY = -lqtmain$${QT_LIBINFIX}.lib +QMAKE_LIBS_NO_QT_ENTRY = -llibcrt0.lib +QMAKE_LIBS_NO_QT_ENTRY_GCCE = -llibcrt0_gcce.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 362bd6c..b62bf98 100644 --- a/mkspecs/features/symbian/default_post.prf +++ b/mkspecs/features/symbian/default_post.prf @@ -3,11 +3,10 @@ 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 { + } else:contains(CONFIG,qt) { QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY + } else { + QMAKE_LIBS += $$QMAKE_LIBS_NO_QT_ENTRY } default_bin_deployment.sources += $$symbianRemoveSpecialCharacters($$basename(TARGET)).exe diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf index 1a51cb2..0cedaa0 100644 --- a/mkspecs/features/symbian/symbian_building.prf +++ b/mkspecs/features/symbian/symbian_building.prf @@ -187,25 +187,28 @@ 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 + contains(CONFIG, "qt") { + QMAKE_LIBS -= $$QMAKE_LIBS_QT_ENTRY + QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY } else { - QMAKE_LIBS -= -llibcrt0.lib - QMAKE_LIBS += -llibcrt0.lib + QMAKE_LIBS -= $$QMAKE_LIBS_NO_QT_ENTRY + QMAKE_LIBS += $$QMAKE_LIBS_NO_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 + contains(CONFIG, "qt") { + modified_entry = $$replace(QMAKE_LIBS_QT_ENTRY, "^-l", "-l:") + QMAKE_LIBS -= $$modified_entry + QMAKE_LIBS += $$modified_entry } else { - QMAKE_LIBS -= -l:libcrt0.lib - QMAKE_LIBS -= -l:libcrt0_gcce.lib - QMAKE_LIBS += -l:libcrt0_gcce.lib + modified_entry = $$replace(QMAKE_LIBS_NO_QT_ENTRY, "^-l", "-l:") + QMAKE_LIBS -= $$modified_entry + modified_entry = $$replace(QMAKE_LIBS_NO_QT_ENTRY_GCCE, "^-l", "-l:") + QMAKE_LIBS -= $$modified_entry + QMAKE_LIBS += $$modified_entry } QMAKE_LIBS += \ -l:dfpaeabi.dso \ -- cgit v0.12