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:
parent
6a90c9a8e5
commit
c027cffbef
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user