summaryrefslogtreecommitdiffstats
path: root/bin
Commit message (Collapse)AuthorAgeFilesLines
* syncqt: remove 'descend' parameter from findFiles()Oswald Buddenhagen2018-02-281-11/+5
| | | | | | | | that parameter is never set, and if it was, it wouldn't work: the recursively found files were not qualified with the subdirectory. Change-Id: I24a3f74de3545c19bcd175c24ad1daf2af77a720 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* syncqt: fix fallback of -builddirOswald Buddenhagen2018-02-281-3/+5
| | | | | | | | | | | | | | | | | it needs to fall back to -outdir if only the latter is specified, as otherwise funny things will happen. this didn't affect the calls in qt_module_headers.prf (both options used) and the unix configure script (neither option used), but it affected configure.bat, and possible callers outside qt's build system, which apparently includes our packaging scripts. amends ede6c44756. Task-number: QTBUG-66626 Change-Id: I08633033c04152616545501490c9b3fb939cab6c Reviewed-by: Lionel CHAZALLON <longchair@hotmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* syncqt: fix injected headers outside qtbase in non-prefix buildsOswald Buddenhagen2018-02-151-3/+20
| | | | | | | | | | | in non-prefix configs, one has to differentiate between the module's own build dir and qtbase's build dir, because the forwarding headers are placed in -outdir under include/, while the actual headers end up in the real build dir under src/. Change-Id: I1d8ac904556b354bd113995316ba11dd6560a70d Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* syncqt: untangle loadSyncProfile() calling conventionOswald Buddenhagen2018-02-151-9/+10
| | | | | | | | | | | don't pass arguments, as the sourced sync.profile's make assumptions about the global variables' presence anyway. don't return a value, as it's ignored anyway. fix the documentation (also that of locateSyncProfile()). Change-Id: I7527546718b12737d7a4551a834d7f0ca26a8a7e Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* syncqt: prune dead $quoted_basedir variableOswald Buddenhagen2018-02-151-3/+0
| | | | | | | | amends f5a5272bc7a. Change-Id: I6bec21cb87f5e69d659836bc2b2a1e68af70a75c Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix macOS shadow prefix builds using pre-synced source packagesAlexandru Croitor2017-11-221-2/+3
| | | | | | | | | | | | | | For source packages that don't have a .git subdirectory, syncqt is executed before configure, with outdir set to srcdir, and this caused path misalignments for injected headers in qt_module.prf when generating makefile rules. The fix is to change syncqt to always output injected header paths relative to the source dir. Task-number: QTBUG-64539 Change-Id: Ia2296e44494093dbf124729062f430ad6fca7262 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix shadow prefix framework buildsAlexandru Croitor2017-11-021-7/+14
| | | | | | | | | | Bundle data source files which don't exist at qmake time need to be handled specially. This also required splitting the generated list of public headers, as was already done for private ones. Task-number: QTBUG-60413 Change-Id: I97acfa88622da6b73839b8f976f73ace3cb10223 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* don't try to timestamp injected qvulkanfunctions.hOswald Buddenhagen2017-03-221-2/+5
| | | | | | | | | | | | | | | the target of the injected forwarding header doesn't exist at qmake time, as it is generated by an extra compiler, so the touch() calls in qt_module_headers.prf would fail. the error scenario described in ce942a226 is not applicable to gui/vulkan, as no bootstrapped modules are involved. therefore, we can just suppress the timestamping. Change-Id: I1c9b6fcdf3717069fdbb654e3cb5d73b199192f4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* don't include injected headers into linker version scriptOswald Buddenhagen2016-10-141-0/+5
| | | | | | | | | | | it makes no sense to version them, as they contain only #defines anyway. it also removes the need to special-case their location in shadow builds with pre-synced headers, which we actually failed to do anyway. Task-number: QTBUG-56286 Change-Id: I4ea717f7be56494cfea0572389bea173d7470b6e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* exclude injected headers from headersclean checkOswald Buddenhagen2016-10-141-3/+5
| | | | | | | it makes no sense to check them, as they contain only #defines anyway. Change-Id: I8b36139ee19471de0654c5eb3af262d0389a72f7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-291-4/+4
|\ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/uikit/xcodebuild.mk tests/auto/other/lancelot/tst_lancelot.cpp tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Change-Id: Ia0ae2de86094120281abd445138877c2cc3e882c
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-281-4/+4
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qfiledialog.cpp tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp Change-Id: I34bc8a990f8f526889a95a5c7099ef557b9681ad
| | * syncqt.pl: fix a few misguided regexes to match .h file namesEdward Welbourne2016-09-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To match correctly (only) .h files, a regex needs to end in \.h$ Some of them missed the \, one missed the $. (The last also had a legitimate .* before its misunescaped .) One pair matched _p.h and _pch.h, which could be combined. Change-Id: I7539a28eb7017cd0f1b36c72e05108e03a68a952 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| | * syncqt.pl: also allow digits in upper-case macro namesEdward Welbourne2016-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The check for Q_... macros used a regex that didn't allow digits; it thus failed to match Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(). Change-Id: I3f9339349aa21e2fea04a7f53d9d8e0903e4c65b Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Add a QT_REQUIRE_CONFIG(feature) macroLars Knoll2016-09-161-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This macro expands into a static_assert and can be used to trigger a compile error if a certain feature is not available when trying to compile some code. This is especially useful to protect against accidental inclusion of headers that implement functionality related to a feature. Change-Id: I456c55b989ce5f35f3af0e13c1886a85c23dfe29 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Modularize the new configure system (infrastructure part)Lars Knoll2016-09-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change implements the required infrastructure to modularize the new configuration system. This requires a hierarchy of configuration files, both for handling multiple repositories and for individual modules inside the same repository. When configuring, they all need to get loaded first, as command line processing needs to know about all possible command line options. When the command line has been processed, the individual configuration files need to get processed one after the other and independently from each other. Configure is now automatically invoked when building the a project tree's "root" project; this works with both modular and top-level builds of Qt (the latter with an according change in the super repo). As an immediate consequence, the -skip option moves to the super repo with a different implementation, as configuration is now done after the repo list is determined. The option belongs there anyway. This commit also adds an optional testDir entry to the json file. Like this, we can still have all configure tests in qtbase/config.tests and the configuration file in, e.g., corelib can reference those. The files section can now be left out as long as a 'module' entry is present, specifying the module name. The names of the files to generate can then be deduced from that name. We still need to be able to specify names directly for the global configuration files. qtConfig() now also queries features which are module-specific. As it is sometimes necessary to query the configuration of modules which should not be actually linked (and cannot in the case of subdirs projects), the new variable QT_FOR_CONFIG which allows specifying configuration-only dependencies is introduced. Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Id1b518a3aa34044748b87fb8fac14d79653f6b18 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | minor optimization in stale file removal codeOswald Buddenhagen2016-09-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | don't bother opening headers.pri files, as they won't match anyway. Change-Id: I4d923266dabf1c9684fba4086f55bc24d76d23c5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | automatically exclude generated headers from syncqt checksOswald Buddenhagen2016-08-181-0/+4
| | | | | | | | | | | | | | | Change-Id: I349a132745165f8873eda351e86bf15c90156aaf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | make it possible to exclude private headers from syncqt include checkOswald Buddenhagen2016-08-181-1/+1
|/ / | | | | | | | | | | | | the limitation to public headers seemed pretty arbitrary. Change-Id: I0f2290fe09c8a6a70d056ec250b902be7049790e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.6.0' into 5.7v5.7.0-alpha1Oswald Buddenhagen2016-03-071-0/+1
|\| | | | | | | Change-Id: Idcda6d52266f557ce4a819b6669f6797473a48a2
| * Fix syncqt.pl not respecting #pragma qt_no_master_include in files with ↵Simon Hausmann2016-02-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | Windows line endings We need to do the same chop trick that we do further down the file. Change-Id: If4f832f375a11473e66adfcfa76a3b4504b3d406 Task-number: QTBUG-51324 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Add Intel copyright to files that Intel has had non-trivial contributionThiago Macieira2016-01-211-0/+1
| | | | | | | | | | | | | | | | | | I wrote a script to help find the files, but I reviewed the contributions manually to be sure I wasn't claiming copyright for search & replace, adding Q_DECL_NOTHROW or adding "We mean it" headers. Change-Id: I7a9e11d7b64a4cc78e24ffff142b506368fc8842 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-152-28/+40
|/ | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* syncqt.pl: say "ERROR" when it's an errorThiago Macieira2015-12-081-2/+2
| | | | | Change-Id: I0f2ce894387048f78465ffff141cdae9ea760175 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* syncqt: print errors and warnings to stderrThiago Macieira2015-12-051-6/+6
| | | | | | Change-Id: Ib056b47dde3341ef9a52ffff13ef5f6b8d21aeab Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* syncqt: fix false positives in header checkJoerg Bornemann2015-12-021-1/+4
| | | | | | | | | | Restore the condition for deciding what a private header is from fe383e04 to not check *_pch.h files and third party headers. This amends commit eddb938c. Change-Id: Idc55269478e7f2c98fb7debceef8a53c3cb5c657 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Remove duplicated header iteration codeJoerg Bornemann2015-11-271-37/+3
| | | | | | | | | | | Do not iterate separately over all header files. This removes duplicated header iteration code which already was out of sync. As a side-effect, we do run the header check only on header files that are considered part of the module, if moduleheaders is set in sync.profile. Change-Id: Iec4c8febe9128139d2f377a1da8ce08c24110a77 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Factor header check out into a separate functionJoerg Bornemann2015-11-271-65/+70
| | | | | | | | Another step towards the removal of the duplicated loop over header files. Change-Id: I542782627d8742a515a42034264e4569a2355823 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Simplify tests whether to run header checksJoerg Bornemann2015-11-271-6/+6
| | | | | | | | Turn lists into hashes and check for existence of an element using key lookup. This leads to simpler testing code and is potentially faster. Change-Id: Ibbf4f03ec64d6c295cc5e1664dfa73cd0ce8c272 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* make a proper header-only module for QtZlibOswald Buddenhagen2015-11-171-0/+1
| | | | | | | | | | that way other modules can use the headers without hacks. this required making the base directory for paths in headers.pri configurable in syncqt. Change-Id: Id35cfe05bcf4c576d3f2d0d8d09590a5e23d21d3 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* syncqt: complain if a public header includes a private oneThiago Macieira2015-10-151-0/+1
| | | | | | | | | We should even cause syncqt to exit, but that would cause developers trying to test something to be unable to. So leave it just with an "ERROR" message. That is hopefully enough. Change-Id: Ib056b47dde3341ef9a52ffff13ef5f8588b62b99 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Move the official Qt version from qglobal.h to .qmake.confThiago Macieira2015-10-141-7/+1
| | | | | | | | | It's easier to parse than qglobal.h. The objective is actually to have macros with parts of the version number, so the major or minor numbers could be used in other preprocessor macros. Change-Id: I42e7ef1a481840699a8dffff1404eda1dd5c308d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* syncqt: scan private headers for the "We mean it" commentThiago Macieira2015-10-021-26/+38
| | | | | Change-Id: Ib056b47dde3341ef9a52ffff13ef5f50c72d753d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* fixqt4headers.pl: Improve detection of Qt 5 location.Friedemann Kleint2015-04-221-19/+30
| | | | | | | | | | Obtain the location of the include files by querying the qmake variable QT_INSTALL_HEADERS by default, which can be overridden by the command line option. Task-number: QTBUG-45662 Change-Id: I03a781e9b98f5e2980dbaef86eedd05aec0103ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Implement a more direct headersclean checkThiago Macieira2015-04-171-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test each include file directly, instead of doing a large #include. This verifies that each header is compilable on its own. One big advantage of doing it via a special compiler in qmake is that we skip pre-compiled headers, which has hidden build errors in the past. This solution is implemented by making syncqt produce a second list of headers. This list is the same as the list of headers in the source code to be installed, minus the headers that declare themselves to be unclean, via the pragma: #pragma qt_sync_skip_header_check This mechanism is applied only for public libraries (skipping QtPlatformSupport, an internal_module). This test is enabled only for -developer-builds of Qt because it increases the compilation time. On QtTest: the library only links to QtCore, but it has two headers that provide inline-only functionality by including QtGui and QtWidgets headers (namely, qtest_gui.h and qtest_widget.h). If those two modules aren't getting compiled due to -no-gui or -no-widgets to configure, we need to remove the respective headers from the list of headers to be checked. If they are being built, then we need to make QtTest's build wait for the headers to be generated and that happens when qmake is first run inside the src/gui and src/widgets directories. Change-Id: I57d64bd697a92367c8464c073a42e4d142a9a15f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fixed license headersJani Heikkinen2015-02-172-2/+2
| | | | | Change-Id: Ibebe1318d1c2de97601aa07269705c87737083ee Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* support spaces in build and install dirsOswald Buddenhagen2015-02-171-0/+1
| | | | | | | | spaces in the source dir are not supported for now, as that requires some more profound refactoring of the bootstrap makefiles. Change-Id: Ie0c07a1558b8326f642f2ea144bc1cd85ee761af Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-112-44/+28
| | | | | | | | | | | | | | | | | | 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>
* Use the new warning enabling/disabling macros in qtbaseThiago Macieira2014-12-031-0/+1
| | | | | | Change-Id: I91ff06644e8047c2ca483f9768b46c1372eb6171 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* syncqt: Fix regexp capturing class names of partial specialisationOlivier Goffart2014-07-081-1/+1
| | | | | | | | | | | | Example with this code: "template <class Key> struct QHashNode<Key, QHashDummyValue> {" The previous regexp would take "QHashNode<Key," as some keyword, and "QHashDummyValue>" as the class name. By forbidding '<' in the keyword, we avoid such mistake Change-Id: I5d5077b9e5e764e91899bcaef137d99214ea5d63 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* nuke findtr scriptOswald Buddenhagen2014-05-211-229/+0
| | | | | | | | | | | it's a precursor of lupdate from the stone age. [ChangeLog][Tools] The obsolete findtr script was removed. Task-number: QTBUG-30900 Change-Id: Ic3efdc44df084573aec2512d8f86101832253d77 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* automate handling of generated headers some moreOswald Buddenhagen2014-02-281-4/+19
| | | | | | | | | | | | | | let the syncqt + qt_module_header.prf pair handle generation of forwarding headers. in qtbase this is ineffective to some degree, as the need to create QtCore's forwarding headers early for QtBootstrap requires qtbase.pro already doing the real work, but at least we get the verification that nothing breaks. Other Modules (TM) will need the full functionality. Change-Id: Ifd3dfa05c4c8a91698a365160edb6dabc84e553f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* de-duplicate header install source calculationOswald Buddenhagen2014-02-281-3/+1
| | | | | Change-Id: I7c26d70fdfceac6d3c562e704cc725fad80c4f59 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove duplicated nested conditionOswald Buddenhagen2014-02-281-14/+11
| | | | | Change-Id: I433773dbf21a7a7625d4f763b3cebe75c746aa1f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* un-pluralize codeOswald Buddenhagen2014-02-281-8/+5
| | | | | | | | since ever we've thrown out the phonon hack, each header is synced to only one location (CamelCase headers notwithstanding). Change-Id: Idfef33db9410908aefe309bc7a3edeae5fc5a671 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* merge %explicitheaders into %classnamesOswald Buddenhagen2014-02-281-18/+17
| | | | | | | | | | | | no need to have two mechanisms for the same thing. the values of %classnames can be comma-separated lists now, so one header can have multiple classes assigned. conversely, if an extracted class name reverse-maps to a different file name, it is omitted. Change-Id: Ia0a35d64764b6376f33b77bbfe59e1df70a3cf1a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove vestiges of uic class map codeOswald Buddenhagen2014-02-281-2/+0
| | | | | | | amends ad52be1ac. Change-Id: I2bfb10908217708c4f046d0d315dadd1b626da12 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-06-151-3/+8
|\ | | | | | | refs/staging/stable
| * don't process ANGLE and zlib headers like real qt modulesOswald Buddenhagen2013-06-101-3/+8
| | | | | | | | | | | | | | | | | | | | we run syncqt on them only to get normal forwarding headers and the headers.pri file. the module master include header and the module version header are useless, and scanning for qt class names just wastes time. Change-Id: I58e8d1eb36cea5c31cbd46ce673438316d1963dc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | don't touch deprecated headers unless they actually changeOswald Buddenhagen2013-06-121-22/+25
| | | | | | | | | | Change-Id: Iabeec90c2a6549cf92b3b8369a41764a576fd0aa Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>