Changeset 846 for trunk/mkspecs/features/symbian/def_files.prf
- Timestamp:
- May 5, 2011, 5:36:53 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.7.2 (added) merged: 845 /branches/vendor/nokia/qt/current merged: 844 /branches/vendor/nokia/qt/4.6.3 removed
- Property svn:mergeinfo changed
-
trunk/mkspecs/features/symbian/def_files.prf
r651 r846 4 4 CONFIG -= def_files_disabled 5 5 6 # Firstly, if the MMP_RULES already contain a defBlock variable, don't generate another one 7 # (this bit is slightly magic, because it depends upon everyone creating their DEFFILE statements 8 # in a defBlock variable; but otherwise we have to expand MMP_RULES then scan for the DEFFILE keyword) 9 !contains(MMP_RULES, defBlock) { 10 # Apps are executables on Symbian, so don't have exports, and therefore don't have DEF files 11 # Plugins use standard DEF files, which qmake generates, so shouldn't be using these DEFFILE 12 # statements - they use the qmake generated statements instead 13 # Static libraries obviously don't have DEF files, as they don't take part in dynamic linkage 14 !contains(TEMPLATE, app):!contains(CONFIG, plugin):!contains(CONFIG, staticlib): { 15 !isEmpty(defFilePath) { 16 defBlock = \ 17 "$${LITERAL_HASH}ifdef WINSCW" \ 18 "DEFFILE $$defFilePath/bwins/$${TARGET}.def" \ 19 "$${LITERAL_HASH}elif defined EABI" \ 20 "DEFFILE $$defFilePath/eabi/$${TARGET}.def" \ 21 "$${LITERAL_HASH}endif" 22 } else { 23 # If defFilePath is not defined, then put the folders containing the DEF files at the 24 # same level as the .pro (and generated MMP) file(s) 25 defBlock = \ 26 "$${LITERAL_HASH}ifdef WINSCW" \ 27 "DEFFILE ./bwins/$${TARGET}.def" \ 28 "$${LITERAL_HASH}elif defined EABI" \ 29 "DEFFILE ./eabi/$${TARGET}.def" \ 30 "$${LITERAL_HASH}endif" 6 # We need a target name without the INFIX'ed part, since DEF files are not infixed. 7 equals(QMAKE_TARGET_PRODUCT, Qt4)|equals(QMAKE_TARGET_PRODUCT, QTestLib):clean_TARGET = $$replace(TARGET, "$${QT_LIBINFIX}$", "") 8 else:clean_TARGET = $$TARGET 9 10 symbian-abld|symbian-sbsv2 { 11 # Firstly, if the MMP_RULES already contain a defBlock variable, don't generate another one 12 # (this bit is slightly magic, because it depends upon everyone creating their DEFFILE statements 13 # in a defBlock variable; but otherwise we have to expand MMP_RULES then scan for the DEFFILE keyword) 14 # Similarly, explicit EXPORTUNFROZEN should block adding defBlock 15 !contains(MMP_RULES, defBlock):!contains(MMP_RULES, EXPORTUNFROZEN) { 16 # Apps are executables on Symbian, so don't have exports, and therefore don't have DEF files 17 # Plugins use standard DEF files, which qmake generates, so shouldn't be using these DEFFILE 18 # statements - they use the qmake generated statements instead 19 # Static libraries obviously don't have DEF files, as they don't take part in dynamic linkage 20 !contains(TEMPLATE, app):!contains(CONFIG, plugin):!contains(CONFIG, staticlib): { 21 !isEmpty(DEF_FILE) { 22 defBlock = \ 23 "$${LITERAL_HASH}ifdef WINSCW" \ 24 "DEFFILE $$DEF_FILE/bwins/$${clean_TARGET}.def" \ 25 "$${LITERAL_HASH}elif defined EABI" \ 26 "DEFFILE $$DEF_FILE/eabi/$${clean_TARGET}.def" \ 27 "$${LITERAL_HASH}endif" 28 } else:!isEmpty(defFilePath) { 29 defBlock = \ 30 "$${LITERAL_HASH}ifdef WINSCW" \ 31 "DEFFILE $$defFilePath/bwins/$${clean_TARGET}.def" \ 32 "$${LITERAL_HASH}elif defined EABI" \ 33 "DEFFILE $$defFilePath/eabi/$${clean_TARGET}.def" \ 34 "$${LITERAL_HASH}endif" 35 } else { 36 # If defFilePath is not defined, then put the folders containing the DEF files at the 37 # same level as the .pro (and generated MMP) file(s) 38 defBlock = \ 39 "$${LITERAL_HASH}ifdef WINSCW" \ 40 "DEFFILE ./bwins/$${clean_TARGET}.def" \ 41 "$${LITERAL_HASH}elif defined EABI" \ 42 "DEFFILE ./eabi/$${clean_TARGET}.def" \ 43 "$${LITERAL_HASH}endif" 44 } 45 MMP_RULES += defBlock 31 46 } 32 MMP_RULES += defBlock33 47 } 48 49 } else:contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib):!contains(CONFIG, plugin) { 50 !isEmpty(DEF_FILE) { 51 defFile = $$DEF_FILE 52 } else { 53 defFile = . 54 } 55 system("$$QMAKE_CHK_DIR_EXISTS $$_PRO_FILE_PWD_/$$defFile") { 56 !exists("$$_PRO_FILE_PWD_/$$defFile/eabi") { 57 system("$$QMAKE_MKDIR $$_PRO_FILE_PWD_/$$defFile/eabi") 58 } 59 elf2e32FileToAdd = $$_PRO_FILE_PWD_/$$defFile/eabi/$$basename(clean_TARGET)u.def 60 } else { 61 elf2e32FileToAdd = $$_PRO_FILE_PWD_/$$defFile 62 } 63 QMAKE_ELF2E32_FLAGS += "--definput=$$elf2e32FileToAdd" 64 65 symbianObjdir = $$OBJECTS_DIR 66 isEmpty(symbianObjdir):symbianObjdir = . 67 68 freeze_target.target = freeze 69 freeze_target.depends = first 70 # The perl part is to convert to unix line endings and remove comments, which the s60 tools refuse to do. 71 freeze_target.commands = $$QMAKE_COPY $$symbianObjdir/$${TARGET}.def $$elf2e32FileToAdd 72 QMAKE_EXTRA_TARGETS += freeze_target 73 } else:contains(TEMPLATE, subdirs) { 74 freeze_target.target = freeze 75 freeze_target.CONFIG = recursive 76 freeze_target.recurse = $$SUBDIRS 77 QMAKE_EXTRA_TARGETS += freeze_target 78 } else { 79 freeze_target.target = freeze 80 freeze_target.commands = 81 QMAKE_EXTRA_TARGETS += freeze_target 34 82 }
Note:
See TracChangeset
for help on using the changeset viewer.