slash the -fast configure option

it's completely broken, and i have no time to fix it properly now.
configure runs no qmake -r by default any more, so it's fast enough.

Change-Id: Ib2b4c68f1fc2fe95accecbe93dd5a87c9b015692
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
This commit is contained in:
Oswald Buddenhagen 2012-12-18 16:55:20 +01:00 committed by The Qt Project
parent dd69e430ca
commit d1c10615e3
4 changed files with 3 additions and 156 deletions

59
configure vendored
View File

@ -861,7 +861,6 @@ PLATFORM=$QMAKESPEC
QT_CROSS_COMPILE=no QT_CROSS_COMPILE=no
OPT_CONFIRM_LICENSE=no OPT_CONFIRM_LICENSE=no
OPT_SHADOW=maybe OPT_SHADOW=maybe
OPT_FAST=auto
OPT_VERBOSE=no OPT_VERBOSE=no
OPT_HELP= OPT_HELP=
CFG_SILENT=no CFG_SILENT=no
@ -2015,13 +2014,6 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes UNKNOWN_OPT=yes
fi fi
;; ;;
fast)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
OPT_FAST="$VAL"
else
UNKNOWN_OPT=yes
fi
;;
rpath) rpath)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_RPATH="$VAL" CFG_RPATH="$VAL"
@ -2305,14 +2297,6 @@ if [ ! -d "${outpath}/lib/fonts" ]; then
fi fi
fi fi
if [ "$OPT_FAST" = "auto" ]; then
if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then
OPT_FAST=yes
else
OPT_FAST=no
fi
fi
# find a make command # find a make command
if [ -z "$MAKE" ]; then if [ -z "$MAKE" ]; then
MAKE= MAKE=
@ -3099,12 +3083,6 @@ Configure options:
-fully-process ..... Generate Makefiles for the entire Qt tree. -fully-process ..... Generate Makefiles for the entire Qt tree.
-dont-process ...... Do not generate any Makefiles. -dont-process ...... Do not generate any Makefiles.
* -no-fast ........... Configure Qt normally by generating Makefiles for all
project files.
-fast .............. Configure Qt quickly by generating Makefiles only for
library and subdirectory targets. All other Makefiles
are created as wrappers, which will in turn run qmake.
-no-largefile ...... Disables large file support. -no-largefile ...... Disables large file support.
+ -largefile ......... Enables Qt to access files larger than 4 GB. + -largefile ......... Enables Qt to access files larger than 4 GB.
@ -6375,43 +6353,6 @@ if [ "$CFG_PROCESS" != "no" ]; then
else else
"$outpath/bin/qmake" "$relpath" "$outpath/bin/qmake" "$relpath"
fi fi
if [ "$OPT_FAST" = "yes" ]; then
PART_ROOTS=
for part in $CFG_BUILD_PARTS; do
case "$part" in
examples|tests) PART_ROOTS="$PART_ROOTS $part" ;;
esac
done
if [ "x$PART_ROOTS" != "x" ]; then
echo
echo "Creating stub makefiles. Please wait..."
QMAKE="$outpath/bin/qmake"
[ "$CFG_DEBUG_RELEASE" = "no" ] && first_tgt="first_target: first" || first_tgt=
(cd "$relpath" && find $PART_ROOTS -name '*.pro') | grep -v /testdata/ | while read p; do
d=${p%/*}
test -f "$outpath/$d/Makefile" && continue
echo " for $relpath/$p"
mkdir -p "$outpath/$d" || exit
cat > "$outpath/$d/Makefile" <<EOF || exit
# $outpath/$d/Makefile: generated by configure
#
# WARNING: This makefile will be replaced with a real makefile.
# All changes made to this file will be lost.
QMAKE = "$QMAKE"
$first_tgt
all clean install qmake first Makefile: FORCE
\$(QMAKE) $QMAKE_SWITCHES "$relpath/$p"
\$(MAKE) \$@
FORCE:
EOF
done || exit
echo "Done"
fi
fi
fi fi
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------

1
dist/changes-5.0.0 vendored
View File

@ -1054,6 +1054,7 @@ Qt for Windows CE
Whether code should be compiled with exception support enabled or disabled can be Whether code should be compiled with exception support enabled or disabled can be
controlled by a CONFIG += exceptions/exceptions_off setting in the .pro file. controlled by a CONFIG += exceptions/exceptions_off setting in the .pro file.
* The -no/-stl configure options are gone. Qt always uses the STL now. * The -no/-stl configure options are gone. Qt always uses the STL now.
* The -no/-fast configure options are gone.
* The -prefix-install configure option is gone. Use -prefix, etc. instead. * The -prefix-install configure option is gone. Use -prefix, etc. instead.
* The -make option of the Windows configure was renamed to -make-tool. * The -make option of the Windows configure was renamed to -make-tool.
-make now complements -no-make, like in the Unix version. -make now complements -no-make, like in the Unix version.

View File

@ -210,7 +210,6 @@ Configure::Configure(int& argc, char** argv)
dictionary[ "BUILD_QMAKE" ] = "yes"; dictionary[ "BUILD_QMAKE" ] = "yes";
dictionary[ "VCPROJFILES" ] = "yes"; dictionary[ "VCPROJFILES" ] = "yes";
dictionary[ "QMAKE_INTERNAL" ] = "no"; dictionary[ "QMAKE_INTERNAL" ] = "no";
dictionary[ "FAST" ] = "no";
dictionary[ "PROCESS" ] = "partial"; dictionary[ "PROCESS" ] = "partial";
dictionary[ "WIDGETS" ] = "yes"; dictionary[ "WIDGETS" ] = "yes";
dictionary[ "RTTI" ] = "yes"; dictionary[ "RTTI" ] = "yes";
@ -802,11 +801,6 @@ void Configure::parseCmdLine()
dictionary[ "NATIVE_GESTURES" ] = "no"; dictionary[ "NATIVE_GESTURES" ] = "no";
#if !defined(EVAL) #if !defined(EVAL)
// Others --------------------------------------------------- // Others ---------------------------------------------------
else if (configCmdLine.at(i) == "-fast")
dictionary[ "FAST" ] = "yes";
else if (configCmdLine.at(i) == "-no-fast")
dictionary[ "FAST" ] = "no";
else if (configCmdLine.at(i) == "-widgets") else if (configCmdLine.at(i) == "-widgets")
dictionary[ "WIDGETS" ] = "yes"; dictionary[ "WIDGETS" ] = "yes";
else if (configCmdLine.at(i) == "-no-widgets") else if (configCmdLine.at(i) == "-no-widgets")
@ -1649,11 +1643,6 @@ bool Configure::displayHelp()
desc("LTCG", "yes", "-ltcg", "Use Link Time Code Generation. (Release builds only)"); desc("LTCG", "yes", "-ltcg", "Use Link Time Code Generation. (Release builds only)");
desc("LTCG", "no", "-no-ltcg", "Do not use Link Time Code Generation.\n"); desc("LTCG", "no", "-no-ltcg", "Do not use Link Time Code Generation.\n");
desc("FAST", "no", "-no-fast", "Configure Qt normally by generating Makefiles for all project files.");
desc("FAST", "yes", "-fast", "Configure Qt quickly by generating Makefiles only for library and "
"subdirectory targets. All other Makefiles are created as wrappers "
"which will in turn run qmake.\n");
desc( "-make <part>", "Add part to the list of parts to be built at make time"); desc( "-make <part>", "Add part to the list of parts to be built at make time");
for (int i=0; i<defaultBuildParts.size(); ++i) for (int i=0; i<defaultBuildParts.size(); ++i)
desc( "", qPrintable(QString(" %1").arg(defaultBuildParts.at(i))), false, ' '); desc( "", qPrintable(QString(" %1").arg(defaultBuildParts.at(i))), false, ' ');
@ -1790,7 +1779,7 @@ bool Configure::displayHelp()
desc("PROCESS", "partial", "-process", "Generate top-level Makefiles/Project files."); desc("PROCESS", "partial", "-process", "Generate top-level Makefiles/Project files.");
desc("PROCESS", "full", "-fully-process", "Generate Makefiles/Project files for the entire Qt\ntree."); desc("PROCESS", "full", "-fully-process", "Generate Makefiles/Project files for the entire Qt\ntree.");
desc("PROCESS", "no", "-dont-process", "Do not generate Makefiles/Project files. This will override -no-fast if specified.\n"); desc("PROCESS", "no", "-dont-process", "Do not generate Makefiles/Project files.\n");
desc("RTTI", "no", "-no-rtti", "Do not compile runtime type information."); desc("RTTI", "no", "-no-rtti", "Do not compile runtime type information.");
desc("RTTI", "yes", "-rtti", "Compile runtime type information."); desc("RTTI", "yes", "-rtti", "Compile runtime type information.");
@ -3755,43 +3744,6 @@ void Configure::buildQmake()
} }
#endif #endif
void Configure::findProjects(const QString& dirName)
{
if (dictionary[ "PROCESS" ] != "no") {
QDir dir(dirName);
QString entryName;
int makeListNumber;
ProjectType qmakeTemplate;
const QFileInfoList &list = dir.entryInfoList(QStringList(QLatin1String("*.pro")),
QDir::AllDirs | QDir::Files | QDir::NoDotAndDotDot);
for (int i = 0; i < list.size(); ++i) {
const QFileInfo &fi = list.at(i);
if (fi.fileName() != "qmake.pro") {
entryName = dirName + "/" + fi.fileName();
if (fi.isDir()) {
findProjects(entryName);
} else {
qmakeTemplate = projectType(fi.absoluteFilePath());
switch (qmakeTemplate) {
case Lib:
case Subdirs:
makeListNumber = 1;
break;
default:
makeListNumber = 2;
break;
}
makeList[makeListNumber].append(new MakeItem(sourceDir.relativeFilePath(fi.absolutePath()),
fi.fileName(),
"Makefile",
qmakeTemplate));
}
}
}
}
}
void Configure::appendMakeItem(int inList, const QString &item) void Configure::appendMakeItem(int inList, const QString &item)
{ {
QString dir; QString dir;
@ -3813,9 +3765,8 @@ void Configure::generateMakefiles()
if (spec != "win32-msvc.net" && !spec.startsWith("win32-msvc2") && !spec.startsWith(QLatin1String("wince"))) if (spec != "win32-msvc.net" && !spec.startsWith("win32-msvc2") && !spec.startsWith(QLatin1String("wince")))
dictionary[ "VCPROJFILES" ] = "no"; dictionary[ "VCPROJFILES" ] = "no";
int i = 0;
QString pwd = QDir::currentPath(); QString pwd = QDir::currentPath();
if (dictionary["FAST"] != "yes") { {
QString dirName; QString dirName;
bool generate = true; bool generate = true;
bool doDsp = (dictionary["VCPROJFILES"] == "yes"); bool doDsp = (dictionary["VCPROJFILES"] == "yes");
@ -3848,51 +3799,6 @@ void Configure::generateMakefiles()
dictionary[ "DONE" ] = "error"; dictionary[ "DONE" ] = "error";
} }
} }
} else {
findProjects(sourcePath);
for (i=0; i<3; i++) {
for (int j=0; j<makeList[i].size(); ++j) {
MakeItem *it=makeList[i][j];
if (it->directory == "tools/configure")
continue; // don't overwrite our own Makefile
QString dirPath = it->directory + '/';
QString projectName = it->proFile;
QString makefileName = buildPath + "/" + dirPath + it->target;
// For shadowbuilds, we need to create the path first
QDir buildPathDir(buildPath);
if (sourcePath != buildPath && !buildPathDir.exists(dirPath))
buildPathDir.mkpath(dirPath);
QStringList args;
args << QDir::toNativeSeparators(buildPath + "/bin/qmake.exe");
args << sourcePath + "/" + dirPath + projectName;
cout << "For " << qPrintable(QDir::toNativeSeparators(dirPath + projectName)) << endl;
args << "-o";
args << it->target;
QDir::setCurrent(dirPath);
QFile file(makefileName);
if (!file.open(QFile::WriteOnly | QFile::Text)) {
printf("failed on dirPath=%s, makefile=%s\n",
qPrintable(QDir::toNativeSeparators(dirPath)),
qPrintable(QDir::toNativeSeparators(makefileName)));
continue;
}
QTextStream txt(&file);
txt << "all:\n";
txt << "\t" << args.join(' ') << "\n";
txt << "\t$(MAKE) -$(MAKEFLAGS) -f " << it->target << "\n";
txt << "first: all\n";
txt << "qmake: FORCE\n";
txt << "\t" << args.join(' ') << "\n";
txt << "FORCE:\n";
}
}
} }
QDir::setCurrent(pwd); QDir::setCurrent(pwd);
} else { } else {

View File

@ -85,7 +85,6 @@ public:
void generateSystemVars(); void generateSystemVars();
#endif #endif
void showSummary(); void showSummary();
void findProjects( const QString& dirName );
QString firstLicensePath(); QString firstLicensePath();
#if !defined(EVAL) #if !defined(EVAL)