summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/symbian/symbian_building.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/symbian/symbian_building.prf')
-rw-r--r--mkspecs/features/symbian/symbian_building.prf369
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