summaryrefslogtreecommitdiffstats
path: root/src/tools/rcc/rcc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Update commercial license headers"Tarja Sundqvist2021-03-241-10/+10
| | | | | | | | | | | This reverts commit 81f474501aa0c7bfe2a206b303da022b72423e46. Revert of commercial license headers is required for Qt 5.15.3 opensource release. Task-number: QTBUG-91108 Change-Id: I3c477161af0e2d166f282da344d028fdd4cfca53 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* Update commercial license headersTarja Sundqvist2021-01-261-10/+10
| | | | | | | | | | | | | | | | | | | | Updated header.COMM to the files in tqtc-qtbase/src/printsupport, tqtc-qtbase/src/sql, tqtc-qtbase/src/testlib, tqtc-qtbase/src/tools, tqtc-qtbase/src/widgets, tqtc-qtbase/src/winmain, tqtc-qtbase/src/xml. The documentation files are not updated. The commercial license header may contain some additional lines so that its line count equals with the earlier license header. Reason for this is that some autotests use hard coded line numbers and a change in the line count causes failures in tests. Task-number: QTQAINFRA-4154 Change-Id: Ic0372da6cefd42319c4cf82a67bbbb409c1ebfc0 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* rcc: Make output deterministic for directoriesKai Koehne2020-09-251-16/+21
| | | | | | | | | QDirIterator is documented to be non-deterministic. Fixes: QTBUG-86675 Change-Id: I4161871a409bbaf85347ee6a60ef1189f56a1b22 Reviewed-by: hjk <hjk@qt.io> (cherry picked from commit 5d8f6beb4640d64a262fa918b47e0073ea39fbda)
* Use a QMultiHash explicitly if insertMulti() is being usedLars Knoll2019-12-121-3/+3
| | | | | | | | This is a step towards deprecating QHash::insertMulti() and clearly separating QHash and QMultiHash. Change-Id: Ic2c7665673ff00d4f2186e94850710b70330f8ba Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* rcc: Fix namespace handling for initializerSamuel Gaist2019-12-101-7/+13
| | | | | | | | | | | | | rcc currently always writes the namespace mangling macros in both the initializer constructor and destructor. This patch add the missing handling of the --namespace option for that part of the generated code. [ChangeLog][Tools][rcc] rcc now generates correct code when using the --namespace option. Change-Id: I7e5e608eb0ad267d11d601fc69c1a87d3f655a6e Fixes: QTBUG-80649 Reviewed-by: hjk <hjk@qt.io>
* Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-06-271-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/network/ssl/qsslsocket_openssl.cpp Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: Ibb57a0548b4977797b400637487a56245ac1c024
| * RCC: Change the default compression to ZlibThiago Macieira2019-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Codebases using QResource::isCompressed() and assuming it is Zlib break if zstd is enabled. So change the default back to Zlib until Qt 6.0. [ChangeLog][Important Behavior Changes] RCC's default compression algorithm was changed back to Zlib, as it was in all previous releases until 5.13.0. The default will remain Zlib for all Qt 5.x releases but will change in Qt 6.0. To activate Zstd compression for your resources, either pass the --compress-algo=zstd option to the rcc tool or add the XML attribute compression-algorithm="zstd" to the <file> tags in the .qrc file. Task-number: QTBUG-76521 Change-Id: Ief874765cd7b43798de3fffd15a9f56fd9ad1ad4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | rcc: Avoid needless use of macrohjk2019-05-281-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strlen on literals gets typically optimized out nowadays. Adjust callee side to handle the off-by-one between sizeof(literal) and strlen(). Change-Id: I1551f69a160922681d66024701ba1bd8f6dc03bf Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | QRegExp include cleanupSamuel Gaist2019-04-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QRegExp includes can be found in several files where there's not even a use of the class. This patch aims to avoid needless includes as well as follow the "include only what you use" moto. This patch removes a QRegExp include from the QStringList header which means that there is likely going to be code breaking since QStringList is used in many places and would get QRegExp in. [ChangeLog][Potentially Source-Incompatible Changes] qstringlist.h no longer includes qregexp.h. Change-Id: I32847532f16e419d4cb735ddc11a26551127e923 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | rcc: Avoid raw string literalshjk2019-03-201-23/+12
| | | | | | | | | | | | | | | | Subjective, but for me its easier to follow code flow if indentation is not interrupted. Change-Id: If811ba1b975189c94a671627be8eb3a1fd67aeb9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | rcc: Support Python as output formathjk2019-03-071-25/+176
|/ | | | | | | | | | | | Start with rcc -g python|python2 $name.qrc. [ChangeLog][rcc] Added support for Python as output format. Done-with: Friedemann Kleint <Friedemann.Kleint@qt.io> Fixes: PYSIDE-855 Change-Id: I97a642c3721d6d95b7cd0972d21abb0b2752fd4f Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix compilation with QT_NO_COMPRESSAlbert Astals Cid2018-12-211-1/+1
| | | | | Change-Id: Iabd57782458874abbc6b553b5e255a6b614de023 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* rcc: Use SOURCE_DATE_EPOCH for mtimeBernhard M. Wiedemann2018-12-141-0/+3
| | | | | | | | | | | | | | Use the standard variable name in addition to the QT-specific one to make builds reproducible out-of-the-box. See https://reproducible-builds.org/ for why this is good and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable. Task-number: QTBUG-62511 Change-Id: I401a2a9d258e751b83ae7b83f4100d9088b9ad71 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Resources: reject compressed content we can't decompressThiago Macieira2018-12-121-10/+68
| | | | | | | | | | | | | | | | | | | This solution is composed of two features: 1) C++ code generated by RCC uses two symbols exported from QtCore that are only present if the feature was compiled in. If the feature was not compiled in, this will cause a linker error either at build time or at load time (if they were functions, the error could be at runtime). 2) Binary files generated by RCC have a new header field containing flags. We're currently using two flags, one for Zlib and one for Zstandard. This means we now have binary RCC format version 3. Change-Id: I42a48bd64ccc41aebf84fffd156545fb6a4f72d9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* RCC: introduce compression algorithm "best"Thiago Macieira2018-12-111-0/+11
| | | | | | | | | | | | | | | | | | | This compression algorithm is permitted in the XML sources, which instructs RCC to apply the best compression algorithm it has available. If we have Zstandard available, that's its level 19 (levels 20 and up are experimental). If not, we apply zlib compression level 9. And apply this technique for the XDG MIME database that is built-in to QtCore. Payload size Compr. time Previously 313916 17.9ms Zlib -9 310899 53.6ms Zstd -14 253364 63.3ms (plus 4.0 ms on L1 heuristic check) Zstd -19 230647 642.5ms Change-Id: I343f2beed55440a7ac0bfffd1562de44dbaf09cd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* RCC: Add support for Zstandard compressionThiago Macieira2018-12-111-2/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][RCC] RCC now supports compressing content using the Zstandard (https://zstd.net) algorithm. Compared to zlib, it compresses better for the same CPU time, so this algorithm is the default. To go back to the previous algorithm, pass command-line option --compress-algo=zlib. Compression levels range from 1 (fastest, least compression) to 19 (slowest, best compression). Level 0 tells the library to choose an implementation-defined default. \ The default compression level is "heuristic" (level -1): under this mode, RCC will attempt a very fast compression (level 1) and check if the file was sufficiently compressed. If it was, then RCC will compress again using an implementation-defined level. The following are the 4 biggest files we store as resources in qtbase: Orig Size Name 2197605 src/corelib/mimetypes/mime/packages/freedesktop.org.xml 2462423 tests/auto/corelib/tools/qchar/data/NormalizationTest.txt 6878748 tests/auto/other/qcomplextext/data/BidiCharacterTest.txt 7959972 tests/auto/other/qcomplextext/data/BidiTest.txt The current RCC (zlib, level -1 "default" and level 9), produces for those files: L(-1) Compr. L9 Compr. Decomp. Name Ratio CPU time Ratio CPU time CPU time BidiCharacterTest.txt 16.9:1 106.1ms 17.2:1 789.3ms 5.1ms BidiTest.txt 6.3:1 228.0ms 6.1:1 1646.3ms 10.9ms freedesktop.org.xml 7.0:1 17.5ms 7.1:1 53.6ms 2.6ms NormalizationTest.txt 5.8:1 41.2ms 5.9:1 256.4ms 3.4ms Zstandard produces the following for levels 1 ("check"), 14 ("store") and 19 ("best"): L1 Compr. L14 Compr. L19 Compr. Decomp Name Ratio time Ratio time Ratio CPU time time BidiCharacterTest.txt 15.8:1 8.0ms 26.1:1 168.9ms 49.2:1 2504.7ms 3.8ms BidiTest.txt 8.2:1 17.0ms 8.7:1 323.9ms 14.9:1 1700.9ms 12.1ms freedesktop.org.xml 6.7:1 4.0ms 8.7:1 63.3ms 9.5:1 642.5ms 1.7ms NormalizationTest.txt 5.7:1 5.0ms 7.5:1 54.0ms 8.4:1 447.3ms 3.0ms This shows use of zstd at the default RCC level settings always produce smaller outputs compared to the current zlib-based defaults, with roughly 50% CPU increase. It also produces better results at less CPU time than the best compression zlib has to offer. More importantly, the decompression time reduces in all cases (the numbers listed are for max compression, with slightly better results for the defaults). For the sake of comparison, the same files compressed with libxz at levels 3 and 6: Level 3 Level 6 Decompr. Name Ratio CPU Ratio CPU time BidiCharacterTest.txt 28.5:1 109.1ms 42.9:1 1390.5ms 16.7ms BidiTest.txt 10.7:1 281.0ms 18.4:1 2333.1ms 43.6ms freedesktop.org.xml 9.1:1 62.0ms 10.2:1 499.1ms 12.0ms NormalizationTest.txt 10.2:1 75.5ms 13.2:1 417.6ms 14.7ms LZMA at level 3 consumes roughly the same CPU time as Zstd at level 14 and produces incrementally smaller results, but the decompression time increases considerably. It's not a good trade-off for the Qt resource system. Change-Id: I343f2beed55440a7ac0bfffd1562d754bd71d964 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* QResource: add support for resources compressed with ZstandardThiago Macieira2018-12-111-0/+1
| | | | | | | | | | | | | | | | | See next commit for details on why this is a good idea. [ChangeLog][Important Behavior Changes] The Qt resource system now supports compressing content using the Zstandard (https://zstd.net) algorithm. Compared to zlib, it compresses better for the same CPU time, so this algorithm is the default. QResource::isCompressed() returns true for either compression algorithm. Use QResource::compressionAlgorithm() to find out which algorithm to decompress. QFile will automatically decompress using the correct algorithm. Change-Id: I343f2beed55440a7ac0bfffd1562e9a8f94933a7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* RCC: Modernize the compression algorithm selectionThiago Macieira2018-12-111-18/+86
| | | | | | | | | | | Instead of using compression level -2 to indicate no compression, introduce CompressionAlgorithm::None and an equivalent XML attribute. This commit includes some extra error checking for RCC. Change-Id: I343f2beed55440a7ac0bfffd1562d64b024463ba Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* rcc: don't drop entries with missing files in -list modeOswald Buddenhagen2018-05-071-11/+7
| | | | | | | | | | | | | the files may not exist _yet_. this change allows dynamically generating the resource contents. the ignoreErrors parameter is renamed to listMode and made less aggressive, to better reflect the actual usage. Change-Id: I2f6a75a23f1ef903f0d957f9a09f4df0ce2a2b35 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* rcc: prune dead wildcard matching codeOswald Buddenhagen2018-03-291-32/+29
| | | | | | | | | | | | | | | | clearly, rcc was meant to support wildcard patterns in <file> entries. however, since its inception, this code was broken: the exists() check was done first, so the decomposition into path and wildcard would never happen. as actually supporting wildcards woulds just complicate matters, simply remove that dead code. on the way, re-arrange the code in a way that is advantageous for subsequent changes, and insert a case that catches non-regular file nodes (this would have previously run into the wildcard code). Change-Id: Iac1a168b844ef5b176f6cc45d6a779fde0bec6f7 Reviewed-by: hjk <hjk@qt.io>
* Allow to override resource file dateBernhard M. Wiedemann2017-11-131-1/+5
| | | | | | | | | | | | | | because some packages create resource input files at build time and thus get the build date embedded in binaries, so that they differ for each build. See https://reproducible-builds.org/ for why this matters and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable. Task-number: QTBUG-62511 Change-Id: I8908ac6182fab066e6ea398df2567f6d050c77e7 Reviewed-by: hjk <hjk@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-131-11/+18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/network.pro mkspecs/features/mac/default_post.prf src/corelib/io/qfilesystemengine_win.cpp src/corelib/io/qprocess.cpp src/corelib/io/qprocess.h src/corelib/io/qprocess_p.h src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/corelib/thread/qmutex.cpp src/platformsupport/fontdatabases/windows/windows.pri src/plugins/platforms/eglfs/eglfsdeviceintegration.pro tests/auto/corelib/io/io.pro Change-Id: I8a27e0e141454818bba9c433200a4e84a88d147e
| * Make it possible to specify the RCC data version formatSimon Hausmann2017-02-281-11/+18
| | | | | | | | | | | | | | | | | | | | After commit d20773824529d191e7b483b505107dce6c1b1c3d we unconditionally write version two, but it seems useful to allow users to specify the version explicitly. Change-Id: I81d3de3d7f87318653f89bf10e3618becd8329d6 Task-number: QTBUG-58769 Reviewed-by: hjk <hjk@qt.io>
* | Use QString::asprintf(), QStringBuilder, and the multi-arg overload of ↵Alexander Volkov2017-01-121-2/+3
|/ | | | | | | | | | | | | QString::arg() ... instead of sequential .arg(const QString &) callings. It saves memory allocations and prevents unexpected results if replacing strings contain place markers. Found with clazy's qstring-arg check. Change-Id: I3912275a6e11c6fb7559ff5623f2e8cde9b7f07a Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix missing last modification time stamp in qrc contentSimon Hausmann2016-11-221-4/+42
| | | | | | | | | The time stamp is added at the end of the node information and consequently this also bumps the version. Task-number: QTBUG-57182 Change-Id: Ia10e006f28c0b168b2bcd74ed8b7098f84d10af3 Reviewed-by: hjk <hjk@qt.io>
* Use QStringBuilder more to optimize memory allocationsAnton Kudryavtsev2016-09-151-3/+1
| | | | | Change-Id: I2939ffa10496fdc59e0402a9cb54458565ccd657 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* rcc: eradicate all Q_FOREACH loopsMarc Mutz2016-01-261-1/+2
| | | | | | | ... by replacing them with C++11 ramge-for loops. Change-Id: I95a91ac36c2b2bef17bf12cf7f1676653a2d807d Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Updated license headersJani Heikkinen2016-01-211-17/+12
| | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* tools: mark some types movable/primitiveMarc Mutz2015-07-221-0/+1
| | | | | | | They are held in QList or QVector. Change-Id: Ic0e379560e554e5cd3de4319e402ec1655e77874 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Merge remote-tracking branch 'origin/5.5' into HEADSimon Hausmann2015-07-171-1/+2
|\ | | | | | | | | | | | | Conflicts: src/plugins/platforms/windows/qwindowsopengltester.cpp Change-Id: Ia7abeba9395ccf84e2fa81b91a5725a86dedb9fe
| * Rcc: Do not output empty lines when listing .qrc contentshjk2015-07-081-1/+2
| | | | | | | | | | | | | | | | | | Previously, directory nodes in the resource tree generated empty file names in the --list output. They do not add value. Change-Id: I04ac495ba5f57802de9796ec663c28facfee89f2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Warta
* | rcc: make qt_rcc_compare_hash a functorMarc Mutz2015-07-131-5/+9
|/ | | | | | | | This allows the compiler to inline the function call into the std::sort instantiation. Change-Id: If2b948c1d7202d6a81afd8a58cc9fab50a9709c1 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.4' into 5.4.0" into ↵Jani Heikkinen2014-11-111-0/+2
|\ | | | | | | refs/staging/5.4.0
| * Rcc: ensure enough space for the embeddedhjk2014-11-051-0/+2
| | | | | | | | | | | | | | | | | | The two-pass feature depends on the QRC_DATA signature that needs to be stored in the array later overwritten by the embedded data. Task-number: QTBUG-42359 Change-Id: Ida1ccff40dda28f92a4267f86f48ee96d62bd214 Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
* | rcc: Replace all occurrences of the marker in two-pass modehjk2014-11-111-23/+27
|/ | | | | | | | | The marker can occur legitimately twice e.g. on iOS with universal binaries. Change-Id: Ie334bcd104d45140ff969f44230e6de2212e8e25 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
* Add extra declarations to make rcc output pass -Wmissing-declarationshjk2014-10-251-0/+12
| | | | | | | | | | The previously produced code was valid C++. Add the declaration nevertheless to help people who want to use the switch in their own code. Task-number: QTBUG-42119 Change-Id: Ia47cf3930684474ff65e5cf37335d7d7f57a1d31 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Account for the country/language settings when checking for duplicatesAndy Shaw2014-10-101-4/+11
| | | | | | | | | When a file has the same alias but a different country or language setting then it should not warn about it being a potential duplicate. Task-number: QTBUG-19286 Change-Id: I60a9c422ff02214399bdea3791374a65c9f6c604 Reviewed-by: hjk <hjk121@nokiamail.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* rcc: String literal conversion cleanupKai Koehne2014-07-231-5/+5
| | | | | | | | Replace QString::fromUtf8 with QString::fromLatin1 for ascii strings. Also optimize use of QT_VERSION_STR. Change-Id: I13c683499c56cb4ac4d2bbd9b6b53c337917e347 Reviewed-by: hjk <hjk121@nokiamail.com>
* RCC: Use macros not defined in qglobal.hhjk2014-07-161-12/+12
| | | | | | | | | This prevents conflicts in case of link time optimizations or precompiled headers are used since we don't include qglobal.h in the generated code. Change-Id: I4266c8ae38e6eafefd28b3bde5cb725a24d67ea0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make RCC handle bigger binarieshjk2014-06-061-43/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | Traditionally, RCC in "C mode" was meant to bundle small resources into a binary, like help texts or an occasional icon. RCC produces a .cpp file containing the actual data in a char array which is then passed to the compiler and linker as a normal source file. Larger resources should be compiled in RCC's binary mode and loaded at run time. Current Qt Quick use tries to deploy large hunks of data in "C mode", causing heavy compiler/system load. This patch works around the issue by splitting the process into three parts: 1. Create a C++ skeleton, as usual, but use a placeholder array with "easily compilable" (mostly NULs) data instead. 2. Compile the skeleton file. 3. Replace the placeholder data with the real binary data. time (qmake5 ; make clean ; make) takes 1.3 s real time for a 100 MB resource here, and there is still room for improving patching performance if really needed. Change-Id: I10a1645fd86a95a7d5663c89e19b05cb3b43ed1b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* RCC: Avoid some needless to/fromLatin1 cyclehjk2014-06-031-10/+11
| | | | | Change-Id: I70f330ee5ce083fb90f0c6d70e5b99063bc6e974 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Remove qSort usage from rccGiuseppe D'Angelo2013-09-031-2/+4
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I09dc82b7f9509f73c7b8b9c16a08fefb8ca0b8a5 Reviewed-by: hjk <hjk121@nokiamail.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove the timestamp info in genarated filesLiang Qi2012-12-151-3/+1
| | | | | | | | | | | | | For moc, rcc and uic, then it's friendly for tools like ccache. ccache is using md5 to check file modification, but the different timestamp info will cause different md5 for same meaningful contents, it will disabled ccache. Updated the autotest for uic and rcc. Task-number: QTBUG-26589 Change-Id: I9f1dcf6cd826ad9603af6e183757bcd748c32bd1 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Set the Directory flag when we find a directory.Stephen Kelly2012-10-261-1/+1
| | | | | Change-Id: I103a0b8e7b7ba673d00f920944026d7d04fac193 Reviewed-by: hjk <qthjk@ovi.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* make src/tools/ compile without CamelCase headersOswald Buddenhagen2012-09-191-10/+10
| | | | | | | | so the build works with syncqt -minimal Change-Id: Ief5e8eb9a504dd6c84cff76cc3e5257450386a0f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Generate a fatal error as appropriate.Stephen Kelly2012-07-161-1/+3
| | | | | | | | | | | | | | Otherwise, subdirectories under directories which are added to a resource file generate garbage in the binary. The easiest way to see this is cd tests/auto/corelib/kernel/qvariant mkdir stream/qt4.9/somedir make && ./tst_qvariant loadQt4Stream Change-Id: I32630ecb6d515db1d135f0ffc5cf14fd8caa0a4f Reviewed-by: hjk <qthjk@ovi.com>