diff options
author | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2016-08-01 12:40:03 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2016-08-18 17:10:39 +0000 |
commit | c027cffbef6cb317a5a09e1785398c046f0a6395 (patch) | |
tree | dc3731a2d4786e18755683fb5de80510b0179ea6 | |
parent | 6a90c9a8e547a377f17d67db7072c19a163db95c (diff) |
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>
-rw-r--r-- | config_help.txt | 41 | ||||
-rw-r--r-- | configure.bat | 25 | ||||
-rw-r--r-- | tools/configure/configureapp.cpp | 418 | ||||
-rw-r--r-- | tools/configure/configureapp.h | 4 | ||||
-rw-r--r-- | tools/configure/main.cpp | 2 |
5 files changed, 53 insertions, 437 deletions
diff --git a/config_help.txt b/config_help.txt index 2b3e25e1f1..9cd70672b0 100644 --- a/config_help.txt +++ b/config_help.txt @@ -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) diff --git a/configure.bat b/configure.bat index 5c01890116..4fcf254a59 100644 --- a/configure.bat +++ b/configure.bat @@ -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 diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index c611de6060..059d2b15e7 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -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 { diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h index eaf871ecb7..9d3f7e39a8 100644 --- a/tools/configure/configureapp.h +++ b/tools/configure/configureapp.h @@ -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); diff --git a/tools/configure/main.cpp b/tools/configure/main.cpp index 4d887023b4..426cdbd294 100644 --- a/tools/configure/main.cpp +++ b/tools/configure/main.cpp @@ -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 |