diff options
author | axis <qt-info@nokia.com> | 2010-01-12 14:56:31 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2010-01-12 15:03:53 (GMT) |
commit | a2cdb14a9aa1ab5957b179484d4f77441c6f3e8d (patch) | |
tree | 56e478c9380bfcbe7b21603d856c75ce615d6e75 /mkspecs/symbian | |
parent | 3e940b87578b2b324f8d13cf0980f4762ad3ca7b (diff) | |
download | Qt-a2cdb14a9aa1ab5957b179484d4f77441c6f3e8d.zip Qt-a2cdb14a9aa1ab5957b179484d4f77441c6f3e8d.tar.gz Qt-a2cdb14a9aa1ab5957b179484d4f77441c6f3e8d.tar.bz2 |
Reorganized the Symbian build system profiles.
Now we try share as much as possible between the different Symbian
build systems, so that changes made to the MMP systems will also work
in the makefile based one.
Diffstat (limited to 'mkspecs/symbian')
-rw-r--r-- | mkspecs/symbian/linux-armcc/features/default_post.prf | 5 | ||||
-rw-r--r-- | mkspecs/symbian/linux-armcc/features/qt.prf | 131 | ||||
-rw-r--r-- | mkspecs/symbian/linux-armcc/features/symbian_building.prf | 132 | ||||
-rw-r--r-- | mkspecs/symbian/linux-armcc/qmake.conf | 49 | ||||
-rw-r--r-- | mkspecs/symbian/linux-armcc/symbian.conf | 4 |
5 files changed, 143 insertions, 178 deletions
diff --git a/mkspecs/symbian/linux-armcc/features/default_post.prf b/mkspecs/symbian/linux-armcc/features/default_post.prf new file mode 100644 index 0000000..7aa1f4d --- /dev/null +++ b/mkspecs/symbian/linux-armcc/features/default_post.prf @@ -0,0 +1,5 @@ +load(default_post.prf) + +# It is important that this config be executed last, +# and qmake does them in reverse order. +CONFIG = symbian_building $$CONFIG diff --git a/mkspecs/symbian/linux-armcc/features/qt.prf b/mkspecs/symbian/linux-armcc/features/qt.prf index 83c4f30..04371f9 100644 --- a/mkspecs/symbian/linux-armcc/features/qt.prf +++ b/mkspecs/symbian/linux-armcc/features/qt.prf @@ -1,129 +1,8 @@ -load(qt) - -isEmpty(DESTDIR) { - DESTDIR = . -} - -for(libraries, LIBS) { - isFullName = $$find(libraries, \.) - isEmpty(isFullName) { - newLIBS += "$${libraries}.dso" - } else { - newLIBS += "$${libraries}" - } -} -LIBS = $$newLIBS -newLIBS = -for(libraries, QMAKE_LIBS) { - isFullName = $$find(libraries, \.) - isEmpty(isFullName) { - newLIBS += "$${libraries}.dso" - } else { - newLIBS += "$${libraries}" - } -} -QMAKE_LIBS = $$newLIBS - -# This needs to be done after the above LIBS mangling. -include(../platformlibs.conf) - -elf2e32_LIBPATH = -for(libPath, QMAKE_LIBDIR) { - elf2e32_LIBPATH += "--libpath=$$libPath" -} - -# Check for version validity. -!isEmpty(VERSION):!contains(VERSION, "[0-9]+"):!contains(VERSION, "[0-9]+\.[0-9]+")!contains(VERSION, "[0-9]+(\.[0-9]+){2}") { - error("Invalid VERSION for Symbian: $$VERSION") -} - -splitVersion = $$split(VERSION, ".") -# Default Symbian version if none is specified. -isEmpty(splitVersion):splitVersion = 10 -hexVersion = "00" -versionPart = 1 -versionPart1 = 10 -versionPart2 = 0 -versionPart3 = 0 -for(verNumber, splitVersion) { - # Poor man's printf - hexVersion = $$hexVersion$$system("sh -c 'printf %02x $$verNumber'") - contains(versionPart, 3) { - versionPart3 = $$verNumber - versionPart = 4 - } - contains(versionPart, 2) { - versionPart2 = $$verNumber - versionPart = 3 - } - contains(versionPart, 1) { - versionPart1 = $$verNumber - versionPart = 2 - } -} -!contains(hexVersion, "[0-9a-z]{8}"):hexVersion = "$${hexVersion}00" -!contains(hexVersion, "[0-9a-z]{8}"):hexVersion = "$${hexVersion}00" -decVersion = $$sprintf("%1.%2", $$versionPart1, $$system("sh -c 'echo \$[$$versionPart2 * 256 + $$versionPart3]'")) - -intUid3 = $$lower($$replace(TARGET.UID3, "^0x", "")) -isEmpty(TARGET.SID):TARGET.SID = $$TARGET.UID3 -isEmpty(TARGET.UID2):TARGET.UID2 = 0x00000000 - -contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) { - !isEmpty($$QMAKE_POST_LINK):QMAKE_POST_LINK += && - QMAKE_POST_LINK += $$QMAKE_MOVE $$DESTDIR/$${TARGET}.dll $$DESTDIR/$${TARGET}.sym - QMAKE_POST_LINK += && elf2e32 --version=$$decVersion --sid=$$TARGET.SID --uid1=0x10000079 --uid2=$$TARGET.UID2 --uid3=$$TARGET.UID3 --dlldata --heap=0x00020000,0x00800000 --stack=0x00014000 --capability=None --fpu=softvfp --targettype=DLL --elfinput=$${DESTDIR}/$${TARGET}.sym --output=$${DESTDIR}/$${TARGET}.dll --dso=$$DESTDIR/$${TARGET}.dso --defoutput=$$OBJECTS_DIR/$${TARGET}.def --unfrozen --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll --compressionmethod bytepair $$elf2e32_LIBPATH --unpaged - QMAKE_DISTCLEAN += $${DESTDIR}/$${TARGET}.sym - QMAKE_DISTCLEAN += $${DESTDIR}/$${TARGET}.dso - QMAKE_CLEAN += $${OBJECTS_DIR}/$${TARGET}.def +QMAKE_LIBDIR_QT += $${EPOCROOT}epoc32/release/armv5/lib +QMAKE_LIBDIR_QT *= $$(RVCT22LIB) - QMAKE_LIBS += -ledllstub.lib -ledll.lib\\(uc_dll_.o\\) +INCLUDEPATH *= $${EPOCROOT}epoc32/include $${EPOCROOT}epoc32/include/rvct2_2 $${EPOCROOT}epoc32/include/variant $${EPOCROOT}epoc32/include/stdapis $${EPOCROOT}epoc32/include/stdapis/stlport - QMAKE_LFLAGS += --symver_soname --soname $${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll -} +DEFINES *= __PRODUCT_INCLUDE__=$${EPOCROOT}epoc32/include/variant/symbian_os.hrh -contains(TEMPLATE, app) { - !isEmpty($$QMAKE_POST_LINK):QMAKE_POST_LINK += && - - QMAKE_POST_LINK += $$QMAKE_MOVE $$DESTDIR/$${TARGET} $$DESTDIR/$${TARGET}.sym - QMAKE_POST_LINK += && elf2e32 --version $$decVersion --sid=$$TARGET.SID --uid1=0x1000007a --uid2=$$TARGET.UID2 --uid3=$$TARGET.UID3 --dlldata --heap=0x00020000,0x00800000 --stack=0x00014000 --capability=None --fpu=softvfp --targettype=EXE --elfinput=$${DESTDIR}/$${TARGET}.sym --output=$${DESTDIR}/$${TARGET}.exe --unfrozen --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe --compressionmethod bytepair $$elf2e32_LIBPATH --unpaged - QMAKE_DISTCLEAN += $${DESTDIR}/$${TARGET}.exe - - QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\) - - QMAKE_LFLAGS += --symver_soname --soname $${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe -} - -# Symbian resource files - -linux-armcc:symbian_resources_INCLUDES = -I$$(RVCT22INC) -symbian_resources_INCLUDES = $$replace(symbian_resources_INCLUDES, ",", " -I") -symbian_resources_INCLUDES += $$join(INCLUDEPATH, " -I", "-I") -symbian_resources_DEFINES = $$join(DEFINES, " -D", "-D") -symbian_resources_RCC_DIR = $$replace(RCC_DIR, "/$", "") -symbian_resources_INCLUDES += "-I $$symbian_resources_RCC_DIR" - -for(symbian_resource, SYMBIAN_RESOURCES) { - symbian_resource = $$basename(symbian_resource) - symbian_resource_clean = $$replace(symbian_resource, "\.rss$", ".rsc") - QMAKE_CLEAN += $${symbian_resources_RCC_DIR}/$${symbian_resource_clean} - symbian_resource_clean = $$replace(symbian_resource, "\.rss$", ".rpp") - QMAKE_CLEAN += $${symbian_resources_RCC_DIR}/$${symbian_resource_clean} -} - -symbianresources.input = SYMBIAN_RESOURCES -symbianresources.output = $$symbian_resources_RCC_DIR/${QMAKE_FILE_BASE}.rsg -symbianresources.commands = cpp -nostdinc -undef \ - $$symbian_resources_INCLUDES \ - $$symbian_resources_DEFINES \ - ${QMAKE_FILE_NAME} \ - -o $${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \ - && rcomp -u -m045,046,047 \ - -s$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \ - -o$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rsc \ - -h$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rsg \ - -i${QMAKE_FILE_NAME} -symbianresources.dependency_type = TYPE_C -symbianresources.CONFIG = no_link - -QMAKE_EXTRA_COMPILERS += symbianresources +load(qt) diff --git a/mkspecs/symbian/linux-armcc/features/symbian_building.prf b/mkspecs/symbian/linux-armcc/features/symbian_building.prf new file mode 100644 index 0000000..8a0d121 --- /dev/null +++ b/mkspecs/symbian/linux-armcc/features/symbian_building.prf @@ -0,0 +1,132 @@ +QMAKE_CFLAGS += $$QMAKE_CFLAGS.ARMCC +QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS.ARMCC + +isEmpty(DESTDIR) { + DESTDIR = . +} + +for(libraries, LIBS) { + libraries = $$replace(libraries, "\.dll$", ".dso") + isFullName = $$find(libraries, \.) + isEmpty(isFullName) { + newLIBS += "$${libraries}.dso" + } else { + newLIBS += "$${libraries}" + } +} +LIBS = $$newLIBS +newLIBS = +for(libraries, QMAKE_LIBS) { + libraries = $$replace(libraries, "\.dll$", ".dso") + isFullName = $$find(libraries, \.) + isEmpty(isFullName) { + newLIBS += "$${libraries}.dso" + } else { + newLIBS += "$${libraries}" + } +} +QMAKE_LIBS = $$newLIBS + +# This needs to be done after the above LIBS mangling. +include(../platformlibs.conf) + +elf2e32_LIBPATH = +for(libPath, QMAKE_LIBDIR) { + elf2e32_LIBPATH += "--libpath=$$libPath" +} + +# Check for version validity. +!isEmpty(VERSION):!contains(VERSION, "[0-9]+"):!contains(VERSION, "[0-9]+\.[0-9]+")!contains(VERSION, "[0-9]+(\.[0-9]+){2}") { + error("Invalid VERSION for Symbian: $$VERSION") +} + +splitVersion = $$split(VERSION, ".") +# Default Symbian version if none is specified. +isEmpty(splitVersion):splitVersion = 10 +hexVersion = "00" +versionPart = 1 +versionPart1 = 10 +versionPart2 = 0 +versionPart3 = 0 +for(verNumber, splitVersion) { + # Poor man's printf + hexVersion = $$hexVersion$$system("sh -c 'printf %02x $$verNumber'") + contains(versionPart, 3) { + versionPart3 = $$verNumber + versionPart = 4 + } + contains(versionPart, 2) { + versionPart2 = $$verNumber + versionPart = 3 + } + contains(versionPart, 1) { + versionPart1 = $$verNumber + versionPart = 2 + } +} +!contains(hexVersion, "[0-9a-z]{8}"):hexVersion = "$${hexVersion}00" +!contains(hexVersion, "[0-9a-z]{8}"):hexVersion = "$${hexVersion}00" +decVersion = $$sprintf("%1.%2", $$versionPart1, $$system("sh -c 'echo \$[$$versionPart2 * 256 + $$versionPart3]'")) + +intUid3 = $$lower($$replace(TARGET.UID3, "^0x", "")) +isEmpty(TARGET.SID):TARGET.SID = $$TARGET.UID3 +isEmpty(TARGET.UID2):TARGET.UID2 = 0x00000000 + +contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) { + !isEmpty($$QMAKE_POST_LINK):QMAKE_POST_LINK += && + QMAKE_POST_LINK += $$QMAKE_MOVE $$DESTDIR/$${TARGET}.dll $$DESTDIR/$${TARGET}.sym + QMAKE_POST_LINK += && elf2e32 --version=$$decVersion --sid=$$TARGET.SID --uid1=0x10000079 --uid2=$$TARGET.UID2 --uid3=$$TARGET.UID3 --dlldata --heap=0x00020000,0x00800000 --stack=0x00014000 --capability=None --fpu=softvfp --targettype=DLL --elfinput=$${DESTDIR}/$${TARGET}.sym --output=$${DESTDIR}/$${TARGET}.dll --dso=$$DESTDIR/$${TARGET}.dso --defoutput=$$OBJECTS_DIR/$${TARGET}.def --unfrozen --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll --compressionmethod bytepair $$elf2e32_LIBPATH --unpaged + QMAKE_DISTCLEAN += $${DESTDIR}/$${TARGET}.sym + QMAKE_DISTCLEAN += $${DESTDIR}/$${TARGET}.dso + QMAKE_CLEAN += $${OBJECTS_DIR}/$${TARGET}.def + + QMAKE_LIBS += -ledllstub.lib -ledll.lib\\(uc_dll_.o\\) + + QMAKE_LFLAGS += --symver_soname --soname $${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll +} + +contains(TEMPLATE, app) { + !isEmpty($$QMAKE_POST_LINK):QMAKE_POST_LINK += && + + QMAKE_POST_LINK += $$QMAKE_MOVE $$DESTDIR/$${TARGET} $$DESTDIR/$${TARGET}.sym + QMAKE_POST_LINK += && elf2e32 --version $$decVersion --sid=$$TARGET.SID --uid1=0x1000007a --uid2=$$TARGET.UID2 --uid3=$$TARGET.UID3 --dlldata --heap=0x00020000,0x00800000 --stack=0x00014000 --capability=None --fpu=softvfp --targettype=EXE --elfinput=$${DESTDIR}/$${TARGET}.sym --output=$${DESTDIR}/$${TARGET}.exe --unfrozen --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe --compressionmethod bytepair $$elf2e32_LIBPATH --unpaged + QMAKE_DISTCLEAN += $${DESTDIR}/$${TARGET}.exe + + QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\) + + QMAKE_LFLAGS += --symver_soname --soname $${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe +} + +# Symbian resource files + +linux-armcc:symbian_resources_INCLUDES = -I$$(RVCT22INC) +symbian_resources_INCLUDES = $$replace(symbian_resources_INCLUDES, ",", " -I") +symbian_resources_INCLUDES += $$join(INCLUDEPATH, " -I", "-I") +symbian_resources_DEFINES = $$join(DEFINES, " -D", "-D") +symbian_resources_RCC_DIR = $$replace(RCC_DIR, "/$", "") +symbian_resources_INCLUDES += "-I $$symbian_resources_RCC_DIR" + +for(symbian_resource, SYMBIAN_RESOURCES) { + symbian_resource = $$basename(symbian_resource) + symbian_resource_clean = $$replace(symbian_resource, "\.rss$", ".rsc") + QMAKE_CLEAN += $${symbian_resources_RCC_DIR}/$${symbian_resource_clean} + symbian_resource_clean = $$replace(symbian_resource, "\.rss$", ".rpp") + QMAKE_CLEAN += $${symbian_resources_RCC_DIR}/$${symbian_resource_clean} +} + +symbianresources.input = SYMBIAN_RESOURCES +symbianresources.output = $$symbian_resources_RCC_DIR/${QMAKE_FILE_BASE}.rsg +symbianresources.commands = cpp -nostdinc -undef \ + $$symbian_resources_INCLUDES \ + $$symbian_resources_DEFINES \ + ${QMAKE_FILE_NAME} \ + -o $${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \ + && rcomp -u -m045,046,047 \ + -s$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \ + -o$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rsc \ + -h$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rsg \ + -i${QMAKE_FILE_NAME} +symbianresources.dependency_type = TYPE_C +symbianresources.CONFIG = no_link + +QMAKE_EXTRA_COMPILERS += symbianresources diff --git a/mkspecs/symbian/linux-armcc/qmake.conf b/mkspecs/symbian/linux-armcc/qmake.conf index be59baf..c98c1f0 100644 --- a/mkspecs/symbian/linux-armcc/qmake.conf +++ b/mkspecs/symbian/linux-armcc/qmake.conf @@ -2,53 +2,6 @@ # qmake configuration for symbian/linux-armcc # -MAKEFILE_GENERATOR = UNIX -TEMPLATE = app -CONFIG += qt warn_on release incremental link_prl rvct_linker -QT += core gui -QMAKE_INCREMENTAL_STYLE = sublib +include(../../common/symbian/symbian-makefile.conf) include(../../common/armcc.conf) -load(qt_config) - -QMAKE_MOC = $$[QT_INSTALL_BINS]/moc -QMAKE_UIC = $$[QT_INSTALL_BINS]/uic - -QMAKE_TAR = tar -cf -QMAKE_GZIP = gzip -9f - -QMAKE_COPY = cp -f -QMAKE_COPY_FILE = $(COPY) -QMAKE_COPY_DIR = $(COPY) -r -QMAKE_MOVE = mv -f -QMAKE_DEL_FILE = rm -f -QMAKE_DEL_DIR = rmdir -QMAKE_CHK_DIR_EXISTS = test -d -QMAKE_MKDIR = mkdir -p - -QMAKE_CFLAGS += --dllimport_runtime --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 --visibility_inlines_hidden -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS --no_parse_templates -QMAKE_LFLAGS += --diag_suppress 6331,6780 --bpabi --reloc --datacompressor=off --split --rw-base 0x800000 --dll --no_scanlib -QMAKE_LFLAGS_APP += --entry _E32Startup -QMAKE_LFLAGS_SHLIB += --entry _E32Dll - -QT_ARCH = symbian - -DEFINES += __SYMBIAN32__ EKA2 __S60_50__ __S60_3X__ __SERIES60_3X__ __EPOC32__ __MARM__ __EABI__ __ARMCC__ __ARMcc_2__ __ARMCC_2_2__ __MARM_ARMV5__ __MARM_THUMB__ __MARM_INTERWORK__ __DLL__ _UNICODE __SUPPORT_CPP_EXCEPTIONS__ - -INCLUDEPATH += $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off - -# ### FIXME Move these to proper locations. -QMAKE_LIBS += -llibc -llibm -leuser -llibdl -llibpthread -lefsrv -llibstdcpp -lplatformenv -QMAKE_LIBS_GUI += -lfbscli -lbitgdi -lhal -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -QMAKE_LIBS_S60 += -lavkon - -include(../../common/unix.conf) - -QMAKE_PREFIX_SHLIB = -QMAKE_EXTENSION_SHLIB = dll -QMAKE_PREFIX_STATICLIB = -QMAKE_EXTENSION_STATICLIB = lib -QMAKE_SYMBIAN_SHLIB = 1 - -include(symbian.conf) diff --git a/mkspecs/symbian/linux-armcc/symbian.conf b/mkspecs/symbian/linux-armcc/symbian.conf deleted file mode 100644 index 8b1dbea..0000000 --- a/mkspecs/symbian/linux-armcc/symbian.conf +++ /dev/null @@ -1,4 +0,0 @@ -# ALL OF THIS SHOULD BE MOVED TO mkspecs/common. - -QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] -QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] |