diff options
Diffstat (limited to 'mkspecs/features/symbian/symbian_building.prf')
-rw-r--r-- | mkspecs/features/symbian/symbian_building.prf | 369 |
1 files changed, 0 insertions, 369 deletions
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf deleted file mode 100644 index 8c757077d3..0000000000 --- a/mkspecs/features/symbian/symbian_building.prf +++ /dev/null @@ -1,369 +0,0 @@ -symbian-armcc { - QMAKE_CFLAGS += $$QMAKE_CFLAGS.ARMCC - QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS.ARMCC - QMAKE_LFLAGS += $$QMAKE_LFLAGS.ARMCC - # This is to prevent inclusion of the shipped RVCT headers, which are often in the - # environment variable RVCTxxINC by default. -J prevents the searching of that location, - # but needs a path, so just specify somewhere guaranteed not to contain header files. - QMAKE_CFLAGS += -J$${EPOCROOT}epoc32/ignore_this_path - QMAKE_CXXFLAGS += -J$${EPOCROOT}epoc32/ignore_this_path -} else:symbian-gcce { - QMAKE_CFLAGS += $$QMAKE_CFLAGS.GCCE - QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS.GCCE - QMAKE_LFLAGS += $$QMAKE_LFLAGS.GCCE -} - -# We need a target name without the INFIX'ed part, since flags are not infixed. -equals(QMAKE_TARGET_PRODUCT, Qt4):clean_TARGET = $$replace(TARGET, "$${QT_LIBINFIX}$", "") -else:clean_TARGET = $$TARGET - -# we have some module specific options (defined in qt.prf) lets add them -!contains(clean_TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${clean_TARGET}_CXXFLAGS) -!isEmpty(TMPVAR):QMAKE_CXXFLAGS += $$TMPVAR -!contains(clean_TARGET, ".*[ -/].*"):eval(TMPVAR = \$\$QMAKE_$${clean_TARGET}_LFLAGS) -!isEmpty(TMPVAR) { - QMAKE_LFLAGS += $$TMPVAR -} else :symbian-gcce { # lets provide a simple default. Without elf2e32 complains - QMAKE_LFLAGS += -Ttext 0x80000 -Tdata 0x400000 -} - -qtPrepareTool(QMAKE_ELF2E32_WRAPPER, elf2e32_qtwrapper) - -isEmpty(TARGET.EPOCSTACKSIZE):TARGET.EPOCSTACKSIZE = 0x14000 -isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x020000 0x800000 -epoc_heap_size = $$split(TARGET.EPOCHEAPSIZE, " ") -epoc_heap_size = $$join(epoc_heap_size, ",") - -symbianObjdir=$$OBJECTS_DIR -isEmpty(symbianObjdir) { - symbianObjdir = . -} -symbianDestdir=$$DESTDIR -isEmpty(symbianDestdir) { - symbianDestdir = . -} -baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET)) -!equals(TARGET, "$$baseTarget"):symbianDestdir = $$symbianDestdir/$$dirname(TARGET) - -contains(QMAKE_CFLAGS, "--thumb")|contains(QMAKE_CXXFLAGS, "--thumb")|contains(QMAKE_CFLAGS, "-mthumb")|contains(QMAKE_CXXFLAGS, "-mthumb") { - DEFINES += __MARM_THUMB__ -} - -defineReplace(processSymbianLibrary) { - qt_library = $$replace(1, "\\.dll$", ".dso") - qt_library = $$replace(qt_library, "^-l", "") - isFullName = $$find(qt_library, \\.) - isEmpty(isFullName):qt_library="$${qt_library}.dso" - return($$qt_library) -} - -# This part turn "-llibc" into "libc.dso", and moves -L entries to QMAKE_LIBDIR. -libsToProcess = LIBS LIBS_PRIVATE QMAKE_LIBS -for(libToProcess, libsToProcess) { - qt_libraries = $$split($$libToProcess, " ") - eval($$libToProcess =) - for(qt_library, qt_libraries) { - contains(qt_library, "^-L.*") { - qt_library = $$replace(qt_library, "^-L", "") - QMAKE_LIBDIR += $$qt_library - } else { - qt_newLib = $$processSymbianLibrary($$qt_library) - contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib - symbian-gcce:qt_newLib = "-l:$$qt_newLib" - eval($$libToProcess *= \$\$qt_newLib) - } - } -} - -elf2e32_LIBPATH = -for(libPath, QMAKE_LIBDIR) { - elf2e32_LIBPATH += "--libpath=$$libPath" -} - -isEmpty(VERSION) { - VERSION = $$QT_VERSION -} - -# 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, ".") -count(splitVersion, 0) { - # Default Symbian version if none is specified. - hexVersion = "000a0000" - decVersion = "10.0" -} else { - count(splitVersion, 3) { - hexVersion = $$system("perl -e \"printf (\\\"%02x\\\", $$member(splitVersion, 0))\"") - hexPart2 = $$system("perl -e \"printf (\\\"%02x\\\", $$member(splitVersion, 1))\"") - hexPart2 = $$hexPart2$$system("perl -e \"printf (\\\"%02x\\\", $$member(splitVersion, 2))\"") - decVersion = $$system("perl -e \"printf (\\\"%1d\\\", 0x$$hexVersion)\""). - hexVersion = $$hexVersion$$hexPart2 - decVersion = $$decVersion$$system("perl -e \"printf (\\\"%d\\\", 0x$$hexPart2)\"") - - !contains(hexVersion, "[0-9a-f]{8}"):hexVersion = "00$${hexVersion}" - } else { # app code may have different numbering... - hexVersion = $$VERSION - decVersion = $$VERSION - } -} -#error ("hexVersion: $$hexVersion, decVersion: $$decVersion") - -intUid3 = $$lower($$replace(TARGET.UID3, "^0x", "")) -isEmpty(TARGET.SID):TARGET.SID = $$TARGET.UID3 -isEmpty(TARGET.UID2):TARGET.UID2 = 0x00000000 - -capability = $$replace(TARGET.CAPABILITY, " ", "+") -capability = $$join(capability, "+") -capability = $$replace(capability, "\\+-", "-") -isEmpty(capability): capability = "None" -capability = "--capability=$$capability" - -contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) { - contains(CONFIG, plugin):QMAKE_ELF2E32_FLAGS += --definput=plugin_commonu.def - - !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK - moveCmd = $$QMAKE_MOVE $$symbianDestdir/$${baseTarget}.dll $$symbianDestdir/$${baseTarget}.sym - contains(QMAKE_HOST.os,Windows):moveCmd = $$replace(moveCmd, /, \\) - QMAKE_POST_LINK = $$moveCmd \ - && $$QMAKE_ELF2E32_WRAPPER --version=$$decVersion \ - --sid=$$TARGET.SID \ - --uid1=0x10000079 \ - --uid2=$$TARGET.UID2 \ - --uid3=$$TARGET.UID3 \ - --targettype=DLL \ - --elfinput=$${symbianDestdir}/$${baseTarget}.sym \ - --output=$${symbianDestdir}/$${baseTarget}.dll \ - --tmpdso=$${symbianObjdir}/$${baseTarget}.dso \ - --dso=$${symbianDestdir}/$${baseTarget}.dso \ - --defoutput=$$symbianObjdir/$${baseTarget}.def \ - --linkas=\"$${baseTarget}{$${hexVersion}}[$${intUid3}].dll\" \ - --heap=$$epoc_heap_size \ - --stack=$$TARGET.EPOCSTACKSIZE \ - $$elf2e32_LIBPATH \ - $$capability \ - $$QMAKE_ELF2E32_FLAGS \ - $$QMAKE_POST_LINK - silent:QMAKE_POST_LINK = @echo postlinking $@ && $$QMAKE_POST_LINK - QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.sym - QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.dso - QMAKE_CLEAN += $${symbianObjdir}/$${baseTarget}.dso - QMAKE_CLEAN += $${symbianObjdir}/$${baseTarget}.def - - symbian-armcc: { - LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso - # Quotation unfortunately is different on Windows and unix. - contains(QMAKE_HOST.os, Windows) { - LIBS += \"h_t__uf.l(switch8.o)\" edllstub.lib \"edll.lib(uc_dll_.o)\" - } else { - LIBS += h_t__uf.l\\(switch8.o\\) edllstub.lib edll.lib\\(uc_dll_.o\\) - } - } else :symbian-gcce { - LIBS += \ - -l:edllstub.lib \ - -l:edll.lib \ - -l:usrt2_2.lib \ - -l:dfpaeabi.dso \ - -l:drtaeabi.dso \ - -l:scppnwdl.dso \ - -lsupc++ \ - -lgcc - } - - QMAKE_LFLAGS += --soname \"$${baseTarget}{$${hexVersion}}[$${intUid3}].dll\" - DEFINES += __DLL__ -} - -contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@:.*") { - !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK - moveCmd = $$QMAKE_MOVE $$symbianDestdir/$${baseTarget} $$symbianDestdir/$${baseTarget}.sym - contains(QMAKE_HOST.os,Windows):moveCmd = $$replace(moveCmd, /, \\) - QMAKE_POST_LINK = $$moveCmd \ - && $$QMAKE_ELF2E32_WRAPPER --version $$decVersion \ - --sid=$$TARGET.SID \ - --uid1=0x1000007a \ - --uid2=$$TARGET.UID2 \ - --uid3=$$TARGET.UID3 \ - --targettype=EXE \ - --elfinput=$${symbianDestdir}/$${baseTarget}.sym \ - --output=$${symbianDestdir}/$${baseTarget}.exe \ - --linkas=\"$${baseTarget}{$${hexVersion}}[$${intUid3}].exe\" \ - --heap=$$epoc_heap_size \ - --stack=$$TARGET.EPOCSTACKSIZE \ - $$elf2e32_LIBPATH \ - $$capability \ - $$QMAKE_ELF2E32_FLAGS \ - && $$QMAKE_COPY "$${symbianDestdir}/$${baseTarget}.exe" "$${symbianDestdir}/$${baseTarget}" \ - $$QMAKE_POST_LINK - silent:QMAKE_POST_LINK = @echo postlinking $@ && $$QMAKE_POST_LINK - QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.sym - QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.exe - QMAKE_CLEAN += $${symbianDestdir}/$${baseTarget} - - symbian-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") { - QMAKE_LIBS -= $$QMAKE_LIBS_QT_ENTRY - QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY - } else { - QMAKE_LIBS -= $$QMAKE_LIBS_NO_QT_ENTRY - QMAKE_LIBS += $$QMAKE_LIBS_NO_QT_ENTRY - } - } else :symbian-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") { - modified_entry = $$replace(QMAKE_LIBS_QT_ENTRY, "^-l", "-l:") - QMAKE_LIBS -= $$modified_entry - QMAKE_LIBS += $$modified_entry - } else { - 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 \ - -l:drtaeabi.dso \ - -l:scppnwdl.dso \ - -lsupc++ \ - -lgcc - QMAKE_LFLAGS += --shared - } - - QMAKE_LFLAGS += --soname \"$${baseTarget}{$${hexVersion}}[$${intUid3}].exe\" - DEFINES += __EXE__ -} - -# Symbian resource files -symbian_resources_INCLUDES = $$join(INCLUDEPATH, " -I", "-I") -symbian_resources_DEFINES = $$join(DEFINES, " -D", "-D") -symbian_resources_DEFINES += -D__QT_SYMBIAN_RESOURCE__ -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_DISTCLEAN += $${symbianDestdir}/$${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}$${QT_LIBINFIX}.rsg -symbianresources.commands = cpp -nostdinc -undef \ - -include $$QMAKE_SYMBIAN_INCLUDES \ - $$symbian_resources_INCLUDES \ - $$symbian_resources_DEFINES \ - ${QMAKE_FILE_NAME} \ - > $${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \ - && rcomp -u -m045,046,047 \ - -s$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \ - -o$${symbianDestdir}/${QMAKE_FILE_BASE}$${QT_LIBINFIX}.rsc \ - -h$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}$${QT_LIBINFIX}.rsg \ - -i${QMAKE_FILE_NAME} -silent:symbianresources.commands = @echo rcomp $< && $$symbianresources.commands -symbianresources.dependency_type = TYPE_C -symbianresources.CONFIG = no_link target_predeps - -QMAKE_EXTRA_COMPILERS += symbianresources - -# This section generates the rsg and rsc files for symbian. -contains(TEMPLATE, "app"):!contains(CONFIG, "no_icon") { - # Look for extra languages for the resources, and then generate a target for each one. - localize_deployment:symbianGenResourceLanguages = $$SYMBIAN_MATCHED_LANGUAGES default - else:symbianGenResourceLanguages = default - for(language, symbianGenResourceLanguages) { - # Special languages get their language number appended to the filename. - contains(language, default) { - symbianGenResource_DEFINES = $$symbian_resources_DEFINES - rpp = $${symbian_resources_RCC_DIR}/$${baseTarget}.rpp - rsc = $${symbianDestdir}/$${baseTarget}.rsc - rsg = $${symbian_resources_RCC_DIR}/$${baseTarget}.rsg - } else { - languageNo = $$eval(SYMBIAN_LANG.$$language) - symbianGenResource_DEFINES = $$symbian_resources_DEFINES -DLANGUAGE_$${languageNo} - rpp = $${symbian_resources_RCC_DIR}/$${baseTarget}_$${languageNo}.rpp - rsc = $${symbianDestdir}/$${baseTarget}.r$${languageNo} - rsg = $${symbian_resources_RCC_DIR}/$${baseTarget}_$${languageNo}.rsg - } - - # Make our own extra target in order to get dependencies for generated - # files right. This also avoids the warning about files not found. - eval(symbianGenResource_$${language}.target = $$rsg) - eval(symbianGenResource_$${language}.commands = cpp -nostdinc -undef \ - -include $$QMAKE_SYMBIAN_INCLUDES \ - $$symbian_resources_INCLUDES \ - $$symbianGenResource_DEFINES \ - $${baseTarget}.rss \ - > $$rpp \ - && rcomp -u -m045,046,047 \ - -s$$rpp \ - -o$$rsc \ - -h$$rsg \ - -i$${baseTarget}.rss) - silent:eval(symbianGenResource_$${language}.commands = @echo rcomp $${baseTarget}.rss && $$eval(symbianGenResource_$${language}.commands)) - eval(symbianGenResource_$${language}.depends = $${baseTarget}.rss) - PRE_TARGETDEPS += $$rsg - QMAKE_CLEAN += $$rsg $$rpp - QMAKE_DISTCLEAN += $$rsc - - QMAKE_EXTRA_TARGETS += symbianGenResource_$${language} - - # Note that we depend on the base rsg file, even if dealing with a specific language. - # hence we don't use $$rsg on the next line. - eval(symbianGenRegResource_$${language}.depends = $${baseTarget}_reg.rss $${symbian_resources_RCC_DIR}/$${baseTarget}.rsg) - contains(language, default) { - rpp = $${symbian_resources_RCC_DIR}/$${baseTarget}_reg.rpp - rsc = $${symbianDestdir}/$${baseTarget}_reg.rsc - rsg = $${symbian_resources_RCC_DIR}/$${baseTarget}_reg.rsg - } else { - rpp = $${symbian_resources_RCC_DIR}/$${baseTarget}_reg_$${languageNo}.rpp - rsc = $${symbianDestdir}/$${baseTarget}_reg.r$${languageNo} - rsg = $${symbian_resources_RCC_DIR}/$${baseTarget}_reg_$${languageNo}.rsg - } - eval(symbianGenRegResource_$${language}.target = $$rsg) - eval(symbianGenRegResource_$${language}.commands = cpp -nostdinc -undef \ - -include $$QMAKE_SYMBIAN_INCLUDES \ - $$symbian_resources_INCLUDES \ - $$symbianGenResource_DEFINES \ - $${baseTarget}_reg.rss \ - > $$rpp \ - && rcomp -u -m045,046,047 \ - -s$$rpp \ - -o$$rsc \ - -h$$rsg \ - -i$${baseTarget}_reg.rss) - silent:eval(symbianGenRegResource_$${language}.commands = @echo rcomp $${baseTarget}_reg.rss && $$eval(symbianGenRegResource_$${language}.commands)) - PRE_TARGETDEPS += $$rsg - QMAKE_CLEAN += $$rsg $$rpp - QMAKE_DISTCLEAN += $$rsc - - QMAKE_EXTRA_TARGETS += symbianGenRegResource_$${language} - } - - # Trick to get qmake to create the RCC_DIR for us. - symbianRccDirCreation.input = SOURCES - symbianRccDirCreation.commands = - symbianRccDirCreation.output = $${symbian_resources_RCC_DIR}/symbian_resource_dummy - symbianRccDirCreation.CONFIG = no_link combine - - QMAKE_EXTRA_COMPILERS += symbianRccDirCreation - - QMAKE_DISTCLEAN += $${baseTarget}.rss \ - $${baseTarget}_reg.rss \ - $${baseTarget}.loc -} - -# Generated pkg files - -QMAKE_DISTCLEAN += $${baseTarget}_template.pkg \ - $${baseTarget}_installer.pkg \ - $${baseTarget}_stub.pkg |