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 dictionary[ "SYMBIAN_DEFFILES" ] = "no"; |
485 if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith("symbian")) { |
|
486 dictionary[ "SYMBIAN_DEFFILES" ] = "no"; |
|
487 } |
486 } |
488 } |
487 else if( configCmdLine.at(i) == "-opensource" ) { |
489 else if( configCmdLine.at(i) == "-opensource" ) { |
488 dictionary[ "BUILDTYPE" ] = "opensource"; |
490 dictionary[ "BUILDTYPE" ] = "opensource"; |
489 } |
491 } |
490 else if( configCmdLine.at(i) == "-commercial" ) { |
492 else if( configCmdLine.at(i) == "-commercial" ) { |
965 } else if( configCmdLine.at(i) == "-qtlibinfix" ) { |
967 } else if( configCmdLine.at(i) == "-qtlibinfix" ) { |
966 ++i; |
968 ++i; |
967 if(i==argCount) |
969 if(i==argCount) |
968 break; |
970 break; |
969 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 } |
970 } else if( configCmdLine.at(i) == "-D" ) { |
976 } else if( configCmdLine.at(i) == "-D" ) { |
971 ++i; |
977 ++i; |
972 if (i==argCount) |
978 if (i==argCount) |
973 break; |
979 break; |
974 qmakeDefines += configCmdLine.at(i); |
980 qmakeDefines += configCmdLine.at(i); |
1483 dictionary[ "QT_ICONV" ] = "no"; |
1489 dictionary[ "QT_ICONV" ] = "no"; |
1484 dictionary[ "SCRIPTTOOLS" ] = "no"; |
1490 dictionary[ "SCRIPTTOOLS" ] = "no"; |
1485 dictionary[ "QT_HOST_PREFIX" ] = dictionary[ "QT_INSTALL_PREFIX" ]; |
1491 dictionary[ "QT_HOST_PREFIX" ] = dictionary[ "QT_INSTALL_PREFIX" ]; |
1486 dictionary[ "QT_INSTALL_PREFIX" ] = ""; |
1492 dictionary[ "QT_INSTALL_PREFIX" ] = ""; |
1487 dictionary[ "QT_INSTALL_PLUGINS" ] = "\\resource\\qt\\plugins"; |
1493 dictionary[ "QT_INSTALL_PLUGINS" ] = "\\resource\\qt\\plugins"; |
|
1494 dictionary[ "QT_INSTALL_TRANSLATIONS" ] = "\\resource\\qt\\translations"; |
1488 dictionary[ "ARM_FPU_TYPE" ] = "softvfp"; |
1495 dictionary[ "ARM_FPU_TYPE" ] = "softvfp"; |
1489 dictionary[ "SQL_SQLITE" ] = "yes"; |
1496 dictionary[ "SQL_SQLITE" ] = "yes"; |
1490 dictionary[ "SQL_SQLITE_LIB" ] = "system"; |
1497 dictionary[ "SQL_SQLITE_LIB" ] = "system"; |
1491 |
1498 |
1492 // Disable building docs and translations for now |
1499 // Disable building docs and translations for now |
2064 available = true; |
2071 available = true; |
2065 } else if (part == "WEBKIT") { |
2072 } else if (part == "WEBKIT") { |
2066 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++"); |
2067 } else if (part == "DECLARATIVE") { |
2074 } else if (part == "DECLARATIVE") { |
2068 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 } |
2069 } |
2122 } |
2070 |
2123 |
2071 return available; |
2124 return available; |
2072 } |
2125 } |
2073 |
2126 |
2152 dictionary["PHONON"] = checkAvailability("PHONON") ? "yes" : "no"; |
2205 dictionary["PHONON"] = checkAvailability("PHONON") ? "yes" : "no"; |
2153 if (dictionary["WEBKIT"] == "auto") |
2206 if (dictionary["WEBKIT"] == "auto") |
2154 dictionary["WEBKIT"] = checkAvailability("WEBKIT") ? "yes" : "no"; |
2207 dictionary["WEBKIT"] = checkAvailability("WEBKIT") ? "yes" : "no"; |
2155 if (dictionary["DECLARATIVE"] == "auto") |
2208 if (dictionary["DECLARATIVE"] == "auto") |
2156 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"; |
2157 |
2212 |
2158 // Qt/WinCE remote test application |
2213 // Qt/WinCE remote test application |
2159 if (dictionary["CETEST"] == "auto") |
2214 if (dictionary["CETEST"] == "auto") |
2160 dictionary["CETEST"] = checkAvailability("CETEST") ? "yes" : "no"; |
2215 dictionary["CETEST"] = checkAvailability("CETEST") ? "yes" : "no"; |
2161 |
2216 |
2264 if (!dictionary["USER_BUILD_KEY"].isEmpty()) |
2319 if (!dictionary["USER_BUILD_KEY"].isEmpty()) |
2265 buildKey += dictionary["USER_BUILD_KEY"] + " "; |
2320 buildKey += dictionary["USER_BUILD_KEY"] + " "; |
2266 |
2321 |
2267 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(" "); |
2268 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(" "); |
2269 build32Key = build32Key.simplified(); |
2325 build32Key = build32Key.simplified(); |
2270 build64Key = build64Key.simplified(); |
2326 build64Key = build64Key.simplified(); |
2271 build32Key.prepend("# define "); |
2327 buildSymbianKey = buildSymbianKey.simplified(); |
2272 build64Key.prepend("# define "); |
2328 build32Key.prepend("# define "); |
2273 |
2329 build64Key.prepend("# define "); |
2274 QString buildkey = // Debug builds |
2330 buildSymbianKey.prepend("# define "); |
2275 "#if (defined(_DEBUG) || defined(DEBUG))\n" |
2331 |
2276 "# 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" |
2277 + build64Key.arg("debug") + "\"\n" |
2338 + build64Key.arg("debug") + "\"\n" |
|
2339 "# else\n" |
|
2340 + build32Key.arg("debug") + "\"\n" |
|
2341 "# endif\n" |
2278 "# else\n" |
2342 "# else\n" |
2279 + build32Key.arg("debug") + "\"\n" |
|
2280 "# endif\n" |
|
2281 "#else\n" |
|
2282 // Release builds |
2343 // Release builds |
2283 "# if (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))\n" |
2344 "# if (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))\n" |
2284 + build64Key.arg("release") + "\"\n" |
2345 + build64Key.arg("release") + "\"\n" |
2285 "# else\n" |
2346 "# else\n" |
2286 + build32Key.arg("release") + "\"\n" |
2347 + build32Key.arg("release") + "\"\n" |
|
2348 "# endif\n" |
2287 "# endif\n" |
2349 "# endif\n" |
2288 "#endif\n"; |
2350 "#endif\n"; |
2289 |
2351 |
2290 dictionary["BUILD_KEY"] = buildkey; |
2352 dictionary["BUILD_KEY"] = buildkey; |
2291 } |
2353 } |
2966 qconfigList += "QT_NO_CONCURRENT"; |
3028 qconfigList += "QT_NO_CONCURRENT"; |
2967 qconfigList += "QT_NO_QFUTURE"; |
3029 qconfigList += "QT_NO_QFUTURE"; |
2968 qconfigList += "QT_NO_CRASHHANDLER"; |
3030 qconfigList += "QT_NO_CRASHHANDLER"; |
2969 qconfigList += "QT_NO_PRINTER"; |
3031 qconfigList += "QT_NO_PRINTER"; |
2970 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; |
2971 } |
3035 } |
2972 |
3036 |
2973 qconfigList.sort(); |
3037 qconfigList.sort(); |
2974 for (int i = 0; i < qconfigList.count(); ++i) |
3038 for (int i = 0; i < qconfigList.count(); ++i) |
2975 tmpStream << addDefine(qconfigList.at(i)); |
3039 tmpStream << addDefine(qconfigList.at(i)); |
3644 continue; |
3708 continue; |
3645 } |
3709 } |
3646 QTextStream txt(&file); |
3710 QTextStream txt(&file); |
3647 txt << "all:\n"; |
3711 txt << "all:\n"; |
3648 txt << "\t" << args.join(" ") << "\n"; |
3712 txt << "\t" << args.join(" ") << "\n"; |
3649 txt << "\t" << dictionary[ "MAKE" ] << " -f " << it->target << "\n"; |
3713 txt << "\t\"$(MAKE)\" -$(MAKEFLAGS) -f " << it->target << "\n"; |
3650 txt << "first: all\n"; |
3714 txt << "first: all\n"; |
3651 txt << "qmake:\n"; |
3715 txt << "qmake:\n"; |
3652 txt << "\t" << args.join(" ") << "\n"; |
3716 txt << "\t" << args.join(" ") << "\n"; |
3653 } |
3717 } |
3654 } |
3718 } |