make the windows configure also use config_help.txt

specifically, make configure.bat dump the text file (which got some
windows-specific adjustments).

incidentally, this change removes the need for including a pre-built
configure.exe into our source packages.

Change-Id: Ib3515c113f3602767554fe1493df226551a7bf10
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This commit is contained in:
Oswald Buddenhagen 2016-08-01 12:40:03 +02:00
parent 6a90c9a8e5
commit c027cffbef
5 changed files with 53 additions and 437 deletions

View File

@ -6,6 +6,7 @@ are mentioned in the descriptions of the options they relate to.
It is also possible to manipulate any QMAKE_* variable, to amend the values
from the mkspec for the build of Qt itself, e.g., QMAKE_CXXFLAGS+=-g3.
(Unix/MSys configure only)
Top-level installation directories:
-prefix <dir> ...... The deployment directory, as seen on the target device.
@ -96,6 +97,8 @@ Build options:
Instrument with the specified compiler sanitizer.
-c++std <edition> .... Select C++ standard <edition> [c++1z/c++14/c++11]
(Not supported with MSVC)
-rtti ................ Build with Runtime Type Information [yes] (MSVC only)
-sse2 ................ Use SSE2 instructions [auto]
-sse3/-ssse3/-sse4.1/-sse4.2/-avx/-avx2/-avx512
@ -115,11 +118,17 @@ Build options:
dynamic libraries and frameworks. [auto]
-reduce-exports ...... Reduce amount of exported symbols [auto]
-reduce-relocations .. Reduce amount of relocations [auto]
-reduce-relocations .. Reduce amount of relocations [auto] (Unix only)
-plugin-manifests .... Embed manifests into plugins [no] (Windows only)
-static-runtime ...... With -static, use static runtime [no] (Windows only)
-pch ................. Use precompiled headers [auto]
-ltcg ................ Use Link Time Code Generation [no]
-use-gold-linker ..... Use the GNU gold linker [auto]
-incredibuild-xge .... Use the IncrediBuild XGE [no] (Windows only)
-make-tool <tool> .... Use <tool> to build qmake [nmake] (Windows only)
-mp .................. Use multiple processors for compilation (MSVC only)
-warnings-are-errors . Treat warnings as errors [no; yes if -developer-build]
-silent .............. Reduce the build output so that warnings and errors
@ -130,7 +139,7 @@ Build environment:
-sysroot <dir> ....... Set <dir> as the target sysroot
-gcc-sysroot ......... With -sysroot, pass --sysroot to the compiler [yes]
-pkg-config .......... Use pkg-config [auto]
-pkg-config .......... Use pkg-config [auto] (Unix only)
-D <string> .......... Pass additional preprocessor define
-I <string> .......... Pass additional include path
@ -168,7 +177,8 @@ Component selection:
-compile-examples .... When unset, install only the sources of examples [yes]
-gui ................. Build the Qt GUI module and dependencies [yes]
-widgets ............. Build the Qt Widgets module and dependencies [yes]
-no-dbus ............. Do not build the Qt D-Bus module [default on Android]
-no-dbus ............. Do not build the Qt D-Bus module
[default on Android and Windows]
-dbus-linked ......... Build Qt D-Bus and link to libdbus-1 [auto]
-dbus-runtime ........ Build Qt D-Bus and dynamically load libdbus-1 [no]
DBUS_PATH= DBUS_HOST_PATH=
@ -185,10 +195,10 @@ Core options:
-doubleconversion .... Select used double conversion library [system/qt/no]
No implies use of sscanf_l and snprintf_l (imprecise).
-glib ................ Enable Glib support [auto]
-glib ................ Enable Glib support [no; auto on Unix]
-eventfd ............. Enable eventfd support
-inotify ............. Enable inotify support
-iconv ............... Enable iconv(3) support [posix/sun/gnu/no]
-iconv ............... Enable iconv(3) support [posix/sun/gnu/no] (Unix only)
-icu ................. Enable ICU support [auto]
-pps ................. Enable PPS support [auto] (QNX only)
-pcre ................ Select used libpcre3 [system/qt]
@ -196,17 +206,18 @@ Core options:
ZLIB_LIBS=
Logging backends:
-journald .......... Enable journald support [no]
-syslog ............ Enable syslog support [no]
-journald .......... Enable journald support [no] (Unix only)
-syslog ............ Enable syslog support [no] (Unix only)
-slog2 ............. Enable slog2 support [auto] (QNX only)
Network options:
-ssl ................. Enable either SSL support method [auto]
-no-openssl .......... Do not use OpenSSL [default on Apple]
-no-openssl .......... Do not use OpenSSL [default on Apple and WinRT]
-openssl-linked ...... Use OpenSSL and link to libssl [no]
-openssl-runtime ..... Use OpenSSL and dynamically load libssl [auto]
OPENSSL_PATH= OPENSSL_LIBS=
OPENSSL_PATH= OPENSSL_LIBS=, and on Windows also
OPENSSL_LIBS_DEBUG= OPENSSL_LIBS_RELEASE=
-securetransport ..... Use SecureTransport [auto] (Apple only)
-sctp ................ Enable SCTP support [no]
@ -216,9 +227,9 @@ Network options:
Gui, printing, widget options:
-cups ................ Enable CUPS support [auto]
-cups ................ Enable CUPS support [auto] (Unix only)
-fontconfig .......... Enable Fontconfig support [auto]
-fontconfig .......... Enable Fontconfig support [auto] (Unix only)
-freetype ............ Select used FreeType [system/qt/no]
-harfbuzz ............ Select used HarfBuzz-NG [system/qt/no]
(Not auto-detected on Apple and Windows)
@ -229,15 +240,18 @@ Gui, printing, widget options:
-no-opengl ........... Disable OpenGL support
-opengl <api> ........ Enable OpenGL support. Supported APIs:
es2 (default on Windows), desktop (default on Unix)
es2 (default on Windows), desktop (default on Unix),
dynamic (Windows only)
-opengles3 ........... Enable OpenGL ES 3.x support instead of ES 2.x [auto]
-angle ............... Use bundled ANGLE to support OpenGL ES 2.0 [auto]
(Windows only)
-qpa <name> .......... Select default QPA backend (e.g., xcb, cocoa, windows)
-xcb-xlib............. Enable Xcb-Xlib support [auto]
Platform backends:
-directfb .......... Enable DirectFB support [no] (Unix only)
-eglfs ............. Enable EGLFS support [auto; no on Android]
-eglfs ............. Enable EGLFS support [auto; no on Android and Windows]
-gbm ............... Enable backends for GBM [auto] (Linux only)
-kms ............... Enable backends for KMS [auto] (Linux only)
-linuxfb ........... Enable Linux Framebuffer support [auto] (Linux only)
@ -279,3 +293,4 @@ Multimedia options:
-no-gstreamer ........ Disable support for GStreamer
-gstreamer [version] . Enable GStreamer support [auto]
With no parameter, 1.0 is tried first, then 0.10.
-wmf-backend ......... Enable WMF support [no] (Windows only)

View File

@ -28,9 +28,26 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
setlocal ENABLEEXTENSIONS
set ARGS=%*
set QTSRC=%~dp0
set QTDIR=%CD%
:doargs
if "%~1" == "" goto doneargs
if "%~1" == "/?" goto help
if "%~1" == "-?" goto help
if /i "%~1" == "/h" goto help
if /i "%~1" == "-h" goto help
if /i "%~1" == "/help" goto help
if /i "%~1" == "-help" goto help
if /i "%~1" == "--help" goto help
shift
goto doargs
:doneargs
if not exist %QTSRC%.gitignore goto sconf
echo Please wait while bootstrapping configure ...
@ -114,9 +131,13 @@ if errorlevel 1 (cd ..\.. & exit /b 1)
cd ..\..
:conf
configure.exe -srcdir %QTSRC% %*
configure.exe -srcdir %QTSRC% %ARGS%
goto exit
:help
type %QTSRC%config_help.txt
goto exit
:sconf
%QTSRC%configure.exe %*
%QTSRC%configure.exe %ARGS%
:exit

View File

@ -365,12 +365,8 @@ void Configure::parseCmdLine()
for (; i<configCmdLine.size(); ++i) {
bool continueElse[] = {false, false};
if (configCmdLine.at(i) == "-help"
|| configCmdLine.at(i) == "-h"
|| configCmdLine.at(i) == "-?")
dictionary[ "HELP" ] = "yes";
else if (configCmdLine.at(i) == "-v" || configCmdLine.at(i) == "-verbose") {
if (configCmdLine.at(i) == "-v" || configCmdLine.at(i) == "-verbose") {
++verbose;
}
@ -1317,112 +1313,10 @@ void Configure::parseCmdLine()
for (QStringList::Iterator it = disabledModules.begin(); it != disabledModules.end(); ++it)
qtConfig.removeAll(*it);
if ((dictionary[ "REDO" ] != "yes") && (dictionary[ "HELP" ] != "yes")
&& (dictionary[ "DONE" ] != "error"))
if ((dictionary["REDO"] != "yes") && (dictionary["DONE"] != "error"))
saveCmdLine();
}
// Output helper functions --------------------------------[ Start ]-
/*!
Determines the length of a string token.
*/
static int tokenLength(const char *str)
{
if (*str == 0)
return 0;
const char *nextToken = strpbrk(str, " _/\n\r");
if (nextToken == str || !nextToken)
return 1;
return int(nextToken - str);
}
/*!
Prints out a string which starts at position \a startingAt, and
indents each wrapped line with \a wrapIndent characters.
The wrap point is set to the console width, unless that width
cannot be determined, or is too small.
*/
void Configure::desc(const char *description, int startingAt, int wrapIndent)
{
int linePos = startingAt;
bool firstLine = true;
const char *nextToken = description;
while (*nextToken) {
int nextTokenLen = tokenLength(nextToken);
if (*nextToken == '\n' // Wrap on newline, duh
|| (linePos + nextTokenLen > outputWidth)) // Wrap at outputWidth
{
printf("\n");
linePos = 0;
firstLine = false;
if (*nextToken == '\n')
++nextToken;
continue;
}
if (!firstLine && linePos < wrapIndent) { // Indent to wrapIndent
printf("%*s", wrapIndent , "");
linePos = wrapIndent;
if (*nextToken == ' ') {
++nextToken;
continue;
}
}
printf("%.*s", nextTokenLen, nextToken);
linePos += nextTokenLen;
nextToken += nextTokenLen;
}
}
/*!
Prints out an option with its description wrapped at the
description starting point. If \a skipIndent is true, the
indentation to the option is not outputted (used by marked option
version of desc()). Extra spaces between option and its
description is filled with\a fillChar, if there's available
space.
*/
void Configure::desc(const char *option, const char *description, bool skipIndent, char fillChar)
{
if (!skipIndent)
printf("%*s", optionIndent, "");
int remaining = descIndent - optionIndent - int(strlen(option));
int wrapIndent = descIndent + qMax(0, 1 - remaining);
printf("%s", option);
if (remaining > 2) {
printf(" "); // Space in front
for (int i = remaining; i > 2; --i)
printf("%c", fillChar); // Fill, if available space
}
printf(" "); // Space between option and description
desc(description, wrapIndent, wrapIndent);
printf("\n");
}
/*!
Same as above, except it also marks an option with an '*', if
the option is default action.
*/
void Configure::desc(const char *mark_option, const char *mark, const char *option, const char *description, char fillChar)
{
const QString markedAs = dictionary.value(mark_option);
if (markedAs == "auto" && markedAs == mark) // both "auto", always => +
printf(" + ");
else if (markedAs == "auto") // setting marked as "auto" and option is default => +
printf(" %c " , (defaultTo(mark_option) == QLatin1String(mark))? '+' : ' ');
else if (QLatin1String(mark) == "auto" && markedAs != "no") // description marked as "auto" and option is available => +
printf(" %c " , checkAvailability(mark_option) ? '+' : ' ');
else // None are "auto", (markedAs == mark) => *
printf(" %c " , markedAs == QLatin1String(mark) ? '*' : ' ');
desc(option, description, true, fillChar);
}
/*!
Modifies the default configuration based on given -platform option.
Eg. switches to different default styles for Windows CE.
@ -1493,314 +1387,6 @@ void Configure::applySpecSpecifics()
}
}
// Output helper functions ---------------------------------[ Stop ]-
bool Configure::displayHelp()
{
if (dictionary[ "HELP" ] == "yes") {
desc("Usage: configure [options]\n\n", 0, 7);
desc("Installation options:\n\n");
desc("These are optional, but you may specify install directories.\n\n", 0, 1);
desc( "-prefix <dir>", "The deployment directory, as seen on the target device.\n"
"(default %CD%)\n");
desc( "-extprefix <dir>", "The installation directory, as seen on the host machine.\n"
"(default SYSROOT/PREFIX)\n");
desc( "-hostprefix [dir]", "The installation directory for build tools running on the\n"
"host machine. If [dir] is not given, the current build\n"
"directory will be used. (default EXTPREFIX)\n");
desc("You may use these to change the layout of the install. Note that all directories\n"
"except -sysconfdir should be located under -prefix/-hostprefix:\n\n");
desc( "-bindir <dir>", "User executables will be installed to <dir>\n(default PREFIX/bin)");
desc( "-libdir <dir>", "Libraries will be installed to <dir>\n(default PREFIX/lib)");
desc( "-headerdir <dir>", "Headers will be installed to <dir>\n(default PREFIX/include)");
desc( "-archdatadir <dir>", "Architecture-dependent data used by Qt will be installed to <dir>\n(default PREFIX)");
desc( "-libexecdir <dir>", "Program executables will be installed to <dir>\n(default ARCHDATADIR/bin)");
desc( "-plugindir <dir>", "Plugins will be installed to <dir>\n(default ARCHDATADIR/plugins)");
desc( "-importdir <dir>", "Imports for QML1 will be installed to <dir>\n(default ARCHDATADIR/imports)");
desc( "-qmldir <dir>", "Imports for QML2 will be installed to <dir>\n(default ARCHDATADIR/qml)");
desc( "-datadir <dir>", "Data used by Qt programs will be installed to <dir>\n(default PREFIX)");
desc( "-docdir <dir>", "Documentation will be installed to <dir>\n(default DATADIR/doc)");
desc( "-translationdir <dir>", "Translations of Qt programs will be installed to <dir>\n(default DATADIR/translations)");
desc( "-examplesdir <dir>", "Examples will be installed to <dir>\n(default PREFIX/examples)");
desc( "-testsdir <dir>", "Tests will be installed to <dir>\n(default PREFIX/tests)\n");
desc( "-hostbindir <dir>", "Host executables will be installed to <dir>\n(default HOSTPREFIX/bin)");
desc( "-hostlibdir <dir>", "Host libraries will be installed to <dir>\n(default HOSTPREFIX/lib)");
desc( "-hostdatadir <dir>", "Data used by qmake will be installed to <dir>\n(default HOSTPREFIX)");
desc("\nConfigure options:\n\n");
desc(" The defaults (*) are usually acceptable. A plus (+) denotes a default value"
" that needs to be evaluated. If the evaluation succeeds, the feature is"
" included. Here is a short explanation of each option:\n\n", 0, 1);
desc("BUILD", "release","-release", "Compile and link Qt with debugging turned off.");
desc("BUILD", "debug", "-debug", "Compile and link Qt with debugging turned on.");
desc("BUILDALL", "yes", "-debug-and-release", "Compile and link two Qt libraries, with and without debugging turned on.\n");
desc("FORCEDEBUGINFO", "yes","-force-debug-info", "Create symbol files for release builds.");
desc("SEPARATE_DEBUG_INFO", "yes","-separate-debug-info", "Strip debug information into a separate file.\n");
desc("BUILDDEV", "yes", "-developer-build", "Compile and link Qt with Qt developer options (including auto-tests exporting)\n");
desc("RELEASE_TOOLS", "yes", "-optimized-tools", "Build optimized host tools even in debug build.");
desc("RELEASE_TOOLS", "no", "-no-optimized-tools", "Do not build optimized host tools even in debug build.\n");
desc("OPENSOURCE", "opensource", "-opensource", "Compile and link the Open-Source Edition of Qt.");
desc("COMMERCIAL", "commercial", "-commercial", "Compile and link the Commercial Edition of Qt.\n");
desc( "-c++std <edition>", "Compile Qt with C++ standard edition (c++11, c++14, c++1z)\n"
"Default: highest supported. This option is not supported for MSVC.\n");
desc("USE_GOLD_LINKER", "yes", "-use-gold-linker", "Link using the GNU gold linker (gcc only).");
desc("USE_GOLD_LINKER", "no", "-no-use-gold-linker", "Do not link using the GNU gold linker.\n");
desc("ENABLE_NEW_DTAGS", "yes", "-enable-new-dtags", "Use new DTAGS for RPATH (Linux only).");
desc("ENABLE_NEW_DTAGS", "no", "-disable-new-dtags", "Do not use new DTAGS for RPATH.\n");
desc("SHARED", "yes", "-shared", "Create and use shared Qt libraries.");
desc("SHARED", "no", "-static", "Create and use static Qt libraries.\n");
desc("STATIC_RUNTIME", "no", "-static-runtime","Statically link the C/C++ runtime library.\n");
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( "-make <part>", "Add part to the list of parts to be built at make time");
for (int i=0; i<defaultBuildParts.size(); ++i)
desc( "", qPrintable(QString(" %1").arg(defaultBuildParts.at(i))), false, ' ');
desc( "-nomake <part>", "Exclude part from the list of parts to be built.\n");
desc( "-skip <module>", "Exclude an entire module from the build.\n");
desc( "-no-compile-examples", "Install only the sources of examples.\n");
desc("WIDGETS", "no", "-no-widgets", "Disable Qt Widgets module.\n");
desc("GUI", "no", "-no-gui", "Disable Qt GUI module.\n");
desc("ACCESSIBILITY", "no", "-no-accessibility", "Disable accessibility support.\n");
desc( "", "Disabling accessibility is not recommended, as it will break QStyle\n"
"and may break other internal parts of Qt.\n"
"With this switch you create a source incompatible version of Qt,\n"
"which is unsupported.\n");
desc("ACCESSIBILITY", "yes", "-accessibility", "Enable accessibility support.\n");
desc( "-no-sql-<driver>", "Disable SQL <driver> entirely, by default none are turned on.");
desc( "-qt-sql-<driver>", "Enable a SQL <driver> in the Qt Library.");
desc( "-plugin-sql-<driver>", "Enable SQL <driver> as a plugin to be linked to at run time.\n"
"Available values for <driver>:");
desc("SQL_MYSQL", "auto", "", " mysql", ' ');
desc("SQL_PSQL", "auto", "", " psql", ' ');
desc("SQL_OCI", "auto", "", " oci", ' ');
desc("SQL_ODBC", "auto", "", " odbc", ' ');
desc("SQL_TDS", "auto", "", " tds", ' ');
desc("SQL_DB2", "auto", "", " db2", ' ');
desc("SQL_SQLITE", "auto", "", " sqlite", ' ');
desc("SQL_SQLITE2", "auto", "", " sqlite2", ' ');
desc("SQL_IBASE", "auto", "", " ibase", ' ');
desc( "", "(drivers marked with a '+' have been detected as available on this system)\n", false, ' ');
desc( "-system-sqlite", "Use sqlite from the operating system.\n");
desc("OPENGL", "no","-no-opengl", "Do not support OpenGL.");
desc("OPENGL", "no","-opengl <api>", "Enable OpenGL support with specified API version.\n"
"Available values for <api>:");
desc("", "no", "", " desktop - Enable support for Desktop OpenGL", ' ');
desc("", "no", "", " dynamic - Enable support for dynamically loaded OpenGL (either desktop or ES)", ' ');
desc("OPENGL_ES_2", "yes", "", " es2 - Enable support for OpenGL ES 2.0\n", ' ');
desc( "-force-asserts", "Activate asserts in release mode.\n");
desc( "-platform <spec>", "The operating system and compiler you are building on.\n(default %QMAKESPEC%)\n");
desc( "-xplatform <spec>", "The operating system and compiler you are cross compiling to.\n");
desc( "", "See the README file for a list of supported operating systems and compilers.\n", false, ' ');
desc( "-sysroot <dir>", "Sets <dir> as the target compiler's and qmake's sysroot and also sets pkg-config paths.");
desc( "-no-gcc-sysroot", "When using -sysroot, it disables the passing of --sysroot to the compiler.\n");
desc( "-qconfig <local>", "Use src/corelib/global/qconfig-<local>.h rather than the\n"
"default 'full'.\n");
desc("NIS", "no", "-no-nis", "Do not compile NIS support.");
desc("NIS", "yes", "-nis", "Compile NIS support.\n");
desc("QT_ICONV", "disable", "-no-iconv", "Do not enable support for iconv(3).");
desc("QT_ICONV", "yes", "-iconv", "Enable support for iconv(3).");
desc("QT_ICONV", "yes", "-sun-iconv", "Enable support for iconv(3) using sun-iconv.");
desc("QT_ICONV", "yes", "-gnu-iconv", "Enable support for iconv(3) using gnu-libiconv.\n");
desc("QT_EVDEV", "no", "-no-evdev", "Do not enable support for evdev.");
desc("QT_EVDEV", "yes", "-evdev", "Enable support for evdev.");
desc("QT_MTDEV", "no", "-no-mtdev", "Do not enable support for mtdev.");
desc("QT_MTDEV", "yes", "-mtdev", "Enable support for mtdev.");
desc("QT_INOTIFY", "yes", "-inotify", "Explicitly enable Qt inotify(7) support.");
desc("QT_INOTIFY", "no", "-no-inotify", "Explicitly disable Qt inotify(7) support.\n");
desc("QT_EVENTFD", "yes", "-eventfd", "Enable eventfd(7) support in the UNIX event loop.");
desc("QT_EVENTFD", "no", "-no-eventfd", "Disable eventfd(7) support in the UNIX event loop.\n");
desc("POSIX_IPC", "yes", "-posix-ipc", "Enable POSIX IPC.\n");
desc("QT_GLIB", "yes", "-glib", "Compile Glib support.\n");
desc("QT_INSTALL_SETTINGS", "auto", "-sysconfdir <dir>", "Settings used by Qt programs will be looked for in\n<dir>.\n");
desc("SYSTEM_PROXIES", "yes", "-system-proxies", "Use system network proxies by default.");
desc("SYSTEM_PROXIES", "no", "-no-system-proxies", "Do not use system network proxies by default.\n");
desc("SCTP", "yes", "-sctp", "Compile SCTP support.");
desc("SCTP", "no", "-no-sctp", "Do not compile SCTP network protocol support.\n");
desc("WERROR", "yes", "-warnings-are-errors", "Make warnings be treated as errors.");
desc("WERROR", "no", "-no-warnings-are-errors","Make warnings be treated normally.");
desc( "-qtnamespace <name>", "Wraps all Qt library code in 'namespace name {...}'.");
desc( "-qtlibinfix <infix>", "Renames all Qt* libs to Qt*<infix>.\n");
desc( "-D <define>", "Add an explicit define to the preprocessor.");
desc( "-I <includepath>", "Add an explicit include path.");
desc( "-L <librarypath>", "Add an explicit library path.");
desc("PCH", "no", "-no-pch", "Do not use precompiled header support.");
desc("PCH", "yes", "-pch", "Use precopmiled header support.\n");
desc( "-help, -h, -?", "Display this information.\n");
// 3rd party stuff options go below here --------------------------------------------------------------------------------
desc("Third Party Libraries:\n\n");
desc("SYSTEM_ZLIB", "no", "-qt-zlib", "Use the zlib bundled with Qt.");
desc("SYSTEM_ZLIB", "yes", "-system-zlib", "Use zlib from the operating system.\nSee http://www.gzip.org/zlib\n");
desc("PCRE", "qt", "-qt-pcre", "Use the PCRE library bundled with Qt.");
desc("PCRE", "system", "-system-pcre", "Use the PCRE library from the operating system.\nSee http://pcre.org/\n");
desc("ICU", "yes", "-icu", "Use the ICU library.");
desc("ICU", "no", "-no-icu", "Do not use the ICU library.\nSee http://site.icu-project.org/\n");
desc("GIF", "no", "-no-gif", "Do not compile GIF reading support.\n");
desc("LIBPNG", "no", "-no-libpng", "Do not compile PNG support.");
desc("LIBPNG", "qt", "-qt-libpng", "Use the libpng bundled with Qt.");
desc("LIBPNG", "system","-system-libpng", "Use libpng from the operating system.\nSee http://www.libpng.org/pub/png\n");
desc("LIBJPEG", "no", "-no-libjpeg", "Do not compile JPEG support.");
desc("LIBJPEG", "qt", "-qt-libjpeg", "Use the libjpeg bundled with Qt.");
desc("LIBJPEG", "system","-system-libjpeg", "Use libjpeg from the operating system.\nSee http://www.ijg.org\n");
desc("DOUBLECONVERSION", "no", "-no-doubleconversion", "Use sscanf_l and snprintf_l for (imprecise) double conversion.");
desc("DOUBLECONVERSION", "qt", "-qt-doubleconversion", "Use the libdouble-conversion bundled with Qt.");
desc("DOUBLECONVERSION", "system", "-system-doubleconversion", "Use the libdouble-conversion provided by the system.");
desc("FREETYPE", "no", "-no-freetype", "Do not compile in Freetype2 support.");
desc("FREETYPE", "yes", "-qt-freetype", "Use the libfreetype bundled with Qt.");
desc("FREETYPE", "system","-system-freetype", "Use the libfreetype provided by the system.\n");
desc("FONT_CONFIG", "yes", "-fontconfig", "Build with FontConfig support.");
desc("FONT_CONFIG", "no", "-no-fontconfig", "Do not build with FontConfig support.\n");
desc("HARFBUZZ", "no", "-no-harfbuzz", "Do not compile in HarfBuzz-NG support.");
desc("HARFBUZZ", "qt", "-qt-harfbuzz", "Use HarfBuzz-NG bundled with Qt to do text shaping.\n"
"It can still be disabled by setting\n"
"the QT_HARFBUZZ environment variable to \"old\".");
desc("HARFBUZZ", "system","-system-harfbuzz", "Use HarfBuzz-NG from the operating system\n"
"to do text shaping. It can still be disabled\n"
"by setting the QT_HARFBUZZ environment variable to \"old\".\n"
"See http://www.harfbuzz.org\n");
if (platform() == QNX) {
desc("SLOG2", "yes", "-slog2", "Compile with slog2 support.");
desc("SLOG2", "no", "-no-slog2", "Do not compile with slog2 support.");
desc("QNX_IMF", "yes", "-imf", "Compile with imf support.");
desc("QNX_IMF", "no", "-no-imf", "Do not compile with imf support.");
desc("PPS", "yes", "-pps", "Compile with PPS support.");
desc("PPS", "no", "-no-pps", "Do not compile with PPS support.");
desc("LGMON", "yes", "-lgmon", "Compile with lgmon support.");
desc("LGMON", "no", "-no-lgmon", "Do not compile with lgmon support.\n");
}
desc("ANGLE", "yes", "-angle", "Use the ANGLE implementation of OpenGL ES 2.0.");
desc("ANGLE", "no", "-no-angle", "Do not use ANGLE.\nSee https://chromium.googlesource.com/angle/angle/+/master/README.md\n");
// Qt\Windows only options go below here --------------------------------------------------------------------------------
desc("\nQt for Windows only:\n\n");
desc("INCREDIBUILD_XGE", "no", "-no-incredibuild-xge", "Do not add IncrediBuild XGE distribution commands to custom build steps.");
desc("INCREDIBUILD_XGE", "yes", "-incredibuild-xge", "Add IncrediBuild XGE distribution commands to custom build steps. This will distribute MOC and UIC steps, and other custom buildsteps which are added to the INCREDIBUILD_XGE variable.\n(The IncrediBuild distribution commands are only added to Visual Studio projects)\n");
desc("PLUGIN_MANIFESTS", "no", "-no-plugin-manifests", "Do not embed manifests in plugins.");
desc("PLUGIN_MANIFESTS", "yes", "-plugin-manifests", "Embed manifests in plugins.\n");
desc( "-qreal [double|float]", "typedef qreal to the specified type. The default is double.\n"
"Note that changing this flag affects binary compatibility.\n");
desc("RTTI", "no", "-no-rtti", "Do not compile runtime type information.");
desc("RTTI", "yes", "-rtti", "Compile runtime type information.");
desc("STRIP", "no", "-no-strip", "Do not strip libraries and executables of debug info when installing.");
desc("STRIP", "yes", "-strip", "Strip libraries and executables of debug info when installing.\n");
desc("SSE2", "no", "-no-sse2", "Do not compile with use of SSE2 instructions.");
desc("SSE2", "yes", "-sse2", "Compile with use of SSE2 instructions.");
desc("SSE3", "no", "-no-sse3", "Do not compile with use of SSE3 instructions.");
desc("SSE3", "yes", "-sse3", "Compile with use of SSE3 instructions.");
desc("SSSE3", "no", "-no-ssse3", "Do not compile with use of SSSE3 instructions.");
desc("SSSE3", "yes", "-ssse3", "Compile with use of SSSE3 instructions.");
desc("SSE4_1", "no", "-no-sse4.1", "Do not compile with use of SSE4.1 instructions.");
desc("SSE4_1", "yes", "-sse4.1", "Compile with use of SSE4.1 instructions.");
desc("SSE4_2", "no", "-no-sse4.2", "Do not compile with use of SSE4.2 instructions.");
desc("SSE4_2", "yes", "-sse4.2", "Compile with use of SSE4.2 instructions.");
desc("AVX", "no", "-no-avx", "Do not compile with use of AVX instructions.");
desc("AVX", "yes", "-avx", "Compile with use of AVX instructions.");
desc("AVX2", "no", "-no-avx2", "Do not compile with use of AVX2 instructions.");
desc("AVX2", "yes", "-avx2", "Compile with use of AVX2 instructions.\n");
desc("AVX512", "no", "-no-avx512", "Do not compile with use of AVX512 instructions.");
desc("AVX512", "yes", "-avx512", "Compile with use of AVX512 instructions.\n");
desc("SSL", "no", "-no-ssl", "Do not compile support for SSL.");
desc("SSL", "yes", "-ssl", "Enable run-time SSL support.");
desc("OPENSSL", "no", "-no-openssl", "Do not compile support for OpenSSL.");
desc("OPENSSL", "yes", "-openssl", "Enable run-time OpenSSL support.");
desc("OPENSSL", "linked","-openssl-linked", "Enable linked OpenSSL support.\n");
desc("LIBPROXY", "no", "-no-libproxy", "Do not compile in libproxy support.");
desc("LIBPROXY", "yes", "-libproxy", "Compile in libproxy support (for cross compilation targets).\n");
desc("DBUS", "no", "-no-dbus", "Do not compile in D-Bus support.");
desc("DBUS", "linked", "-dbus-linked", "Compile in D-Bus support and link to libdbus-1.\n");
desc("DBUS", "runtime", "-dbus-runtime", "Compile in D-Bus support and load libdbus-1\ndynamically.");
desc("WMF_BACKEND", "no","-no-wmf-backend", "Do not compile in the windows media foundation backend\ninto Qt Multimedia.");
desc("WMF_BACKEND", "yes","-wmf-backend", "Compile in the windows media foundation backend into Qt Multimedia.\n");
desc("QML_DEBUG", "no", "-no-qml-debug", "Do not build the in-process QML debugging support.");
desc("QML_DEBUG", "yes", "-qml-debug", "Build the in-process QML debugging support.\n");
desc("DIRECTWRITE", "no", "-no-directwrite", "Do not build support for DirectWrite font rendering.");
desc("DIRECTWRITE", "yes", "-directwrite", "Build support for DirectWrite font rendering.\n");
desc("DIRECT2D", "no", "-no-direct2d", "Do not build the Direct2D platform plugin.");
desc("DIRECT2D", "yes", "-direct2d", "Build the Direct2D platform plugin (experimental,\n"
"requires Direct2D availability on target systems,\n"
"e.g. Windows 7 with Platform Update, Windows 8, etc.)\n");
desc( "-no-style-<style>", "Disable <style> entirely.");
desc( "-qt-style-<style>", "Enable <style> in the Qt Library.\nAvailable styles: ");
desc("STYLE_WINDOWS", "yes", "", " windows", ' ');
desc("STYLE_WINDOWSXP", "auto", "", " windowsxp", ' ');
desc("STYLE_WINDOWSVISTA", "auto", "", " windowsvista", ' ');
desc("STYLE_FUSION", "yes", "", " fusion", ' ');
desc("MSVC_MP", "no", "-no-mp", "Do not use multiple processors for compiling with MSVC");
desc("MSVC_MP", "yes", "-mp", "Use multiple processors for compiling with MSVC (-MP).\n");
desc( "-redo", "Run configure with the same parameters as last time.\n");
desc( "-v, -verbose", "Run configure tests with verbose output.\n");
return true;
}
return false;
}
// Locate a file and return its containing directory.
QString Configure::locateFile(const QString &fileName) const
{

View File

@ -43,7 +43,6 @@ public:
~Configure();
void parseCmdLine();
bool displayHelp();
QString defaultTo(const QString &option);
bool checkAvailability(const QString &part);
@ -146,9 +145,6 @@ private:
bool distClean = true);
bool compilerSupportsFlag(const QString &compilerAndArgs);
void desc(const char *description, int startingAt = 0, int wrapIndent = 0);
void desc(const char *option, const char *description, bool skipIndent = false, char fillChar = '.');
void desc(const char *mark_option, const char *mark, const char *option, const char *description, char fillChar = '.');
void applySpecSpecifics();
QString formatConfigPath(const char *var);

View File

@ -44,8 +44,6 @@ int runConfigure( int argc, char** argv )
app.parseCmdLine();
if (!app.isOk())
return 3;
if( app.displayHelp() )
return 1;
// Read license now, and exit if it doesn't pass.
// This lets the user see the command-line options of configure