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>
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>
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>
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>
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>
Another step towards the removal of the duplicated loop over header
files.
Change-Id: I542782627d8742a515a42034264e4569a2355823
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
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>
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>
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>
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>
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>
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>
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>
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>
Change-Id: I91ff06644e8047c2ca483f9768b46c1372eb6171
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
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>
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>
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>
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>
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>
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>
now that we split out the part that depends on the project file, we can
do it cleanly here.
this way we can generate these headers at pre-build time already.
and for git builds, perl is probably faster than qmake at this task.
Change-Id: I343255c6de22329471a3ae2c2aac9ebeb160a501
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
this avoids that syncqt needs to forward to a yet unexisting file (which
will have a yet unknown location, when syncqt is run at packaging time
already).
the %inject_headers syncqt config variable remains, so it can be told
not to purge "foreign" files.
Change-Id: I127ff6e0b7d5702fb0acaee9a5b7940b482d3608
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
there is no particular reason for it being done by qmake.
avoids that the logic is distributed over two source files,
and allows us to generate these headers at pre-build time already,
including not forwarding to a yet unexisting file (which would have a
yet unknown location).
Change-Id: I9c78ab425cf6f01d076c86fd1ee602626f231487
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
instead, rename it to syncqt.pl and rely on qtPrepareTool()'s new
ability to correctly invoke it as a perl script even under windows.
the wrappers themselves have been trivial at this point, so there is no
added value in keeping them, either.
Change-Id: I77cf65edbcfaa48ed1900defe940d4eb4b82d5b9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Normalize paths that begin with <drive_letter>:/ as well.
Task-number: QTBUG-30638
Change-Id: Icdc7ee9782a358771d06ae2500d32e59e6bbe866
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
the // operator is a tad too new.
Task-number: QTBUG-30637
Change-Id: I3672d41a4a17937ffea251f0937b09045d6c386d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
we just generated them, and they really don't need QT_{BEGIN,END}_*.
Change-Id: Ib7b2454ae80762e644d9667106960cc7632f90fc
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
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>
This is because on some systems, /usr/bin/perl is too old to
run syncqt. MSYS is one such system.
Change-Id: I3e1aa2db557cc3919618350775e7218ae05aa93f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Addon modules may not be in the standard Qt namespace and therefore do
not use the QT_{BEGIN,END}_NAMESPACE macros. Instead module specific
QT_{BEGIN,END}_NAMESPACE_FOO macros are used. Extend the syncqt test
to allow for this and ensure that the QT_END_NAMESPACE suffix matches
the QT_BEGIN_NAMESPACE suffix.
Change-Id: I33110c01118b0fb4376307db7447f747fc38bb29
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
it would have taken only the last line, which is clearly wrong. as
nobody noticed this, the handling is clearly not needed.
Change-Id: I6f4f45ce8c90cb9b0ef60abbaa5ed49b54d8b47d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
The QT_{BEGIN,END}_HEADER macros have never worked and
might be potentially removed.
Also removing the list of blacklisted files from sync.profile
Change-Id: I601969cf8eddf3908c3ad46f63af9434670d4046
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Commit 003860b5 introduced QtMultimedia, but with a typo. It broke the
script.
Change-Id: Ie3fd536d90f52419818f36ba1b28d437b965dcdc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
the source paths need to be made relative to the main source dir
Change-Id: I98d74eca7e54d1179ab602bb87b96b66f3193ce4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
all modules have been migrated to auto-generation
Change-Id: Ie7b3ebfd735a22f8e0b0339909b6385508d7a6b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
QtQuick1 is QtDeclarative again, so there's no header
file renaming needed. But Multimedia got renamed from
multimediakit and this needs to be included.
Change-Id: Ie787d6841f0525e1dc290f7ca8d9cae148308e32
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
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>
Do not print warnings when stop-processing pragma was encountered.
Change-Id: I0dd3b317b3a685afe613527988eb137325037e16
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
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>
we don't need it any more, as the makefiles are self-contained now.
Change-Id: I1a560a8331856e246e03c55ec1b1dd1a5cb112e4
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
the bootstrap does not need CamelCase includes, deprecated headers and
whatnot, so just don't do it. the full thing will be run on qtbase by
qmake.
Change-Id: Idffdd4750a73574c8c32ee75d00080abfe37e03c
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
I've introduced a variable $post_kw (post-class-keywords) that
contains the patterns which are expected after a class name.
This variable is used both for a negative look-ahead assertion
in the class-name capture (so the regex doesn't parse the
keywords as the class-name), as well as to carry the parser
over the keywords into the subclass clauses.
Change-Id: Ia534ca01a511e1c773d007f1b0b4f448e8d009d0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This removes the bogus warnings when running
syncqt from configure about snippets in the doc/
folders.
Change-Id: I8e3d258238c1cd1e763ce63b895d58b68bbc06f3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
sort backwards by ascii, so that the lowercase headers come first -
otherwise the camelcase headers would survive the first round, as they
include the lowercase forwarding headers which were not deleted yet.
Change-Id: Iece2788206d31a11428f38da8d8f9f4d0b6dc992
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
... instead of having a forward from the include dir to the (shadowed)
source dir of the module.
Change-Id: I967227950e8aeb1b9f62befbf9fff3746a0486b6
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
now that all modules have migrated, this dead code can be removed.
Change-Id: I5e9c7dd3fb271346d1b5f0e2930874da3e4d2d57
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
now that all modules have migrated, dispose of the clutter.
Change-Id: Ib8937c1452536f645b76c0097b927df1108afc1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
As discussed on mailing list and QtCS 2012.
Any file starting with qwindowsystem is now marked as
QPA API.
This change drops _qpa from the filenames and adds gui-private
where required for the code to compile. This change is backward
compatible otherwise and compat headers are created for
the old inclusion headers.
Change-Id: I72ea0f394dee74f46e614fcf11ab5500ac9fef2a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
that way qmake is made aware of the forwarding pris which are generated
for this module even when a top-level .qmake.cache prevents the module's
root from being found automatically.
the path is also added to the cache, so that subsequent partial
qmake-ing of the tree will still find the module.
this also makes the -cache-module-fwd parameter of syncqt useless, so
remove it.
Change-Id: I2afbc52a465c0b3260e9bcaf032c43a82ae8061f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
this has the advantage that the %mastercontent assignments in sync.profile
are not necessary any more. as it happens, most modules got them wrong
anyway.
Change-Id: Ibdf689be408f18e1d90c44ef4ecacd7c24b1f1c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
instead of writing the same file twice, just forward to the compat
header, like it is done for every other header.
Change-Id: I8c908f80149aff4720cca6d51ab5b550c31f78b1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
it's module-specific.
on the way, fix it to actually support multiple files.
Change-Id: I796b0e98e38a54754022e0e2fa48cecb54d06ff4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
qmake-generated version headers don't exist yet at the time syncqt runs,
so the forwarding headers would be deleted - just to be re-created a
moment later, thus changing the timestamp for no good reason.
Change-Id: I1b4c2f05f57c2315adf4b8dd726ea413ede1be5b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
the forwarding pri is loaded even if it was still created by syncqt, so a
top-level qmake -r will still catch it even in the future.
Change-Id: I2e4b556cd06eb88be9ee378662a2e6e1bff67ad7
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
this makes qmake find them automatically now.
consequently, also do not write QMAKE_EXTRA_MODULE_FORWARDS to
.qmake.cache. still write the cache file, though, as otherwise a
top-level cache would mess up the module root detection.
Change-Id: I998b94fcc73ca3f8bf1af09a394ff8d40cf1fb76
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
instead, always pass -qtdir (which, btw, is a slight misnomer - it
should be -qtdatadir) with the correct path. this centralizes the
relevant logic in default_pre.prf.
Change-Id: Icc788d3f3e5f7b68b444e63e181efdea3b4ef160
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
now the phonon paths are actually normalized.
just relying on File::Spec for the path relativization, so the code is
much shorter.
Change-Id: I69d6bac73e366ed0f754e1282a375871ce5559c4
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
for one, the input paths are already absolute.
second, if a path does not exists, abs_path will fail, which makes the
fallback code which tries to create them rather pointless.
Change-Id: Ie56ff09313e48e82e8bc8e8f06eca384644de464
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
The common root dir detection was broken, because
of an inconsistent root drive path style:
<srcbase> = /c/dev/qt/5.0/qtbase
<outbase> = C:/dev/qt/5.0/qtbase
Now we don't need ActivePerl anymore.
The Perl that comes with msysgit is enough.
After every Perl function call that returns a file path
we need to normalize it to bring it into a form that can
be used by
- Perl functions that take a path as parameter,
- C++ sources as include file path,
- qmake's .pro files as include file path.
Task-number: QTBUG-25912
Change-Id: If1cf56cc7246a9d6535cd3867222f225d1617712
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
syncqt is run twice when using the top level configure (as in
the CI system). The pri_install_files and pri_install_pfiles
variables are not populated if the file already exists when
generating the compatibility headers.
Therefore, headers.pri ends up with different content in
each syncqt run. In the first run, the compatibility headers
are part of SYNCQT.HEADER_FILES. In the second run, they
are not part of it since the header files already exist.
Change-Id: I4908fb934a639a3c9f6af1796d56a40fd4df2d50
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
qpa header files were not installed under qpa/.
Change-Id: I243c3a7e83a342f7485791a1a29b65c9a8f25d6b
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
The main reasons for doing this are:
1. _qpa.h end up in the master QtGui include file. QtGui is meant for
userland applications. qpa code is neither binary nor source compatible.
Inadvertant use of QPA api makes the user code binary-incompatible.
2. syncqt creates forwarding headers for non-private header files. This
gives people the impression that this is public API.
As discussed on the mailing list, even though QPA api is internal and subject
to change, it needs to treated differently from private headers since they
will be used by in-qtbase and out-of-qtbase plugins.
This commit does the following:
1. The _qpa in QPA header files is dropped.
2. syncqt now treats any file with qplatform prefix as a special file and
moves it to qpa/ directory. The recommended way of using QPA API in plugins
is: #include <qpa/qplatformfoo.h>. This allows the user include QPA API
from multiple modules (for example, qplatformfoo might be in QtPrintSupport)
3. The user needs to explicitly add QT += <module>-private to get access to
the qpa api.
4. Creates compat headers for the olden style qplatformfoo_qpa.h and QPlatformFoo
includes.
This commit does not change the cpp filenames. This requires a more careful
merging of existing non qpa cpp files and existing cpp files on a case by
case basis. This can be done at anytime.
The following files are not renamed as part of this changed but will be fixed
as part of a future change:
src/gui/kernel/qgenericpluginfactory_qpa.h
src/gui/kernel/qgenericplugin_qpa.h
src/gui/kernel/qwindowsysteminterface_qpa.h
files were renamed using
for x in `find . -name "qplatform*_qpa.h"`; do git mv $x "${x/_qpa.h/.h}"; done
for x in `find . -name "qplatform*_qpa_p.h"`; do git mv $x "${x/_qpa_p.h/_p.h}"; done
includes were renamed using script
for file in `find . -name "*.h" -or -name "*.cpp" -or -name "*.mm"`; do
sed -i -e 's,.*#.*include.*<\(Qt.*/\)\?\(QPlatform.*\)>,#include <qpa/\L\2.h>,g' \
-e 's,.*#.*include.*"\(Qt.*/\)\?\(QPlatform.*\)",#include <qpa/\L\2.h>,g' \
-e 's,.*#.*include.* "\(qplatform.*\)_qpa.h",#include <qpa/\L\1.h>,g' \
-e 's,.*#.*include.*"\(qplatform.*\)_qpa_p.h",#include <qpa/\L\1_p.h>,g' \
-e 's,.*#.*include.*<\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)>,#include <qpa/\2\3>,g' \
-e 's,.*#.*include.*"\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)",#include <qpa/\2\3>,g' \
$file
done
Change-Id: I04a350314a45746e3911f54b3b21ad03315afb67
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
When modularizing our documentation, module level
documentation is supposed to go into a doc
subfolder in the modules sources. Since this folder
also contains header files (snippets), we need to ignore
it in syncqt.
Change-Id: If8159816b042a1a6c810eaa0b6dbd99bf58d8ffa
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
That includes non-standard macroses for QtAddOns, e.g. for QtJsonDb addon the
macro looks like QT_BEGIN_NAMESPACE_JSONDB - by default syncqt doesn't
recognize the macro and concantenates it with the next line in the header file,
which breaks forward include generation if that next line is the class
definition.
Change-Id: Ia269f8a091113e4951d6a2615ef392b21bd5e3a3
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
The test is marked as fail if qmake or make fails.
Change-Id: I565c68af4a9271d7aa36fb592ac399aa728ba4d8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
If a deprecated header file is not writable, report the error message.
The existing error message statement is not processed due to an
operator precedence issue.
Change-Id: Ifb2d4e234c64e560d05c021c621966bce19ce215
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
When creating a deprecated header, create the directory it will be
located in, if it does not yet exist.
Change-Id: Id0ac7327e7dfe5b3e34b431c7bc3844b72251a3d
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>