summaryrefslogtreecommitdiffstats
path: root/src/tools/bootstrap/bootstrap.pro
Commit message (Collapse)AuthorAgeFilesLines
* Make the use of -ffunction-sections more generic in QtThiago Macieira2014-05-191-2/+0
| | | | | | | | | | | Move it from bootstrap.pro into qt_module.prf so it will apply to any other bootstrapped libraries, like libQmlDevTools. Variable called "SPLIT_SECTIONS" because -fdata-sections could be added in the future, if it proves to be a benefit. Change-Id: I3fbb004f111620a84e58e9112e9bce3afd95631e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Enable categorized logging for bootstrapped toolsKai Koehne2014-02-111-0/+2
| | | | | Change-Id: Ie908a175bda103fd8d73031024a823a4c4d3dbb7 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Replace win32-g++ with mingw scopeKai Koehne2014-01-171-1/+1
| | | | | | | | Commit 773dd01 introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows/Windows CE: Do not dynamically load shell32/coredll.Friedemann Kleint2014-01-071-1/+1
| | | | | | | | | Those libraries are contained in QMAKE_LIBS_CORE and GetSpecialFolderPath() is present in all supported versions. Change-Id: Iae40714e0f234625b063aeb50e29fc79c4aaa6ea Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Implement support for ref-qualified QString::toLatin1 & friendsThiago Macieira2013-12-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first step in implementing an in-place conversion of QString to QByteArray. This requires ref-qualifiers in member functions so we know that we have an rvalue QString. Converting from UTF-16 to Latin1 always requires half the memory. For conversion from UTF-16 to UTF-8, the typical string will also need the same memory or less: characters from U+0000 to U+007F consume one fewer byte; characters from U+0080 to U+07FF and from U+10000 to U+1FFFFF occupy the same space in UTF-8 and UTF-16; it's only the ones from U+0800 to U+FFFF that consume more space in the UTF-8 string. For the locale's 8-bit codec, we can't be sure and the code (currently) needs to go through QTextCodec anyway. This requires a #define set before #include'ing "qstring.h". However, since qstring.h is included by the QtCore PCH, we need an extra qmake compiler without the PCH flags to compile this .cpp. After this change, the distribution of calls in QtCore, Network, Gui, and Widgets is as follows: const & && toUtf8 31 (74%) 11 (26%) toLatin1 79 (77%) 24 (23%) toLocal8Bit 26 (16%) 138 (84%) Change-Id: Idd96f9ddb51b989bc59f6da50054dd10c953dd4f Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add QCommandLineParser to the bootstrap libDavid Faure2013-08-281-0/+2
| | | | | Change-Id: I861758746eca954cf074893b0241fd66c2ff39d2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* don't put QLibraryInfo and QSettings into bootstrap libOswald Buddenhagen2013-08-121-7/+1
| | | | | | | | it's not necessary. it was an artifact of a misguided approach to making qdoc aware of the qt installation dirs. Change-Id: I5ff363c8400d17698bf715e70b904aa69f71f0d8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* redo include path logic for pre-generated headersOswald Buddenhagen2013-06-101-2/+3
| | | | | | | | | make the include dir in the source tree the "main" include path, as that's where the majority of the headers is. then selectively add the shadowed dirs. Change-Id: I03ad13cfcf77175c141b94d41b1221740d851faf Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Don't bootstrap QT_EVAL codeEskil Abrahamsen Blomfeldt2013-04-201-0/+2
| | | | | | | | | | | | | | For most bootstrapped tools, the QT_EVAL code will not have any effect, because most of the tools don't instantiate a QCoreApplication. However, qdoc is bootstrapped for cross compilation, and will instantiate QCoreApplication which calls the QT_EVAL code. Since the QT_EVAL code requires QObject, and QObject requires moc, it does not make sense to compile the eval code into the bootstrap library. Instead, we simply disable it to make sure the build succeeds. Change-Id: I472803572b070df041014d337c23d3f3dc0749e4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* add qcryptographichash to bootstrap libOswald Buddenhagen2013-04-031-0/+2
| | | | | | | needed to make qdoc bootstrapping optional Change-Id: Ie630d129ed038fd90078197588a6df723eddf553 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'gerrit/release' into stableSamuel Rødal2013-03-211-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/qt_module_headers.prf mkspecs/features/qt_tool.prf src/angle/angle.pro src/tools/bootstrap/bootstrap.pro tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
| * pass module version to syncqtOswald Buddenhagen2013-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this is cleaner than having it parse qmake project files. the only remaining built-in version extraction is the fallback to qglobal.h needed for bootstrapping. as a "side effect", this fixes the build of modules with mismatched versions centralized in .qmake.conf, as this was simply not handled so far. the -mkspecsdir syncqt option goes away, as there is no use case for it any more. Task-number: QTBUG-29838 Change-Id: I6912a38f0e93a26bc267a9e3d738506fd3ad431b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | bring bootstrapped QT magic from qt_tool to qt_moduleOswald Buddenhagen2013-03-161-2/+1
| | | | | | | | | | | | | | | | | | project files of bootstrapped modules can, just like those of bootstrapped tools, benefit from automatic adjustment of QT (and CONFIG). Change-Id: I83815e69a2b105caaee0c2e2602828f8eb425eef Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | add QStandardPaths to bootstrap libOswald Buddenhagen2013-03-141-0/+13
| | | | | | | | | | | | | | | | | | it was already bootstrappable, but it was used only for configure.exe. needed for bootstrapping lupdate Change-Id: I0c2bf7db293dda47b3342dfe897a28b34383b1b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | add QCoreApplication to bootstrap libOswald Buddenhagen2013-03-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | this required making it compile with QT_NO_QOBJECT. of course this disables anything related to threading and event processing. needed for bootstrapping qmldevtools (qmlmin, lupdate) Change-Id: I6f8bd3996ac7b6eee49a5b8a55143d358abe35ee Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | qfilesystemengine_mac.cpp is empty => purgeOswald Buddenhagen2013-03-141-2/+1
| | | | | | | | | | Change-Id: I61c615343f45fe52adee36b6822322bda2b2ca4f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | consolidate syncqt invocationsOswald Buddenhagen2013-03-131-17/+8
| | | | | | | | | | | | Change-Id: Ic28ea95201501b05c4a62366d1f70fa120161927 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Distinguish between 'mac' and 'macx' qmake scopesTor Arne Vestbø2013-03-051-1/+1
|/ | | | | | | | | | | | | | The former applies both on Mac OS X and iOS, but 'macx' is specific to Mac OS X. ios.conf and macx.conf now share most of their settings in the common mac.conf. We set the default QMAKE_MAC_SDK before loading mac.conf, so that any overrides in the device config will apply afterwards. This means configure's mkspec parsing will be able to read the QMAKE_MAC_SDK. Change-Id: I0c7e26a6a0103e19b23ef152aa9e4ab461cee632 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* remove more symbian vestigesOswald Buddenhagen2012-12-171-10/+0
| | | | | | Change-Id: Ib875202b77193c474bbbd411a7bd0065b26996e9 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove obsolete DEPENDPATH assignmentsOswald Buddenhagen2012-12-171-10/+0
| | | | | | | | qmake now add CONFIG+=depend_includepath by default, making manual DEPENDPATH setup unnecessary. Change-Id: Ie57cf05c369e21b5b9e099b6ce9be4f75da1508f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Provide the bundled zlib headers for external accessaavit2012-11-281-0/+1
| | | | | | | | | | | | | | | | | | (Currently, the Qt5 windows packages lack the tiff and mng plugins from qtimageformats because of this issue.) If Qt is configured to use its bundled zlib, it is compiled into QtCore, and the public symbols are exported so that it can be used by other Qt libraries. However, after modularization, this did not work for libraries outside qtbase, since they did not have access to the headers of the bundled zlib. This commit fixes that. Ref. also 1f461ac45bfa8887261510a95fb33a346d68eaba Change-Id: Ie986f47e00fd0c16f2ba04d27f4258a20d61b260 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Unbreak the bootstrap lib build on MinGWKonstantin Ritt2012-11-211-0/+3
| | | | | | | | With -std=c++0x, MinGW headers doesn't declare some common functions we're using in qglobal.cpp. Change-Id: I0ba68ee73b1099c8591a578f06f58db316631e8e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* don't run syncqt three times in debug_and_release configsOswald Buddenhagen2012-11-201-12/+14
| | | | | | Change-Id: Ifdf7727444779ffa79d9f2ec908d24d1e0663c21 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* don't set CONFIG+=release during build passesOswald Buddenhagen2012-11-201-2/+1
| | | | | | | | | | otherwise we get inconsistent builds. Task-number: QTBUG-28046 Change-Id: I7952000bfc8e02ced5fd2c1bbffab7384f2730c1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* make qt_tool support building bootstrapped toolsOswald Buddenhagen2012-11-161-2/+1
| | | | | | | | | | as a "side effect", this fixes the build of bootstrapped tools when doing a debug build under msvc: qt.prf would add CONFIG+=release after default_post.prf already loaded debug.prf. Change-Id: Idd17cf28d358950fd90bb18ca7a8d67e06953bc1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* add QLinkedList to bootstrap libOswald Buddenhagen2012-11-111-0/+1
| | | | | | | lrelease will need it. Change-Id: I929d8eeb4c2d342aaf780a4c72283deb051a7bec Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add (parts of) QtXml to the bootstrap libOswald Buddenhagen2012-11-081-3/+10
| | | | | | | | we bootstrap it anyway (as qdoc already needed it). now lrelease will also need it. Change-Id: I5117634448368e18d6cf5540d678e039a66c7260 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* compile bootstrap lib with QT_NO_TRANSLATIONOswald Buddenhagen2012-11-081-0/+1
| | | | | Change-Id: Ie0d65d69dd924f0815e1214adc4598e0e1b3b8f4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Generate a proper static QtBootstrap moduleOswald Buddenhagen2012-11-081-15/+22
| | | | | | | | | | | Making a properly installed libQtBootstrap simplifies our tools build process a little and in addition allows other comand line tools to use the bootstrap lib and link against it. Initial-version-by: Lars Knoll Change-Id: Iddf4568a5505bc24898ec1abf7e7022e19f0a454 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use -ffunction-sections in libbootstrap.aThiago Macieira2012-10-301-0/+1
| | | | | | | | | So that the linker discards unused functions too. Some of our .cpp are way too big Change-Id: I1a2685be6a5e7fd3cf34f18d545483c63c2343dd Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Rename the syncqt -qtdir to -mkspecsdirThiago Macieira2012-10-191-1/+1
| | | | | | | | | It's actually looking for the mkspecs (so it can read qconfig.pri to get the Qt version), so give it exactly what it wants. Change-Id: I2957b2d93a8837b8492d313209d45ff3ec01704c Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Centralize place where we ensure qdoc is built before generating docsTor Arne Vestbø2012-10-101-3/+0
| | | | | Change-Id: Ie0220d3c76990f6052edcd8c738e4e2807f35c71 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Tools: add QLibraryInfo to the bootstrapped library.Pierre Rossi2012-10-081-4/+10
| | | | | | | For future use by qdoc. Change-Id: Id9079a6fa581ff16810df9a8f2bb94314ee11ca9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* move syncqt call to qt_module_headers.prfOswald Buddenhagen2012-09-211-0/+13
| | | | | | | | | | | | | for one, the syncqt invocation is qt module magic and thus simply does not belong into the generic default_pre file. second, this way the forwarding header generation is now linked to the rest of the build magic for a particular module, which is way less confusing for the unsuspecting developer. Change-Id: Idc8e420d3faf173d7fff4a41e6e1c59af15c3023 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* build host tools in release mode againJoerg Bornemann2012-07-311-4/+1
| | | | | | | | CONFIG does not contain build_all anymore, thus we need to check QT_CONFIG in bootstrap.pr{i,o}. Change-Id: Ia505fa101adc49f185908ca575d3211caed612db Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Move the text codec list to qcoreglobaldata.Lars Knoll2012-07-311-1/+1
| | | | | | | | | | | This removes some global statics in QTextCodec and makes the code better to maintain in the longer term. Remove QT_NO_THREAD defines around mutexes as this isn't required in Qt 5 anymore. Change-Id: I15ede75f53b16f134f4053f3188c4b47e86fcd8a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change CONFIG += staticlib to CONFIG += staticThiago Macieira2012-06-281-1/+1
| | | | | | | That's the targetted, correct way of defining a static library. Change-Id: I43c23bf7e1bc5fb07bbb55720a320eaca680b038 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Clean up the use of QT_NODLLThiago Macieira2012-06-281-2/+0
| | | | | | | | | | QT_NODLL is replaced by QT_STATIC, but the latter is implied if QT_BOOTSTRAPPED is already defined. Therefore, simply remove the QT_NODLL definitions. Change-Id: Iac7ec0b494b7a78197c25d59547f45eaf92d7465 Reviewed-by: Mark Brand <mabrand@mabrand.nl> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* don't refer to module versions during bootstrapOswald Buddenhagen2012-06-191-2/+2
| | | | | | | | | | once we auto-generate the pris while building their respective modules, the versions won't be available during bootstrap yet. however, as these are core modules, their version is locked to the global $$QT_VERSION anyway, so just use that. Change-Id: I092f5e7d4dfe99c03e0df71f9409cac9be9f2297 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* properly declare the host tools as such in the project filesOswald Buddenhagen2012-06-191-0/+1
| | | | | | | don't mess with the qmake cmdline args any more. Change-Id: I399d87145d31d25e29951b6acd96387a3c7282f0 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* turn off exceptions by default where they aren't requiredLars Knoll2012-05-171-0/+1
| | | | | | | | | | | | | This significantly reduces the size of the generated code in places where we don't need exceptions. The -(no-)exceptions configure flag has been removed in the process, as there is now a fine grained way to control this on a per module level, and Qt is being compiled without exceptions in most places. Change-Id: I99a15c5d03339db1fbffd4987935d0d671cdbc32 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Properly implement a 'make docs' target for subdirs and apps/libsMarius Storm-Olsen2012-05-091-0/+3
| | | | | | | | | | | | | | Only call qdoc for projects which sets the QMAKE_DOCS variable to point to a qdocconf file. Exclude examples/ and tests/ from the qdoc run, by adding no_docs_target to CONFIG for those projects. Change-Id: Ic856c8f19db59309302d0602b3e99735609e525a Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Remove -DQT_NO_STL from the bootstrapped buildsThiago Macieira2012-04-071-1/+0
| | | | | Change-Id: I37ea06426b66e617a49ec46952abdaad8814eadf Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Compile QArrayData in bootstrap phase.Jędrzej Nowacki2012-03-291-0/+1
| | | | | | | | | This change will be needed during migration from QByteArrayData to QArrayData. Change-Id: I0c8d6f9ed3ef7c33af62736af55259a8f9a70c0f Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Disable QUrl support in QVariant in bootstrapped modeThiago Macieira2012-03-241-1/+0
| | | | | | | | | | The only use of QUrl in qmake, moc, uic and rcc is due to QVariant's internals, so let's disable it. This means those binaries are now probably a lot smaller since the parsing and IDNA code don't need to be present. Change-Id: Ie156b0817d119b2ba5d3dcb9712a9fea2ee7d4a1 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Include geometric variants when bootstrapping.Stephen Kelly2012-03-171-1/+4
| | | | | | | | They are needed by the qdbus tools. Change-Id: Ia1994f6a9bfa2ce1d526fd3e49370fd188ce5972 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge master into api_changesKent Hansen2012-03-161-9/+3
|\ | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp src/gui/kernel/qplatformsurface_qpa.cpp tests/auto/corelib/tools/qtimeline/qtimeline.pro Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
| * bootstrap: remove QtXml dependencyGiuseppe D'Angelo2012-03-141-9/+3
| | | | | | | | | | | | | | | | | | | | Only qdoc is now using QtXml classes, so just add them to qdoc.pro and drop them from the bootstrap library. Change-Id: I821839396141d1d7a2ada565a513aa46c54c9620 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Split up base class QFileDevice for open-file operations (read/write)David Faure2012-03-061-0/+1
|/ | | | | | | | | This will be used later on as a base class for QTemporaryFile and QSaveFile. Change-Id: Ic2e1d232f95dc29b8e2f75e24a881ab459d3f037 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add JSON support to the bootstrap libraryLars Knoll2012-02-151-0/+9
| | | | | | | | | | | The JSON support will get used in moc to support the creation of plugin metadata that's embedded into the plugin itself. Change-Id: I3bc52b16ca0a43bc8bf9141b450045c6183b7823 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>