tools/configure/configureapp.cpp
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 tools applications of the Qt Toolkit.
     7 ** This file is part of the tools applications of the Qt Toolkit.
     8 **
     8 **
   245     dictionary[ "SCRIPTTOOLS" ]     = "auto";
   245     dictionary[ "SCRIPTTOOLS" ]     = "auto";
   246     dictionary[ "XMLPATTERNS" ]     = "auto";
   246     dictionary[ "XMLPATTERNS" ]     = "auto";
   247     dictionary[ "PHONON" ]          = "auto";
   247     dictionary[ "PHONON" ]          = "auto";
   248     dictionary[ "PHONON_BACKEND" ]  = "yes";
   248     dictionary[ "PHONON_BACKEND" ]  = "yes";
   249     dictionary[ "MULTIMEDIA" ]      = "yes";
   249     dictionary[ "MULTIMEDIA" ]      = "yes";
   250     dictionary[ "AUDIO_BACKEND" ]   = "yes";
   250     dictionary[ "AUDIO_BACKEND" ]   = "auto";
   251     dictionary[ "DIRECTSHOW" ]      = "no";
   251     dictionary[ "DIRECTSHOW" ]      = "no";
   252     dictionary[ "WEBKIT" ]          = "auto";
   252     dictionary[ "WEBKIT" ]          = "auto";
   253     dictionary[ "DECLARATIVE" ]     = "auto";
   253     dictionary[ "DECLARATIVE" ]     = "auto";
   254     dictionary[ "PLUGIN_MANIFESTS" ] = "yes";
   254     dictionary[ "PLUGIN_MANIFESTS" ] = "yes";
   255 
   255 
   480             cout << "Nokia employees and agents are allowed to use this software under" << endl;
   480             cout << "Nokia employees and agents are allowed to use this software under" << endl;
   481             cout << "the authority of Nokia Corporation and/or its subsidiary(-ies)" << endl;
   481             cout << "the authority of Nokia Corporation and/or its subsidiary(-ies)" << endl;
   482             dictionary[ "BUILDNOKIA" ] = "yes";
   482             dictionary[ "BUILDNOKIA" ] = "yes";
   483             dictionary[ "BUILDDEV" ] = "yes";
   483             dictionary[ "BUILDDEV" ] = "yes";
   484             dictionary["LICENSE_CONFIRMED"] = "yes";
   484             dictionary["LICENSE_CONFIRMED"] = "yes";
       
   485             if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith("symbian")) {
       
   486                 dictionary[ "SYMBIAN_DEFFILES" ] = "no";
       
   487             }
   485         }
   488         }
   486         else if( configCmdLine.at(i) == "-opensource" ) {
   489         else if( configCmdLine.at(i) == "-opensource" ) {
   487             dictionary[ "BUILDTYPE" ] = "opensource";
   490             dictionary[ "BUILDTYPE" ] = "opensource";
   488         }
   491         }
   489         else if( configCmdLine.at(i) == "-commercial" ) {
   492         else if( configCmdLine.at(i) == "-commercial" ) {
   801         else if( configCmdLine.at(i) == "-native-gestures" )
   804         else if( configCmdLine.at(i) == "-native-gestures" )
   802             dictionary[ "NATIVE_GESTURES" ] = "yes";
   805             dictionary[ "NATIVE_GESTURES" ] = "yes";
   803         else if( configCmdLine.at(i) == "-no-native-gestures" )
   806         else if( configCmdLine.at(i) == "-no-native-gestures" )
   804             dictionary[ "NATIVE_GESTURES" ] = "no";
   807             dictionary[ "NATIVE_GESTURES" ] = "no";
   805 #if !defined(EVAL)
   808 #if !defined(EVAL)
   806         // Others ---------------------------------------------------
   809         // Symbian Support -------------------------------------------
   807         else if (configCmdLine.at(i) == "-fpu" )
   810         else if (configCmdLine.at(i) == "-fpu" )
   808         {
   811         {
   809             ++i;
   812             ++i;
   810             if(i==argCount)
   813             if(i==argCount)
   811                 break;
   814                 break;
   812             dictionary[ "ARM_FPU_TYPE" ] = configCmdLine.at(i);
   815             dictionary[ "ARM_FPU_TYPE" ] = configCmdLine.at(i);
   813         }
   816         }
   814 
   817 
   815         // S60 Support -------------------------------------------
       
   816         else if( configCmdLine.at(i) == "-s60" )
   818         else if( configCmdLine.at(i) == "-s60" )
   817             dictionary[ "S60" ]    = "yes";
   819             dictionary[ "S60" ]    = "yes";
   818         else if( configCmdLine.at(i) == "-no-s60" )
   820         else if( configCmdLine.at(i) == "-no-s60" )
   819             dictionary[ "S60" ]    = "no";
   821             dictionary[ "S60" ]    = "no";
   820 
   822 
       
   823         else if( configCmdLine.at(i) == "-usedeffiles" )
       
   824             dictionary[ "SYMBIAN_DEFFILES" ] = "yes";
       
   825         else if( configCmdLine.at(i) == "-no-usedeffiles" )
       
   826             dictionary[ "SYMBIAN_DEFFILES" ] = "no";
       
   827 
       
   828         // Others ---------------------------------------------------
   821         else if (configCmdLine.at(i) == "-fast" )
   829         else if (configCmdLine.at(i) == "-fast" )
   822             dictionary[ "FAST" ] = "yes";
   830             dictionary[ "FAST" ] = "yes";
   823         else if (configCmdLine.at(i) == "-no-fast" )
   831         else if (configCmdLine.at(i) == "-no-fast" )
   824             dictionary[ "FAST" ] = "no";
   832             dictionary[ "FAST" ] = "no";
   825 
   833 
   959         } else if( configCmdLine.at(i) == "-qtlibinfix" ) {
   967         } else if( configCmdLine.at(i) == "-qtlibinfix" ) {
   960             ++i;
   968             ++i;
   961             if(i==argCount)
   969             if(i==argCount)
   962                 break;
   970                 break;
   963             dictionary[ "QT_LIBINFIX" ] = configCmdLine.at(i);
   971             dictionary[ "QT_LIBINFIX" ] = configCmdLine.at(i);
       
   972             if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith("symbian")) {
       
   973                 dictionary[ "QT_INSTALL_PLUGINS" ] =
       
   974                     QString("\\resource\\qt%1\\plugins").arg(dictionary[ "QT_LIBINFIX" ]);
       
   975             }
   964         } else if( configCmdLine.at(i) == "-D" ) {
   976         } else if( configCmdLine.at(i) == "-D" ) {
   965             ++i;
   977             ++i;
   966             if (i==argCount)
   978             if (i==argCount)
   967                 break;
   979                 break;
   968             qmakeDefines += configCmdLine.at(i);
   980             qmakeDefines += configCmdLine.at(i);
  1469         dictionary[ "ASSISTANT_WEBKIT" ]    = "no";
  1481         dictionary[ "ASSISTANT_WEBKIT" ]    = "no";
  1470         dictionary[ "PHONON" ]              = "yes";
  1482         dictionary[ "PHONON" ]              = "yes";
  1471         dictionary[ "XMLPATTERNS" ]         = "yes";
  1483         dictionary[ "XMLPATTERNS" ]         = "yes";
  1472         dictionary[ "QT_GLIB" ]             = "no";
  1484         dictionary[ "QT_GLIB" ]             = "no";
  1473         dictionary[ "S60" ]                 = "yes";
  1485         dictionary[ "S60" ]                 = "yes";
       
  1486         dictionary[ "SYMBIAN_DEFFILES" ]    = "yes";
  1474         // iconv makes makes apps start and run ridiculously slowly in symbian emulator (HW not tested)
  1487         // iconv makes makes apps start and run ridiculously slowly in symbian emulator (HW not tested)
  1475         // iconv_open seems to return -1 always, so something is probably missing from the platform.
  1488         // iconv_open seems to return -1 always, so something is probably missing from the platform.
  1476         dictionary[ "QT_ICONV" ]            = "no";
  1489         dictionary[ "QT_ICONV" ]            = "no";
  1477         dictionary[ "SCRIPTTOOLS" ]         = "no";
  1490         dictionary[ "SCRIPTTOOLS" ]         = "no";
  1478         dictionary[ "QT_HOST_PREFIX" ]      = dictionary[ "QT_INSTALL_PREFIX" ];
  1491         dictionary[ "QT_HOST_PREFIX" ]      = dictionary[ "QT_INSTALL_PREFIX" ];
  1479         dictionary[ "QT_INSTALL_PREFIX" ]   = "";
  1492         dictionary[ "QT_INSTALL_PREFIX" ]   = "";
  1480         dictionary[ "QT_INSTALL_PLUGINS" ]  = "\\resource\\qt\\plugins";
  1493         dictionary[ "QT_INSTALL_PLUGINS" ]  = "\\resource\\qt\\plugins";
       
  1494         dictionary[ "QT_INSTALL_TRANSLATIONS" ]  = "\\resource\\qt\\translations";
  1481         dictionary[ "ARM_FPU_TYPE" ]        = "softvfp";
  1495         dictionary[ "ARM_FPU_TYPE" ]        = "softvfp";
  1482         dictionary[ "SQL_SQLITE" ]          = "yes";
  1496         dictionary[ "SQL_SQLITE" ]          = "yes";
  1483         dictionary[ "SQL_SQLITE_LIB" ]      = "system";
  1497         dictionary[ "SQL_SQLITE_LIB" ]      = "system";
  1484 
  1498 
  1485         // Disable building docs and translations for now
  1499         // Disable building docs and translations for now
  1823         desc("Qt for Symbian OS only:\n\n");
  1837         desc("Qt for Symbian OS only:\n\n");
  1824         desc("FREETYPE", "no",     "-no-freetype",         "Do not compile in Freetype2 support.");
  1838         desc("FREETYPE", "no",     "-no-freetype",         "Do not compile in Freetype2 support.");
  1825         desc("FREETYPE", "yes",    "-qt-freetype",         "Use the libfreetype bundled with Qt.");
  1839         desc("FREETYPE", "yes",    "-qt-freetype",         "Use the libfreetype bundled with Qt.");
  1826         desc(                      "-fpu <flags>",         "VFP type on ARM, supported options: softvfp(default) | vfpv2 | softvfp+vfpv2");
  1840         desc(                      "-fpu <flags>",         "VFP type on ARM, supported options: softvfp(default) | vfpv2 | softvfp+vfpv2");
  1827         desc("S60", "no",          "-no-s60",              "Do not compile in S60 support.");
  1841         desc("S60", "no",          "-no-s60",              "Do not compile in S60 support.");
  1828         desc("S60", "yes",         "-s60",                 "Compile with support for the S60 UI Framework\n");
  1842         desc("S60", "yes",         "-s60",                 "Compile with support for the S60 UI Framework");
       
  1843         desc("SYMBIAN_DEFFILES", "no",  "-no-usedeffiles",  "Disable the usage of DEF files.");
       
  1844         desc("SYMBIAN_DEFFILES", "yes", "-usedeffiles",     "Enable the usage of DEF files.\n");
  1829         return true;
  1845         return true;
  1830     }
  1846     }
  1831     return false;
  1847     return false;
  1832 }
  1848 }
  1833 
  1849 
  2055         available = true;
  2071         available = true;
  2056     } else if (part == "WEBKIT") {
  2072     } else if (part == "WEBKIT") {
  2057         available = (dictionary.value("QMAKESPEC") == "win32-msvc2005") || (dictionary.value("QMAKESPEC") == "win32-msvc2008") || (dictionary.value("QMAKESPEC") == "win32-g++");
  2073         available = (dictionary.value("QMAKESPEC") == "win32-msvc2005") || (dictionary.value("QMAKESPEC") == "win32-msvc2008") || (dictionary.value("QMAKESPEC") == "win32-g++");
  2058     } else if (part == "DECLARATIVE") {
  2074     } else if (part == "DECLARATIVE") {
  2059         available = QFile::exists(sourcePath + "/src/declarative/qml/qmlcomponent.h");
  2075         available = QFile::exists(sourcePath + "/src/declarative/qml/qmlcomponent.h");
       
  2076     } else if (part == "AUDIO_BACKEND") {
       
  2077         available = true;
       
  2078         if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith("symbian")) {
       
  2079             QString epocRoot = Environment::symbianEpocRoot();
       
  2080             const QDir epocRootDir(epocRoot);
       
  2081             if (epocRootDir.exists()) {
       
  2082                 QStringList paths;
       
  2083                 paths << "epoc32/release/armv5/lib/mmfdevsound.dso"
       
  2084                       << "epoc32/release/armv5/lib/mmfdevsound.lib"
       
  2085                       << "epoc32/release/winscw/udeb/mmfdevsound.dll"
       
  2086                       << "epoc32/release/winscw/udeb/mmfdevsound.lib"
       
  2087                       << "epoc32/include/mmf/server/sounddevice.h";
       
  2088 
       
  2089                 QStringList::iterator i = paths.begin();
       
  2090                 while (i != paths.end()) {
       
  2091                     const QString &path = epocRoot + *i;
       
  2092                     if (QFile::exists(path))
       
  2093                         i = paths.erase(i);
       
  2094                     else
       
  2095                         ++i;
       
  2096                 }
       
  2097 
       
  2098                 available = (paths.size() == 0);
       
  2099                 if (!available) {
       
  2100                     if (epocRoot.isNull() || epocRoot == "")
       
  2101                         epocRoot = "<empty string>";
       
  2102                     cout << endl
       
  2103                          << "The QtMultimedia audio backend will not be built because required" << endl
       
  2104                          << "support for CMMFDevSound was not found in the SDK." << endl
       
  2105                          << "The SDK which was examined was located at the following path:" << endl
       
  2106                          << "    " << epocRoot << endl
       
  2107                          << "The following required files were missing from the SDK:" << endl;
       
  2108                     QString path;
       
  2109                     foreach (path, paths)
       
  2110                         cout << "    " << path << endl;
       
  2111                     cout << endl;
       
  2112                 }
       
  2113             } else {
       
  2114                 cout << endl
       
  2115                      << "The SDK root was determined to be '" << epocRoot << "'." << endl
       
  2116                      << "This directory was not found, so the SDK could not be checked for" << endl
       
  2117                      << "CMMFDevSound support.  The QtMultimedia audio backend will therefore" << endl
       
  2118                      << "not be built." << endl << endl;
       
  2119                 available = false;
       
  2120             }
       
  2121         }
  2060     }
  2122     }
  2061 
  2123 
  2062     return available;
  2124     return available;
  2063 }
  2125 }
  2064 
  2126 
  2143         dictionary["PHONON"] = checkAvailability("PHONON") ? "yes" : "no";
  2205         dictionary["PHONON"] = checkAvailability("PHONON") ? "yes" : "no";
  2144     if (dictionary["WEBKIT"] == "auto")
  2206     if (dictionary["WEBKIT"] == "auto")
  2145         dictionary["WEBKIT"] = checkAvailability("WEBKIT") ? "yes" : "no";
  2207         dictionary["WEBKIT"] = checkAvailability("WEBKIT") ? "yes" : "no";
  2146     if (dictionary["DECLARATIVE"] == "auto")
  2208     if (dictionary["DECLARATIVE"] == "auto")
  2147         dictionary["DECLARATIVE"] = checkAvailability("DECLARATIVE") ? "yes" : "no";
  2209         dictionary["DECLARATIVE"] = checkAvailability("DECLARATIVE") ? "yes" : "no";
       
  2210     if (dictionary["AUDIO_BACKEND"] == "auto")
       
  2211         dictionary["AUDIO_BACKEND"] = checkAvailability("AUDIO_BACKEND") ? "yes" : "no";
  2148 
  2212 
  2149     // Qt/WinCE remote test application
  2213     // Qt/WinCE remote test application
  2150     if (dictionary["CETEST"] == "auto")
  2214     if (dictionary["CETEST"] == "auto")
  2151         dictionary["CETEST"] = checkAvailability("CETEST") ? "yes" : "no";
  2215         dictionary["CETEST"] = checkAvailability("CETEST") ? "yes" : "no";
  2152 
  2216 
  2255     if (!dictionary["USER_BUILD_KEY"].isEmpty())
  2319     if (!dictionary["USER_BUILD_KEY"].isEmpty())
  2256         buildKey += dictionary["USER_BUILD_KEY"] + " ";
  2320         buildKey += dictionary["USER_BUILD_KEY"] + " ";
  2257 
  2321 
  2258     QString build32Key = buildKey + "Windows " + compiler + " %1 " + build_options.join(" ") + " " + build_defines.join(" ");
  2322     QString build32Key = buildKey + "Windows " + compiler + " %1 " + build_options.join(" ") + " " + build_defines.join(" ");
  2259     QString build64Key = buildKey + "Windows x64 " + compiler + " %1 " + build_options.join(" ") + " " + build_defines.join(" ");
  2323     QString build64Key = buildKey + "Windows x64 " + compiler + " %1 " + build_options.join(" ") + " " + build_defines.join(" ");
       
  2324     QString buildSymbianKey = buildKey + "Symbian " + build_options.join(" ") + " " + build_defines.join(" ");
  2260     build32Key = build32Key.simplified();
  2325     build32Key = build32Key.simplified();
  2261     build64Key = build64Key.simplified();
  2326     build64Key = build64Key.simplified();
  2262     build32Key.prepend("#  define ");
  2327     buildSymbianKey = buildSymbianKey.simplified();
  2263     build64Key.prepend("#  define ");
  2328     build32Key.prepend("#   define ");
  2264 
  2329     build64Key.prepend("#   define ");
  2265     QString buildkey = // Debug builds
  2330     buildSymbianKey.prepend("# define ");
  2266                        "#if (defined(_DEBUG) || defined(DEBUG))\n"
  2331 
  2267                        "# if (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))\n"
  2332     QString buildkey = "#if defined(__SYMBIAN32__)\n"
       
  2333                        + buildSymbianKey + "\"\n"
       
  2334                        "#else\n"
       
  2335                        // Debug builds
       
  2336                        "# if (defined(_DEBUG) || defined(DEBUG))\n"
       
  2337                        "#  if (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))\n"
  2268                        + build64Key.arg("debug") + "\"\n"
  2338                        + build64Key.arg("debug") + "\"\n"
       
  2339                        "#  else\n"
       
  2340                        + build32Key.arg("debug") + "\"\n"
       
  2341                        "#  endif\n"
  2269                        "# else\n"
  2342                        "# else\n"
  2270                        + build32Key.arg("debug") + "\"\n"
       
  2271                        "# endif\n"
       
  2272                        "#else\n"
       
  2273                        // Release builds
  2343                        // Release builds
  2274                        "# if (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))\n"
  2344                        "#  if (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))\n"
  2275                        + build64Key.arg("release") + "\"\n"
  2345                        + build64Key.arg("release") + "\"\n"
  2276                        "# else\n"
  2346                        "#  else\n"
  2277                        + build32Key.arg("release") + "\"\n"
  2347                        + build32Key.arg("release") + "\"\n"
       
  2348                        "#  endif\n"
  2278                        "# endif\n"
  2349                        "# endif\n"
  2279                        "#endif\n";
  2350                        "#endif\n";
  2280 
  2351 
  2281     dictionary["BUILD_KEY"] = buildkey;
  2352     dictionary["BUILD_KEY"] = buildkey;
  2282 }
  2353 }
  2527         qtConfig += "phonon";
  2598         qtConfig += "phonon";
  2528         if (dictionary["PHONON_BACKEND"] == "yes")
  2599         if (dictionary["PHONON_BACKEND"] == "yes")
  2529             qtConfig += "phonon-backend";
  2600             qtConfig += "phonon-backend";
  2530     }
  2601     }
  2531 
  2602 
  2532     if (dictionary["MULTIMEDIA"] == "yes")
  2603     if (dictionary["MULTIMEDIA"] == "yes") {
  2533         qtConfig += "multimedia";
  2604         qtConfig += "multimedia";
       
  2605         if (dictionary["AUDIO_BACKEND"] == "yes")
       
  2606             qtConfig += "audio-backend";
       
  2607     }
  2534 
  2608 
  2535     if (dictionary["WEBKIT"] == "yes")
  2609     if (dictionary["WEBKIT"] == "yes")
  2536         qtConfig += "webkit";
  2610         qtConfig += "webkit";
  2537 
  2611 
  2538     if (dictionary["DECLARATIVE"] == "yes")
  2612     if (dictionary["DECLARATIVE"] == "yes")
  2745         if ( dictionary["INCREDIBUILD_XGE"] == "yes" )
  2819         if ( dictionary["INCREDIBUILD_XGE"] == "yes" )
  2746             configStream << " incredibuild_xge";
  2820             configStream << " incredibuild_xge";
  2747         if ( dictionary["PLUGIN_MANIFESTS"] == "no" )
  2821         if ( dictionary["PLUGIN_MANIFESTS"] == "no" )
  2748             configStream << " no_plugin_manifest";
  2822             configStream << " no_plugin_manifest";
  2749 
  2823 
       
  2824         if ( dictionary.contains("SYMBIAN_DEFFILES") ) {
       
  2825             if(dictionary["SYMBIAN_DEFFILES"] == "yes" ) {
       
  2826                 configStream << " def_files";
       
  2827             } else if ( dictionary["SYMBIAN_DEFFILES"] == "no" ) {
       
  2828                 configStream << " def_files_disabled";
       
  2829             }
       
  2830         }
  2750         configStream << endl;
  2831         configStream << endl;
  2751         configStream << "QT_ARCH = " << dictionary[ "ARCHITECTURE" ] << endl;
  2832         configStream << "QT_ARCH = " << dictionary[ "ARCHITECTURE" ] << endl;
  2752         if (dictionary["QT_EDITION"].contains("OPENSOURCE"))
  2833         if (dictionary["QT_EDITION"].contains("OPENSOURCE"))
  2753             configStream << "QT_EDITION = " << QLatin1String("OpenSource") << endl;
  2834             configStream << "QT_EDITION = " << QLatin1String("OpenSource") << endl;
  2754         else
  2835         else
  2771             configStream << "QMAKE_RPATHDIR += " << dictionary["QMAKE_RPATHDIR"] << endl;
  2852             configStream << "QMAKE_RPATHDIR += " << dictionary["QMAKE_RPATHDIR"] << endl;
  2772 
  2853 
  2773         if (!dictionary["QT_LIBINFIX"].isEmpty())
  2854         if (!dictionary["QT_LIBINFIX"].isEmpty())
  2774             configStream << "QT_LIBINFIX = " << dictionary["QT_LIBINFIX"] << endl;
  2855             configStream << "QT_LIBINFIX = " << dictionary["QT_LIBINFIX"] << endl;
  2775 
  2856 
       
  2857         configStream << "#Qt for Symbian FPU settings" << endl;
  2776         if(!dictionary["ARM_FPU_TYPE"].isEmpty()) {
  2858         if(!dictionary["ARM_FPU_TYPE"].isEmpty()) {
  2777             configStream<<"QMAKE_CXXFLAGS.ARMCC += --fpu "<< dictionary["ARM_FPU_TYPE"];
  2859             configStream<<"MMP_RULES += \"ARMFPU "<< dictionary["ARM_FPU_TYPE"]<< "\"";
  2778         }
  2860         }
  2779 
  2861 
  2780         configStream.flush();
  2862         configStream.flush();
  2781         configFile.close();
  2863         configFile.close();
  2782     }
  2864     }
  2946             qconfigList += "QT_NO_CONCURRENT";
  3028             qconfigList += "QT_NO_CONCURRENT";
  2947             qconfigList += "QT_NO_QFUTURE";
  3029             qconfigList += "QT_NO_QFUTURE";
  2948             qconfigList += "QT_NO_CRASHHANDLER";
  3030             qconfigList += "QT_NO_CRASHHANDLER";
  2949             qconfigList += "QT_NO_PRINTER";
  3031             qconfigList += "QT_NO_PRINTER";
  2950             qconfigList += "QT_NO_SYSTEMTRAYICON";
  3032             qconfigList += "QT_NO_SYSTEMTRAYICON";
       
  3033             if (dictionary.contains("QT_LIBINFIX"))
       
  3034                 tmpStream << QString("#define QT_LIBINFIX \"%1\"").arg(dictionary["QT_LIBINFIX"]) << endl;
  2951         }
  3035         }
  2952 
  3036 
  2953         qconfigList.sort();
  3037         qconfigList.sort();
  2954         for (int i = 0; i < qconfigList.count(); ++i)
  3038         for (int i = 0; i < qconfigList.count(); ++i)
  2955             tmpStream << addDefine(qconfigList.at(i));
  3039             tmpStream << addDefine(qconfigList.at(i));
  3268 
  3352 
  3269     if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith(QLatin1String("symbian"))) {
  3353     if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith(QLatin1String("symbian"))) {
  3270         cout << "Support for S60............." << dictionary[ "S60" ] << endl;
  3354         cout << "Support for S60............." << dictionary[ "S60" ] << endl;
  3271     }
  3355     }
  3272 
  3356 
       
  3357     if (dictionary.contains("SYMBIAN_DEFFILES")) {
       
  3358         cout << "Symbian DEF files enabled..." << dictionary[ "SYMBIAN_DEFFILES" ] << endl;
       
  3359         if(dictionary["SYMBIAN_DEFFILES"] == "no") {
       
  3360             cout << "WARNING: Disabling DEF files will mean that Qt is NOT binary compatible with previous versions." << endl;
       
  3361             cout << "         This feature is only intended for use during development, NEVER for release builds." << endl;
       
  3362         }
       
  3363     }
       
  3364 
  3273     if(dictionary["ASSISTANT_WEBKIT"] == "yes")
  3365     if(dictionary["ASSISTANT_WEBKIT"] == "yes")
  3274         cout << "Using WebKit as html rendering engine in Qt Assistant." << endl;
  3366         cout << "Using WebKit as html rendering engine in Qt Assistant." << endl;
  3275 
  3367 
  3276     if(checkAvailability("INCREDIBUILD_XGE"))
  3368     if(checkAvailability("INCREDIBUILD_XGE"))
  3277         cout << "Using IncrediBuild XGE......" << dictionary["INCREDIBUILD_XGE"] << endl;
  3369         cout << "Using IncrediBuild XGE......" << dictionary["INCREDIBUILD_XGE"] << endl;
  3616                         continue;
  3708                         continue;
  3617                     }
  3709                     }
  3618                     QTextStream txt(&file);
  3710                     QTextStream txt(&file);
  3619                     txt << "all:\n";
  3711                     txt << "all:\n";
  3620                     txt << "\t" << args.join(" ") << "\n";
  3712                     txt << "\t" << args.join(" ") << "\n";
  3621                     txt << "\t" << dictionary[ "MAKE" ] << " -f " << it->target << "\n";
  3713                     txt << "\t\"$(MAKE)\" -$(MAKEFLAGS) -f " << it->target << "\n";
  3622                     txt << "first: all\n";
  3714                     txt << "first: all\n";
  3623                     txt << "qmake:\n";
  3715                     txt << "qmake:\n";
  3624                     txt << "\t" << args.join(" ") << "\n";
  3716                     txt << "\t" << args.join(" ") << "\n";
  3625                 }
  3717                 }
  3626             }
  3718             }