summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2009-10-16 11:45:22 (GMT)
committeraxis <qt-info@nokia.com>2009-10-23 15:32:24 (GMT)
commit31d299b666e2043a450eac7f76b318d664d9efa0 (patch)
tree985526cabdc0f2e536e9b2599c4c1e7be3f3fa09
parent3c8f2ad71e0afe9ded1f2f695709f98fa1ef644b (diff)
downloadQt-31d299b666e2043a450eac7f76b318d664d9efa0.zip
Qt-31d299b666e2043a450eac7f76b318d664d9efa0.tar.gz
Qt-31d299b666e2043a450eac7f76b318d664d9efa0.tar.bz2
Added support for both lib and app templates.
-rw-r--r--mkspecs/symbian/linux-armcc/features/default_post.prf81
-rw-r--r--mkspecs/symbian/linux-armcc/qmake.conf8
2 files changed, 59 insertions, 30 deletions
diff --git a/mkspecs/symbian/linux-armcc/features/default_post.prf b/mkspecs/symbian/linux-armcc/features/default_post.prf
index e7f658b..5645637 100644
--- a/mkspecs/symbian/linux-armcc/features/default_post.prf
+++ b/mkspecs/symbian/linux-armcc/features/default_post.prf
@@ -1,27 +1,54 @@
-exports.commands = winewrapper getexports.exe ${QMAKE_FILE_NAME} > ${OBJECTS_DIR}${QMAKE_FILE_BASE}.exports
-exports.output = $$OBJECTS_DIR/${QMAKE_FILE_BASE}.exports
-exports.input = OBJECTS
-exports.variable_out = ORDINALMAP
-exports.CONFIG = no_link
-
-deffile.input = ORDINALMAP
-deffile.output = $$OBJECTS_DIR/$${TARGET}.def
-deffile.commands = makedeffile $$OBJECTS_DIR/$${TARGET}.def ${QMAKE_FILE_NAME}
-deffile.variable_out = DEFFILE
-deffile.CONFIG = no_link combine
-
-expfile.input = DEFFILE
-expfile.output = $$OBJECTS_DIR/$${TARGET}.exp
-expfile.commands = makeexpfile ${QMAKE_FILE_NAME} $$OBJECTS_DIR/$${TARGET}.exp
-expfile.variable_out = QMAKE_LIBS
-expfile.CONFIG = target_predeps
-
-ordinalmap.input = DEFFILE
-ordinalmap.output = $$OBJECTS_DIR/$${TARGET}.lib
-ordinalmap.commands = makeordinalmap $$OBJECTS_DIR ${QMAKE_FILE_NAME} $${TARGET}.dll $$OBJECTS_DIR/$${TARGET}.lib
-ordinalmap.variable_out = PRE_TARGETDEPS
-
-QMAKE_EXTRA_COMPILERS += exports
-QMAKE_EXTRA_COMPILERS += deffile
-QMAKE_EXTRA_COMPILERS += expfile
-QMAKE_EXTRA_COMPILERS += ordinalmap
+isEmpty(DESTDIR) {
+ DESTDIR = .
+}
+
+contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
+ exports.commands = winewrapper getexports.exe ${QMAKE_FILE_NAME} > ${OBJECTS_DIR}${QMAKE_FILE_BASE}.exports
+ exports.output = $$OBJECTS_DIR/${QMAKE_FILE_BASE}.exports
+ exports.input = OBJECTS
+ exports.variable_out = ORDINALMAP
+ exports.CONFIG = no_link
+
+ deffile.input = ORDINALMAP
+ deffile.output = $$OBJECTS_DIR/$${TARGET}.def
+ deffile.commands = makedeffile $$OBJECTS_DIR/$${TARGET}.def ${QMAKE_FILE_NAME}
+ deffile.variable_out = DEFFILE
+ deffile.CONFIG = no_link combine
+
+ expfile.input = DEFFILE
+ expfile.output = $$OBJECTS_DIR/$${TARGET}.exp
+ expfile.commands = makeexpfile ${QMAKE_FILE_NAME} $$OBJECTS_DIR/$${TARGET}.exp
+ expfile.variable_out = QMAKE_LIBS
+ expfile.CONFIG = target_predeps
+
+ ordinalmap.input = DEFFILE
+ ordinalmap.output = $$DESTDIR/$${TARGET}.lib
+ ordinalmap.commands = makeordinalmap $$OBJECTS_DIR ${QMAKE_FILE_NAME} $${TARGET}.dll $$DESTDIR/$${TARGET}.lib
+ ordinalmap.variable_out = PRE_TARGETDEPS
+
+ elftran.target = $${DESTDIR}/lib$${TARGET}.tran
+ elftran.commands = winewrapper elftran.exe -version 4.1536 -sid 0xe001b2dc -allow -nocall -heap 0x00020000 0x00800000 -stack 0x00014000 -unpaged -uid1 0x10000079 -uid2 0x1000008d -uid3 0xe001b2dc -fpu softvfp -capability All-Tcb $${DESTDIR}/lib$${TARGET}.dll $${DESTDIR}/lib$${TARGET}.tran
+ elftran.depends = $${DESTDIR}/lib$${TARGET}.dll
+ QMAKE_POST_LINK += winewrapper elftran.exe -version 4.1536 -sid 0xe001b2dc -allow -nocall -heap 0x00020000 0x00800000 -stack 0x00014000 -unpaged -uid1 0x10000079 -uid2 0x1000008d -uid3 0xe001b2dc -fpu softvfp -capability All-Tcb $${DESTDIR}/lib$${TARGET}.dll $${DESTDIR}/lib$${TARGET}.tran
+ QMAKE_CLEAN += $${DESTDIR}/lib$${TARGET}.tran
+
+ QMAKE_EXTRA_COMPILERS += exports
+ QMAKE_EXTRA_COMPILERS += deffile
+ QMAKE_EXTRA_COMPILERS += expfile
+ QMAKE_EXTRA_COMPILERS += ordinalmap
+ QMAKE_EXTRA_TARGETS += elftran
+
+ QMAKE_LIBS += -ledllstub -ledll.lib\\(uc_dll_.o\\)
+}
+
+contains(TEMPLATE, app) {
+ elftran.target = $${DESTDIR}/$${TARGET}.tran
+ elftran.commands = winewrapper elftran.exe -version 10.0 -sid 0xe4d10fc9 -nocall -heap 0x00020000 0x00800000 -stack 0x00014000 -unpaged -uid1 0x1000007a -uid2 0x1000008d -uid3 0xe4d10fc9 -fpu softvfp -capability None $${DESTDIR}/$${TARGET} $${DESTDIR}/$${TARGET}.tran
+ elftran.depends = $${DESTDIR}/$${TARGET}
+ QMAKE_POST_LINK += winewrapper elftran.exe -version 10.0 -sid 0xe4d10fc9 -nocall -heap 0x00020000 0x00800000 -stack 0x00014000 -unpaged -uid1 0x1000007a -uid2 0x1000008d -uid3 0xe4d10fc9 -fpu softvfp -capability None $${DESTDIR}/$${TARGET} $${DESTDIR}/$${TARGET}.tran
+ QMAKE_CLEAN += $${DESTDIR}/$${TARGET}.tran
+
+ QMAKE_EXTRA_TARGETS += elftran
+
+ QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\)
+}
diff --git a/mkspecs/symbian/linux-armcc/qmake.conf b/mkspecs/symbian/linux-armcc/qmake.conf
index 2a926dd..577c4e2 100644
--- a/mkspecs/symbian/linux-armcc/qmake.conf
+++ b/mkspecs/symbian/linux-armcc/qmake.conf
@@ -28,7 +28,9 @@ QMAKE_MKDIR = mkdir -p
QMAKE_CFLAGS += --preinclude rvct2_2.h --diag_suppress 186,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --no_vfe --apcs /inter --dllimport_runtime --gnu
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS --no_parse_templates
-QMAKE_LFLAGS_SHLIB += --entry _E32Dll --diag_suppress 6331,6780 --shl --reloc --split --rw-base 0x400000 --noscanlib
+QMAKE_LFLAGS += --diag_suppress 6331,6780 --shl --reloc --split --rw-base 0x400000 --noscanlib
+QMAKE_LFLAGS_APP += --entry _E32Startup
+QMAKE_LFLAGS_SHLIB += --entry _E32Dll
QT_ARCH = symbian
@@ -37,7 +39,7 @@ DEFINES += __SYMBIAN32__ EKA2 __S60_50__ __S60_3X__ __SERIES60_3X__
INCLUDEPATH += $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off
# ### FIXME Move these to proper locations.
-QMAKE_LIBS = -llibc -llibm -leuser -llibdl -llibpthread -lefsrv -llibstdcpp -llibc.lib\\(VtblExports.o\\) -llibm.lib\\(VtblExports.o\\) -leuser.lib\\(VtblExports.o\\) -llibdl.lib\\(VtblExports.o\\) -llibpthread.lib\\(VtblExports.o\\) -lefsrv.lib\\(VtblExports.o\\) -llibstdcpp.lib\\(VtblExports.o\\)
-QMAKE_LIBS += -ledllstub -ledll.lib\\(uc_dll_.o\\) -lusrt2_2 -ldfpaeabi -ldfprvct2_2.lib -ldrtaeabi -ldrtaeabi.lib\\(VtblExports.o\\) -lscppnwdl -ldrtrvct2_2
+QMAKE_LIBS += -llibc -llibm -leuser -llibdl -llibpthread -lefsrv -llibstdcpp -llibc.lib\\(VtblExports.o\\) -llibm.lib\\(VtblExports.o\\) -leuser.lib\\(VtblExports.o\\) -llibdl.lib\\(VtblExports.o\\) -llibpthread.lib\\(VtblExports.o\\) -lefsrv.lib\\(VtblExports.o\\) -llibstdcpp.lib\\(VtblExports.o\\)
+QMAKE_LIBS += -lusrt2_2 -ldfpaeabi -ldfprvct2_2.lib -ldrtaeabi -ldrtaeabi.lib\\(VtblExports.o\\) -lscppnwdl -ldrtrvct2_2
include(../../common/unix.conf)