qmake/generators/symbian/symmake.h
changeset 7 f7bc934e204c
parent 3 41300fa6a67c
equal deleted inserted replaced
3:41300fa6a67c 7:f7bc934e204c
     1 /****************************************************************************
     1 /****************************************************************************
     2 **
     2 **
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     4 ** All rights reserved.
     4 ** All rights reserved.
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
     6 **
     6 **
     7 ** This file is part of the qmake application of the Qt Toolkit.
     7 ** This file is part of the qmake application of the Qt Toolkit.
     8 **
     8 **
    40 ****************************************************************************/
    40 ****************************************************************************/
    41 
    41 
    42 #ifndef SYMMAKEFILE_H
    42 #ifndef SYMMAKEFILE_H
    43 #define SYMMAKEFILE_H
    43 #define SYMMAKEFILE_H
    44 
    44 
       
    45 #include "initprojectdeploy_symbian.h"
    45 #include <makefile.h>
    46 #include <makefile.h>
    46 
    47 
    47 QT_BEGIN_NAMESPACE
    48 QT_BEGIN_NAMESPACE
    48 
    49 
    49 #define BLD_INF_FILENAME "bld.inf"
    50 #define BLD_INF_FILENAME "bld.inf"
    50 #define MAKEFILE_DEPENDENCY_SEPARATOR " \\\n\t"
    51 #define MAKEFILE_DEPENDENCY_SEPARATOR " \\\n\t"
    51 
       
    52 #define QT_EXTRA_INCLUDE_DIR "tmp"
    52 #define QT_EXTRA_INCLUDE_DIR "tmp"
    53 #define MAKE_CACHE_NAME ".make.cache"
    53 #define MAKE_CACHE_NAME ".make.cache"
       
    54 #define SYMBIAN_TEST_CONFIG "symbian_test"
    54 
    55 
    55 class SymbianMakefileGenerator : public MakefileGenerator
    56 class SymbianMakefileGenerator : public MakefileGenerator
    56 {
    57 {
    57 protected:
    58 protected:
    58     enum TargetType {
    59     enum TargetType {
    78     QStringList generatedFiles;
    79     QStringList generatedFiles;
    79     QStringList generatedDirs;
    80     QStringList generatedDirs;
    80     QHash<QString, QString> qt2S60LangMapTable;
    81     QHash<QString, QString> qt2S60LangMapTable;
    81 
    82 
    82     QString fixedTarget;
    83     QString fixedTarget;
    83 
    84 	QString translationFileName; 
       
    85 		
    84     void removeSpecialCharacters(QString& str);
    86     void removeSpecialCharacters(QString& str);
    85     QString fixPathForMmp(const QString& origPath, const QDir& parentDir);
    87     QString fixPathForMmp(const QString& origPath, const QDir& parentDir);
    86     QString canonizePath(const QString& origPath);
    88     QString absolutizePath(const QString& origPath);
    87 
    89 
    88     virtual bool writeMakefile(QTextStream &t);
    90     virtual bool writeMakefile(QTextStream &t);
    89     void generatePkgFile(const QString &iconFile);
    91     void generatePkgFile(const QString &iconFile, DeploymentList &depList);
    90     bool containsStartWithItem(const QChar &c, const QStringList& src);
    92     bool containsStartWithItem(const QChar &c, const QStringList& src);
    91 
    93 
    92     virtual void init();
    94     virtual void init();
    93 
    95 
    94     QString getTargetExtension();
    96     QString getTargetExtension();
   104     void appendKeywordIfMatchFound(QStringList &list,
   106     void appendKeywordIfMatchFound(QStringList &list,
   105                                    const QStringList &keywordList,
   107                                    const QStringList &keywordList,
   106                                    QString &checkString);
   108                                    QString &checkString);
   107 
   109 
   108     void writeHeader(QTextStream &t);
   110     void writeHeader(QTextStream &t);
   109     void writeBldInfContent(QTextStream& t, bool addDeploymentExtension, const QString &iconFile);
   111     void writeBldInfContent(QTextStream& t,
   110     void writeExportPart(QTextStream &t);
   112                             bool addDeploymentExtension,
       
   113                             const QString &iconFile,
       
   114                             DeploymentList &depList);
   111 
   115 
   112     static bool removeDuplicatedStrings(QStringList& stringList);
   116     static bool removeDuplicatedStrings(QStringList& stringList);
   113 
   117 
   114     void writeMmpFileHeader(QTextStream &t);
   118     void writeMmpFileHeader(QTextStream &t);
   115     void writeMmpFile(QString &filename, QStringList &symbianLangCodes);
   119     void writeMmpFile(QString &filename, QStringList &symbianLangCodes);
   125     void writeMmpFileBinaryVersionPart(QTextStream& t);
   129     void writeMmpFileBinaryVersionPart(QTextStream& t);
   126     void writeMmpFileRulesPart(QTextStream& t);
   130     void writeMmpFileRulesPart(QTextStream& t);
   127 
   131 
   128     void writeCustomDefFile();
   132     void writeCustomDefFile();
   129 
   133 
   130     void writeRegRssFile(QStringList &useritems);
   134     void writeRegRssFile(QMap<QString, QStringList> &useritems);
       
   135     void writeRegRssList(QTextStream &t, QStringList &userList,
       
   136                          const QString &listTag,
       
   137                          const QString &listItem);
   131     void writeRssFile(QString &numberOfIcons, QString &iconfile);
   138     void writeRssFile(QString &numberOfIcons, QString &iconfile);
   132     void writeLocFile(QStringList &symbianLangCodes);
   139     void writeLocFile(QStringList &symbianLangCodes);
   133     void writeSymbianLocFile(QStringList &symbianLangCodes);
   140     void writeSymbianLocFile(QStringList &symbianLangCodes);
   134     void readRssRules(QString &numberOfIcons, QString &iconFile, QStringList &userRssRules);
   141     void readRssRules(QString &numberOfIcons,
       
   142                       QString &iconFile,
       
   143                       QMap<QString, QStringList> &userRssRules);
   135 
   144 
   136     QStringList symbianLangCodesFromTsFiles();
   145     QStringList symbianLangCodesFromTsFiles();
   137     void fillQt2S60LangMapTable();
   146     void fillQt2S60LangMapTable();
   138     void modifyQt2S60LangMapTable();
   147     void modifyQt2S60LangMapTable();
   139 
   148 
   149                                const QString& itemPrefix,
   158                                const QString& itemPrefix,
   150                                const QString& itemSuffix);
   159                                const QString& itemSuffix);
   151 
   160 
   152     void writeSisTargets(QTextStream &t);
   161     void writeSisTargets(QTextStream &t);
   153     void generateDistcleanTargets(QTextStream& t);
   162     void generateDistcleanTargets(QTextStream& t);
       
   163     void generateExecutionTargets(QTextStream& t, const QStringList& platforms);
   154 
   164 
   155     // Subclass implements
   165     // Subclass implements
   156     virtual void writeBldInfExtensionRulesPart(QTextStream& t, const QString &iconTargetFile) = 0;
   166     virtual void writeBldInfExtensionRulesPart(QTextStream& t, const QString &iconTargetFile) = 0;
   157     virtual void writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension) = 0;
   167     virtual void writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension) = 0;
   158     virtual void writeMkFile(const QString& wrapperFileName, bool deploymentOnly) = 0;
   168     virtual void writeMkFile(const QString& wrapperFileName, bool deploymentOnly) = 0;