Compare commits

...

325 Commits

Author SHA1 Message Date
Alexandru Croitor
5ef4ad5e90 Merge remote-tracking branch 'origin/dev' into wip/cmake
Bringing in new SHA1s, and updated cmake-specific configurations.
Intended for Qt6 Installer essentials package creation.

Conflicts
        coin/platform_configs/default.yaml
        coin/platform_configs/qt5.yaml

Change-Id: I6abc2d952ae75785e34b70977e41018a72acf5bc
2020-06-15 13:24:54 +02:00
Mike Krus
df53ff5f85 Add Qt3D back to addon list and update submodule
Getting ready for Qt 6 inclusion.

Change-Id: I5e823ba5c9c0e42cb9afc3ce32d68fa44322f21a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-13 20:41:58 +01:00
Mike Krus
5eb89fa898 Add Qt3D Coin config file
Change-Id: I65f7fc2bd972484e82e0479311a41b364ace908c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-13 20:41:54 +01:00
Alexandru Croitor
3b7da852e6 CMake: Fix a lot of failing tests on MinGW 32bit due to debug symbols
When building a RelWithDebInfo configuration, the debug symbols for
the libraries are embedded into the .dlls. This causes the file size
to be really big (around 400MB for libQt6Gui.dll). On a 32-bit system,
the Windows loader failed to map such big libraries into memory,
and thus certain tests failed with exit code 0xc0000017
which means STATUS_NO_MEMORY.

The solution is to enable the separate debug info feature, to split
the debug files into separate files, just making they dlls nice and
small.

This should fix quite a few of the failing MinGW 32-bit tests for
qtdeclarative, qtquickcontrols2, etc.

Task-number: QTBUG-84886
Change-Id: I10ae0acca5d7d5523d3ae2f0c49587ace239f301
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-12 19:28:53 +02:00
Alexandru Croitor
b4d6eed112 CMake: Replace all Windows configurations with Ninja Multi-Config
All the qmake MSVC Windows configurations are debug_and_release ones,
so the equivalent CMake configurations should be the same for all
repositories.

Task-number: QTBUG-80900
Task-number: QTBUG-84883
Change-Id: I083d7a355558666a5f66efdffb592f5e93705547
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-12 19:28:48 +02:00
Alexandru Croitor
849fe06871 CMake: Enable CMake builds for qtandroidextras
Everyone forgot to enable it after finishing the port.
We should enable it, so it's tested for per-repo integrations as well.

Task-number: QTBUG-78171
Change-Id: I8e024809b4ece5d0775817e072968b7162d7a38c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-12 19:28:45 +02:00
Alexandru Croitor
7dd0a8c1d4 CMake: Fix qtcoap configuration to use simulator_and_device iOS builds
Just to be consistent with the rest of the files.

Amends 803eb987ad

Task-number: QTBUG-80899
Change-Id: I26212c5367da7b8bf14e4a7d46b96ffb82bf9aab
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-12 19:28:42 +02:00
Alexandru Croitor
32ccf2a0cd CMake: Enable qt5.git CMake top-level / super builds
Add simple instructions to only configure and not build top-level
builds, similar to what the qmake configurations do.

The CMake configurations need to be copy-pasted again into qt5.yaml.
We can't use default.yaml because that would enable CMake
configurations for repositories that are not ported to CMake, and
thus break the integrations.

Update qtqa sha1 to a dev branch one which contains the
module_config.yaml instructions to build qtqa with CMake.

Task-number: QTBUG-84874
Task-number: QTBUG-84918
Change-Id: I8c64f5e0acc96e14a4952abb6c77fe5c8e27a0ec
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-12 14:36:39 +02:00
Alexandru Croitor
803eb987ad CMake: Enable iOS simulator_and_device builds
Coin now has CMake 3.17, so iOS multi-arch builds should
successfully build.
Switch the iOS CMake configurations to simulator_and_device ones.

Task-number: QTBUG-80899
Change-Id: I9c8bde9f1a3c483ea296f3d9d06f089cbfdf2416
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-12 14:36:38 +02:00
Alexandru Croitor
25f154199a CMake: Enable CMake builds for qtcoap
Change-Id: I89bc9162203069a61367763b0b9a482a96da87e0
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-06-12 13:59:48 +02:00
Qt Submodule Update Bot
d301750df7 Update submodules on 'dev' in qt/qt5
Change-Id: I8417277ae8f5ac6c269a98feace48d30fa688e23
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-06-12 14:52:06 +03:00
Liang Qi
37cb787dc1 Temporarily remove two broken platforms in qt5.yaml
We can re-add them later when issue got fixed.

Task-number: QTBUG-84924
Task-number: QTBUG-84925
Change-Id: I2545e5fe03fd44a6016305723b57db8c0d6e9470
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-12 00:22:27 +02:00
Qt Submodule Update Bot
92a11b3e47 Update submodules on 'dev' in qt/qt5
Change-Id: I0a12271af90aea12288614abcb0bd912d5c3384e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-06-12 01:22:23 +03:00
Alexandru Croitor
947802bea3 Revert "Revert "CMake: Enable CMake builds for qtqa""
There's a new dev branch for qtqa, so we can re-enable CMake builds
of qtqa using that branch, without breaking builds of other branches.

This reverts commit 33e8275ee5.

Task-number: QTBUG-84233
Change-Id: I1e4ca39717768303eca8435d175aa562fcd6f0f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-11 12:08:06 +02:00
Heikki Halmet
2c0816aa99 Provisioning: Change mounting folder for Squish installation
Sometimes some process is locking the mounted folder (/tmp) so that
it can't be unmounted untill the process has been ended.
Let's create squish folder under tmp and use that for mounting
instead

Task-number: QTQAINFRA-3709
Change-Id: I49ab8fd90af37a670e45764a176b62d7a732cc6c
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit c671c2352e)
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2020-06-10 07:24:41 +03:00
Heikki Halmet
122cf4cc0e Provisioning: Install Node.js
Node.js is needed by QtWebengine

Pick-to: 5.15
Task-number: QTQAINFRA-3729
Change-Id: I23ece8567c569d8376eff52b7845589c60d069b8
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-06-09 20:58:09 +03:00
Heikki Halmet
4ca819a713 Provisioning: Fetch pre-installed squish from local cache
Squish installation is flaky so the installation phase has been
moved from provisioning to Jenkins. Jenkins job will install the
squish to target VM and copy it to local cache. This change only
fetch the installed squish packages from local cache and
uncompress those to VMs.

Task-number: QTQAINFRA-3510
Task-number: QTQAINFRA-3107
Change-Id: I862da3250120dc6a43d9c04d973a25a691ca66a1
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit b0286d6cd6)
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-06-09 06:09:45 +00:00
Allan Sandfeld Jensen
a0ea975b98 Remove SLES configuration
Mostly duplicate anyway, and not currently possible to install node.js
on.

Change-Id: I23a81ddb45b0597f31b1402e362f83957b5be8ae
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-06-08 11:00:58 +02:00
Heikki Halmet
9c33fe844a Provisioning: Use signed opengl32 package
Task-number: QTBUG-80252
Change-Id: Ife9942796ed64c4e2894fb3342259c674cf5d7ed
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-05 13:22:07 +03:00
Liang Qi
a4b68d6b7d Set Boot2Qt arm builds to release and developer build
Task-number: QTBUG-63152
Change-Id: Id6f2411d6339b7bd1ccb261cf5d9bebe1d0ada1c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-04 14:35:23 +02:00
Alexandru Croitor
33e8275ee5 Revert "CMake: Enable CMake builds for qtqa"
Revert the change because the qtqa instructions have been
temporarily removed to unblock other branches.

This reverts commit a10584e57c.

Change-Id: I76646026b099d3b039eec6cdaecfbbce6df43aa2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-04 10:13:24 +02:00
Tony Sarajärvi
4c7fe602cb Fix compiler mentioned for host tool building in RHEL
This is only a cosmetic fix. That value is not used anywhere anymore.

Task-number: QTQAINFRA-3757
Change-Id: Iabba6202e7ddbb08e58901a591ba0171e8dd1fc9
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-06-04 06:51:45 +00:00
Alexandru Croitor
a2dc8d6c21 Merge remote-tracking branch 'origin/dev' into wip/cmake
Bringing in new SHA1s, while keeping wip/cmake's own configurations.
Intended for Qt6 Installer essentials package creation.

Conflicts
	coin/platform_configs/default.yaml

Change-Id: I40e26301cf10c3c7bd8b0b4dc11cc47eedc1700e
2020-06-03 10:22:36 +02:00
Jean-Michaël Celerier
3f95e2b019 qt3d: add shadertools to "recommends" modules
This is needed for Qt3D's RHI support.

Change-Id: I416ee986db06479775a4dd4251261ecaac805b73
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-03 07:22:22 +00:00
Alexandru Croitor
a10584e57c CMake: Enable CMake builds for qtqa
Only includes one MinGW configuration, to mirror what Coin does
with the qmake builds of qtqa.

Switching the Coin instructions to do license checking and binary
compatibility testing using CMake will require a different change.
Most likely this change will have to wait until all of qt5.git/dev
is moved to use yaml instructions for building, rather than the
hardcoded instructions provided by Coin.

Besides, the binary compatibility test still depends on finding
qmake to run its test, which might have to be changed in the future.

Task-number: QTBUG-84233
Change-Id: I5ab7120e965f7729968697abf9e0db602c216cd9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-02 21:19:42 +02:00
Alexandru Croitor
91a164b838 CMake: Enable CMake builds for qtquicktimeline
Task-number: QTBUG-82967
Change-Id: I94324d4ef7d9d393e06a04e2eb1bfb0f9caab971
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-02 14:49:21 +02:00
Tony Sarajärvi
b0d9b22f53 Combine two macOS targets that are nearly the same
Change-Id: I1c094f02d1cee059272680941b355e4fb2bbdd31
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2020-05-29 09:21:21 +00:00
Joerg Bornemann
4d99fb00cc Fix CMake provisioning for Ubuntu 18.04 x86_64 QEMU armv7
This amends 68134db4.

Change-Id: I2eed240464f1b29c119ca0119001997aefdecd41
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-05-27 08:06:16 +02:00
Alexandru Croitor
68134db435 Update provisioned CMake version to 3.17.2
This should fix the ninja deps issue we had on Windows with the
Ninja Multi-Config generator, where calling ninja a second time to
rebuild the project failed.

More details at https://gitlab.kitware.com/cmake/cmake/-/issues/20723

Change-Id: I0029e57fbc704120d2241499a87cad0ad40c2e50
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-26 21:57:20 +02:00
Alexandru Croitor
0685312d2e CMake: Add MinGW config to all cmake enabled repositories
Task-number: QTBUG-75578
Change-Id: I4957efff9f3438c85f9e653130898d4b60a555ba
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-25 21:04:48 +02:00
Alexandru Croitor
5cd8e9576d CMake: Switch qtbase Windows config to use Ninja Multi-Config
And configure with two configurations, RelWithDebInfo and Debug.
This is equivalent to qmake's
--debug-and-release --force-debug-info

This should give us minimal coverage for debug-and-release builds,
as well as avoid regressions with NMC aka multiple configurations.

If the qtbase builds successfully, we can try to extend the rest of
the repositories to also build with NMC on Windows.

We can't add such a configuration to macOS for now, because it
requires CMake 3.18, which is not released yet.

Disable PCH because it seems to fail the build when used together
with Ninja Multi-Config.

Task-number: QTBUG-80900
Change-Id: I71a9584ddb1d48ed22925f67b50891e102036c97
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-25 13:41:38 +02:00
Tasuku Suzuki
598f82300a Remove the qtquickcontrols2 dependency on qtgraphicaleffects
The Material style uses its own shader effects, and
recent patches did the same for the Imagine style.
There were some auto tests that have been made to only
run if qtgraphicaleffects is available.

Change-Id: Ifcfcad9591d2a0a8d5ebed505566cd0103dd9176
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2020-05-23 00:47:42 +00:00
Heikki Halmet
fa58a227cd Provisioning: Change resolution for Windows 10 x86_64
Currently we have wrong resolution (1024x768) for 64-bit Windows.
Correct one is 1280x800

Change-Id: Ifc17933a5901681a917f973cab4d7c1ca1dfbd9f
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-05-22 12:23:34 +03:00
Alexandru Croitor
afc08c23ca CMake: Enable CMake builds for qttranslations
Fixes: QTBUG-82969
Change-Id: I17e7df82f578338d6c1e3dbc41677d4302d9689b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-20 14:48:59 +02:00
Liang Qi
434e2712aa Update submodules on 'dev' in qt/qt5
Change-Id: Idd8c485848379879aa3d870ddf9740eab2fb95d3
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-05-20 13:37:23 +02:00
Alexandru Croitor
318d651b44 CMake: Update configurations and modules similar to the ones in dev
Change-Id: Ia47878715b27c265b00982c71f36ffc5fe1f44d4
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-15 16:14:26 +00:00
Alexandru Croitor
71a559e748 CMake: Enable CMake builds for qtdoc
Change-Id: Idca63aef8951a4a104b816e4aac710225d1279c2
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-14 13:25:23 +02:00
Lars Knoll
688187773b Explicitly enable -headersclean on some configs
This is in preparation to turning this off by default in configure,
as it increases build times significantly.

Change-Id: I2d601595ce8c093765194f36ec5235f79dd4dd7d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-05-13 22:17:58 +02:00
Alexandru Croitor
3384823666 Revert "Temporarily ignore qtnetworkauth"
The qtnetworkauth test was fixed, so we can re-enable the module.

Bump the sha1 to the latest version of qtnetworkauth.

This reverts commit a8d3591327.

Task-number: QTBUG-84071
Change-Id: I68c953fa97cf0f28a391b496fb321aefe9d8e7d6
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-05-13 11:47:37 +02:00
Alexandru Croitor
747657c00c Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml

Change-Id: Ic4ed934ea7015dc66472ab2f9dd45844b25522b8
2020-05-12 17:53:48 +02:00
Alexandru Croitor
70bfcf5198 Update configurations and repositories to allow cmake binary packaging
Disable qt5.git builds of repositories that have not been ported to
CMake yet.

Remove qmake configurations from qt5.yaml and default.yaml.
Add cmake configurations to qt5.yaml.
Add the Packaging feature to them.
Keep one configuration in qt5.yaml, because it's apparently illegal to
have it empty

All of this to test out if the binary package creation process can work
with the cmake artifacts.

Change-Id: Iebb6c4303fa2104765a7b0a71489560afe7df244
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2020-05-12 15:35:45 +00:00
Alexandru Croitor
e4d60dd117 CMake: Enable CMake builds for qtvirtualkeyboard
Task-number: QTBUG-78185
Change-Id: Ie8a120aa3425edf6ae18f4a43dcd3f6aa697cd9f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-12 13:18:00 +02:00
Alexandru Croitor
29c9ba1835 CMake: Switch to MinGW 8.1 configuration for the qtbase CMake build
Change-Id: I974d34a33370ece9f9e240ba6e5106cc50d8bf84
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-05-12 13:02:52 +02:00
Liang Qi
a8d3591327 Temporarily ignore qtnetworkauth
Task-number: QTBUG-84071
Change-Id: I8486c55dc7062f50e7722b03031750b58be23a1f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-05-07 21:52:26 +02:00
Alexandru Croitor
3652f77aa3 Provisioning: Set macOS locale to "en_US.UTF-8"
The 419f42903154489e2dace8d1eba183036275448b commit in qtbase
introduced a regression where the tst_fusion test in qtqtuickcontrols2
hits a deadlock while trying to print a warning about a non-UTF-8
locale.

The warning is due to the fact that the agent executed in Coin's VM
does not have an explicit locale set, and thus it defaults to "C".
There is no explicit locale set in any .bashrc (or similar files),
and neither in any launchd configuration (because the agent is
executed at macOS startup via launchd).

The deadlock is due to trying to acquire the same lock twice while
trying to write output to stdout.

The test only deadlocks on CMake configurations, and not qmake
configurations, because Coin has a hardcoded instruction to set the
locale to UTF-8 when running qmake tests.

Until the deadlock situation is addressed in another change, the issue
can be fixed by setting the macOS configuration locale to UTF-8
explicitly, by assigning the LANG environment variable
into ~/.bashrc at provisioning time, like we do with other environment
variables like PATH.

Fixes: COIN-578
Change-Id: Ib6a5849a6868c1776dd425aeb8b5e7d6faa8cde0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-05-07 21:52:16 +02:00
Alexandru Croitor
9f4a39356a CMake: Switch host macOS configurations to framework release builds
Also include debug info. This is the equivalent of qmake's
--release --framework --force-debug-info --separate-debug-info

Change-Id: I2778b4998890146c82552f9c721a48174a764839
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
2020-05-04 22:50:17 +02:00
Alexandru Croitor
4dace06297 CMake: Enable a MinGW 7.3 CMake qtbase configuration
It should be a developer build, but due to some features
that are not ported in src/gui/configure.cmake (directwrite)
there are compilation errors due to unused arguments in
static bool QWindowsFontDatabaseBase::init(QSharedPointer)
in platformsupport/fontdatabases/windows/qwindowsfontdatabasebase.cpp

So it's not a developer build for now.

Task-number: QTBUG-75578
Change-Id: Ieb6daca45473ea42748a39f3e9e33a9db087a0e0
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
2020-05-04 18:01:22 +02:00
Liang Qi
54c94ae681 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtwebkit.yaml
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh

Change-Id: If6b0f7a671a69d6a2444ee4d26b324e4d269970c
2020-04-30 18:35:08 +02:00
Qt Submodule Update Bot
ff4a1141f2 Update submodules on 'dev' in qt/qt5
Change-Id: I96f194ffeecc40522b5ed69b0bd2d2e03045cfd9
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-04-30 15:44:59 +02:00
Simon Hausmann
3265e93168 Try to build qtbase with cmake against Yocto
This adds the basic armv7 configuration and passes through two
additional variables for use in the build instructions:

    * QT_YOCTO_ENVSETUP points to the environment-setup script that the
    Yocto SDK expects to be sourced before building against the target
    sysroot.

    * QT_CMAKE_DIR points to the directory that contains our cmake
    installation. Since the environment-setup prepends the Yocto host
    bin dir to the PATH, we'd end up picking the wrong cmake.

Also the choice of system Harfbuzz is disabled as Qt does not build
against the version shipping in Yocto.

Change-Id: I8d657e773143c4db0e2437d029d62372f7b7e638
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-30 12:02:42 +02:00
Heikki Halmet
5f03b84e65 Provisioning: Add sleep before killing gpg-agent in msys installation
Task-number: QTQAINFRA-3691
Change-Id: If84fd2d0d1cd6dccadf21cbf688aca6182cdd920
Reviewed-by: Simo Fält <simo.falt@qt.io>
2020-04-30 11:05:15 +03:00
Alexandru Croitor
4aa9c4df11 CMake: Enable CMake builds for qtquick3d
Change-Id: I9547c73e8a632754d043bff8c72c29c18449bfd9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-04-27 10:04:09 +02:00
Qt Submodule Update Bot
20668c9233 Update submodules on '5.15' in qt/qt5
Change-Id: Ia0fb6c1f5f1ae1dafaf0999fdc7c1cc5ba765bf2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-04-26 23:45:55 +02:00
Qt Submodule Update Bot
230e99400c Update submodules on '5.15' in qt/qt5
Change-Id: I6dd7a38815ff1bd13b3b8d1c9a4042c3b0981784
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-04-24 23:46:00 +02:00
Alexandru Croitor
7127f57038 Merge remote-tracking branch 'origin/dev' into wip/cmake
This merge discards all content that was in wip/cmake, and
brings in all content from dev, aka both have the same content
now (as original dev).

This is in preparation for switching the Packaging feature
in configurations, to allow packaging of cmake built artifacts
for the binary installers.

Change-Id: I048a53586681b12917fd3757acf23d3b47a88ac1
2020-04-24 10:59:37 +02:00
Allan Sandfeld Jensen
ca914bdbf3 Fix qtwebwengine.yaml
Missing an initial separator

Change-Id: I1f447963fbaa93027cfffd7c320efc69ea4a1107
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-21 16:46:47 +02:00
Allan Sandfeld Jensen
9b7a95964d Add qtwebengine.yaml
We can't build the wasm version of qtbase any longer

Change-Id: I7436640941702ba2479c7e73f3d1d9ccaf2e7709
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-21 10:02:36 +02:00
Volker Hilsheimer
82ed571cde Add Pick-to footer for cherry-pick bot to commit template
Change-Id: Idec00573bdbebda4d3b3481eee480c91c5d8d1de
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-04-20 11:04:27 +02:00
Qt Submodule Update Bot
f63b095561 Update submodules on 'dev' in qt/qt5
Change-Id: Ie35c05cb101d3a5e44ec2fbe5cb8bad2e16f785a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-04-09 08:08:51 +02:00
Qt Submodule Update Bot
93f50f13fe Update submodules on 'dev' in qt/qt5
Change-Id: I67165031f648c6e4f662e832635c4e55265a0c5e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-04-09 00:00:09 +02:00
Qt Submodule Update Bot
ae846322ea Update submodules on 'dev' in qt/qt5
Change-Id: Ib9c73befcbb68f5dbf4abb8931bfee41827c8e05
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-04-08 00:00:23 +02:00
Alexandru Croitor
da26e954de CMake: Pass location to custom OpenSSL 1.1 directory in Coin
Needed for enabling all the various OpenSSL classes in Qt.

Change-Id: Ic20ab464552317a2753ae0e35043e16cc6c60ab3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-04-07 17:42:51 +02:00
Qt Submodule Update Bot
d241778ce9 Update submodules on 'dev' in qt/qt5
Change-Id: I915cc1d265b84df6bf8b01012f8ff4e37a1c0860
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-04-07 15:16:07 +02:00
Alexandru Croitor
a86d895287 CMake: Enable CMake builds for qt5compat
Change-Id: I939f42e03cb76ccf8d984ee0f856c44049679794
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-04-07 14:09:09 +02:00
Qt Submodule Update Bot
06f9c8cc3a Update submodules on 'dev' in qt/qt5
Change-Id: I96c17784a1c9cf24552a68de4e3995095fb14999
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-04-04 23:59:58 +02:00
Lorn Potter
f5862a11f4 Provisioning: Bump emscripten version to 1.39.8 on Windows
(cherry picked from commit 939c014039)

Task-number: QTQAINFRA-3577
Change-Id: I5842158c0a11b29791fcb97d4523467de899e1e2
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-04 08:15:38 +02:00
Morten Johan Sørvig
922cca96bf Provisioning: Bump Emscripten version to 1.39.8
(cherry picked from commit 10e843566e)

The upstream URLs have changed:
 - emscripten packages now at github.com/emscripten-core/emscripten/archive/
 - binaries (llvm/binaryen/node) now at storage.googleapis.com/webassembly/emscripten-releases-builds/

Add support for unpacking tbz2 files. Keep caching as
before, update .emscripten config file with new paths.

Task-number: QTQAINFRA-3577
Change-Id: I239aaf89bc199e5f6267519861f9b2ab54f10b0f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-04 08:15:13 +02:00
Qt Submodule Update Bot
b6f12a0c33 Update submodules on 'dev' in qt/qt5
Change-Id: If5d70aa1a51eb7b8481cae5659e7cd2d9d66d45c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-04-04 03:23:30 +02:00
Qt Submodule Update Bot
38f80e73f6 Update submodules on 'dev' in qt/qt5
Change-Id: I8d07db2c521517a5770fae17dbda59abb5510019
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-04-03 22:04:30 +02:00
Qt Submodule Update Bot
c63db0ef02 Update submodules on 'dev' in qt/qt5
Change-Id: I1c2002fdb706af67581b2030119c894db89dcc24
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-04-03 00:00:30 +02:00
Qt Submodule Update Bot
941c3e487f Update submodules on 'dev' in qt/qt5
Change-Id: I6eb97a9587376a9d7bc96933825c2cdde0841197
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-04-02 17:29:45 +02:00
Alexandru Croitor
e1a4d6bf17 CMake: Enable CMake builds for qtwayland
Change-Id: I2f8e762a7e440e1f59591569910a2f68cf0e7c3e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-04-02 10:00:33 +02:00
Qt Submodule Update Bot
e94816937f Update submodules on 'dev' in qt/qt5
Change-Id: Iaf5efa53ddb01205d73bd6bf37f06e62abffa39c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-04-02 00:00:06 +02:00
Lars Knoll
a3e33df7f6 Completely remove QtScript from qt5.git
It doesn't even compile against c++17 anymore (uses auto_ptr),
and the JavaScript engine is now more than 10 years outdated.

Change-Id: I56cc36aa5aeb4dfa6b19b699886f6e34fe1eecbd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-04-01 22:36:01 +02:00
Qt Submodule Update Bot
3a64559f68 Update submodules on 'dev' in qt/qt5
Change-Id: Iea05dbac28cd0c96da47ac2647c65ba3c9639d79
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-04-01 00:00:10 +02:00
Qt Submodule Update Bot
a9d743de49 Update submodules on 'dev' in qt/qt5
Change-Id: I696f0591917930f910c50833601d482b70f2a2d1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-31 14:42:51 +02:00
Leander Beernaert
c5c56d2548 CMake: Add missing quote in qt_attribution.json
Change-Id: I360f5311373265843234c45bd8dd24f6499a5b99
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-31 11:30:05 +02:00
Qt Submodule Update Bot
0e0cba3eb9 Update submodules on 'dev' in qt/qt5
Change-Id: Iadfcc815e03910d54f5839655773a5a30567c409
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-03-29 09:14:12 +02:00
Qt Submodule Update Bot
2aeffc21fa Update submodules on 'dev' in qt/qt5
Change-Id: Iab567fb530e5e7e0aa04e601c90bed0aca55291f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-28 12:27:58 +01:00
Qt Submodule Update Bot
6c21c209c4 Update submodules on 'dev' in qt/qt5
Change-Id: Idcdae073b28e5208904f077bf897d9759703e885
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-26 15:23:50 +01:00
Alexandru Croitor
9837c866ab CMake: Enable CMake builds for qttools
Change-Id: I84a48022882623c09278de34dd4a0be92e05143e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-26 13:20:14 +01:00
Alexandru Croitor
570fcd9c4b CMake: Enable CMake builds for qtshadertools
Change-Id: Iaa9ff0490fee0eb31ddc304a0e9df5c1432f412d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-26 13:03:53 +01:00
Qt Submodule Update Bot
e5452d315b Update submodules on 'dev' in qt/qt5
Change-Id: I67f4a48809b4801cd2d9ec2caa7f3f6e61525ed2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-25 23:17:27 +01:00
Qt Submodule Update Bot
f2e6ef53fb Update submodules on 'dev' in qt/qt5
Change-Id: I41e1ac0b9a6f2ee59d9600c858e0743ef052970c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-25 15:33:47 +01:00
Qt Submodule Update Bot
1670345722 Update submodules on 'dev' in qt/qt5
Change-Id: I6627f77845a2aa44752bc1d26c540920a85e6ba6
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-03-25 09:43:41 +01:00
Alexandru Croitor
1b69f59fb7 CMake: Enable CMake builds for qtnetworkauth
Change-Id: I9a3defc794d899e7f381452050485661011ef881
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-24 23:05:27 +01:00
Alexandru Croitor
ad31ece050 CMake: Enable CMake builds for qtwebsockets
Change-Id: I53a73461a8a93e33f07b8853a3ff8aa4ca27b573
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-24 23:05:27 +01:00
Qt Submodule Update Bot
8bd018cd77 Update submodules on 'dev' in qt/qt5
Change-Id: Ibd108ff2bcbe20e8553ac28d271339943b7add0b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-24 07:12:09 +01:00
Alexandru Croitor
37326dac27 CMake: Enable CMake builds for qtquickcontrols2
Change-Id: I0357d9c3a166eb0679d6dd36c84537397eeda212
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-20 18:08:15 +01:00
Simon Hausmann
00b3c634cf Update Yocto SDKs to Warrior
This is needed to include various fixes to allow building the CMake port
against the contained sysroots.

Change-Id: I42fc055a0e1e2abe5567b9ac3e1bc5e20fcd9900
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-03-19 21:52:59 +01:00
Qt Submodule Update Bot
4ad5f4ad49 Update submodules on 'dev' in qt/qt5
Change-Id: Ia8f970fbeab7ec1bbe05b68f6b645cbf7be883b4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-19 19:03:12 +01:00
Leander Beernaert
0739a54a4b Read module list from .gitmodules
This patch mimics the behavior of qt.pro, where the module list is
extracted from the .gitmodules file and then topologically sorted
based on the modules dependencies.

This patch also introduces a small check to make sure all the required
dependencies are met and will be built.

Change-Id: Idd3df9b618805ca0b2347eac57aaa39c1bcdb3dd
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit b01225fb32)
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
2020-03-18 21:26:26 +01:00
Kevin Funk
a59826003e Start the CMake superbuild
Also import and use ECMOptionalAddSubdirectory.cmake to add other
module's as subdirectories, in case the directories exist. Additionally
this module allows to disable the build of submodules by passing e.g.
BUILD_qtsvg=OFF.

This probably needs more though on how to hande the intermodule dependencies,
but it's a start.

Task-number: QTBUG-75582
Change-Id: Ic3de9711d9b865b2d96bdaee0089f570408b9693
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
(cherry picked from commit 7509458d5f)
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-18 21:26:20 +01:00
Alexandru Croitor
34bbbedb78 CMake: Enable CMake builds for qtimageformats and qtgraphicaleffects
Change-Id: I21415e0ec7a0dfdd4f2b61d2add1adb71095bd16
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-18 21:26:05 +01:00
Alexandru Croitor
7c0b475ca6 Enable CMake builds for qtdeclarative
Change-Id: I89654288e6d459f7bd7d9e4c2dac09ecfb0f3a95
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-03-13 19:25:52 +01:00
Alexandru Croitor
e9c2be7b6a Update provisioned CMake version to 3.17.0-rc2
We want to test debug_and_release builds with CMake as soon
as possible.

Change-Id: I7d4c0a4e33adc26129844ff34ea8df6b149e184f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-03-09 23:42:21 +01:00
Alexandru Croitor
6ff1dcfbd3 CMake: Change iOS builds to build in Release configuration
Apparently standalone Debug iOS builds are not supported in qmake
at the moment as per QTBUG-71990.

While we keep the same configure.json error reports for both qmake and CMake
it's simpler to switch the config to Release.
Once we get Ninja Multi-Config in Coin working, we can switch to
debug_and_release.

Change-Id: I406012918fd402ad0ff29bbdc151e247699eea72
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-03-09 21:15:04 +01:00
Alexandru Croitor
dbd18fc0c5 Re-enable iOS CMake builds
This reverts commit dad8e600bd.

Change-Id: I6aab4d5818e4cbd3ec83ad6d57fa0bdd2348bf35
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-09 13:00:29 +01:00
Alexandru Croitor
e1bc1c4885 Remove vcpkg provisioning and configure arguments
Now that qtbase supports building bundled 3rd party libraries, we
should have no need for vcpkg in Coin anymore.

Change-Id: I7aa7b0323416b60ffb0cd70eec287e5f25963d9a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-06 06:25:50 +01:00
Liang Qi
2a405a8df3 Update submodules on 'dev' in qt/qt5 manually
which is based on the last qtqc2 dev integration,
https://testresults.qt.io/coin/integration/qt/qtquickcontrols2/tasks/1583152923

Change-Id: Ide29e6d8e83e2e6afe9a2305039e6c8e9d1eecd9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-03-05 08:56:44 +01:00
Liang Qi
08e63423e2 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/default.yaml
	coin/platform_configs/flashing-wizard.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtconnectivity.yaml
	coin/platform_configs/tqtc-qt-config-gui.yaml
	coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh

Change-Id: I7af8a52d8b4452211982d86105dafacdd3d845c0
2020-02-28 13:49:10 +01:00
Alexandru Croitor
aa977addd2 Bump CMake CMAKE_OSX_DEPLOYMENT_TARGET to 10.14
To hopefully get proper macOS C++17 support.

Change-Id: Icd7fcf49de319e4d20693db356e85f3c5332581e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-14 11:29:00 +01:00
Alexandru Croitor
dad8e600bd Disable iOS CMake builds until vcpkg is provisioned on macOS
It will be reinstated later once confirmed that all the necessary
bits are there.

Change-Id: I04ca0dda3f9feece8acc9039c8372d346b4f3cd4
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-02-13 12:54:44 +01:00
Simon Hausmann
dfb773505c Prospective fix for macOS CMake builds
Adjust the SDK root path to match what's on the system. This should
ideally not be hardcoded here but detected, but for now fixing the build
is highest priority.

Change-Id: I317fe9a4e038cb62cf6cdf06f10a60aa9d975e15
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-02-13 09:48:00 +01:00
Simon Hausmann
4d0a52ddbf Prospective fix for broken cmake builds on 10.14
Add missing dependencies that were there on 10.13.

Change-Id: I1d81e9f50a83486784bef02bf904e3e8c53c4f11
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-12 22:32:15 +01:00
Alexandru Croitor
de86e584d5 Add iOS CMake builds for qtbase and qtsvg
Change-Id: I8a14aefd0d28f13cb3fe9e80aac2d480a4ad16af
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-12 19:19:39 +01:00
Alexandru Croitor
f246adc1bd Add CMake builds for qtsvg
Change-Id: Ia219be907e44f3e5ab9cb79cf9bd57ca15b11587
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-12 19:19:35 +01:00
Samuli Piippo
fe84957439 Change meta-boot2qt platform configs to Module only
This is a workaround for Coin issues where it combines both
Legacy instruction platforms from default.yaml and module_config.yaml
platforms from meta-boot2qt.yaml.

Task-number: COIN-508
Change-Id: I970400cd7d326788ec274c38789d61b4a524989b
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2020-02-12 16:38:39 +00:00
Alexandru Croitor
431eb132a9 Provision Ninja for macOS 10.14 template
Change-Id: I62ad67561de3459fe1a09e645dcc9b40dd2dbb1d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-02-12 13:11:03 +01:00
Alexandru Croitor
cd2ac9df6b Fix template name for CMake macOS builds
Change-Id: I5709145b8a1642e27b1de14c37a6d8ccee89107a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-12 13:10:43 +01:00
Simon Hausmann
c802afc31b Remove ICC also for cmake
Switch the static build to GCC instead.

Amends commit 4c55e1cfa7

Change-Id: Id752dcd86c2bda8811427a7bf7b756eee7247992
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-12 08:50:34 +01:00
Simon Hausmann
68419bc36c Switch the cmake build also to macOS 10.14
We've switched the qmake configs as well, so cmake should follow.

Change-Id: Ib0cf4b3ade56714b4437afd5ce301204e5b31d24
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-12 07:47:14 +00:00
Alexandru Croitor
04e09db02a Enable CMake Coin configurations
This change enables building a few CMake configurations of qtbase in
Coin.
It should only be merged once qtbase wip/cmake -> dev change is
merged.

Change-Id: I7542af91c7f0004219d0155cad485582883e8e95
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-11 16:11:42 +01:00
Samuli Piippo
d4eac1cc92 Don't use legacy instructions for meta-boot2qt project
meta-boot2qt is already using module_config.yaml to define
the CI instructions.

Change-Id: I67e4f8005dce55aea0143236c4aad0bbedaa8def
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-02-11 14:36:47 +02:00
Leander Beernaert
a1fc3dbef8 Update Qt5 with new metatype dependency handling
Change-Id: If930e75b62ed94c773a2beb7e6935f4e323e7245
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-02-11 09:49:03 +00:00
Qt Submodule Update Bot
8eb6addbc0 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I4efc58e962fc2a153248d05b8bbaa628fb32f159
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-02-07 17:15:16 +00:00
Qt Submodule Update Bot
f174d30f6d Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I8d4281a0e271148c92e7a0ab963505d93bf85eb1
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-02-06 11:57:34 +00:00
Sona Kurazyan
601c1bd79b Add qt5compat to submodules list in dev
Task-number: QTBUG-81630
Change-Id: I85f3d4a5ddbef28c217903816568e0420902f694
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-02-04 20:01:02 +01:00
Simon Hausmann
2a64418358 Transition to macOS 10.14 step 1
We want to run all tests on macOS 10.14, which requires some more fixes
in qtquickcontrols2. That however isn't passing due to unrelated changes
in base/declarative blocking us from moving forward. So to decouple the
two, this change limits macOS tests to qtbase and declarative but on
10.14. This will allow us to switch qtbase over to C++17 and once we've
got qqc2 updated in qt5.git, we can globally re-enable tests for 10.14.

Task-number: QTQAINFRA-3108
Change-Id: I0f835a1da87187c6bb69e3d4019196e1411095fd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-02-04 16:54:05 +01:00
Alexandru Croitor
25e0073720 Use legacy instructions when building all qmake configurations
This change is preparation for merging qtbase wip/cmake -> dev,
because that will bring in the new yaml instructions on how
to build the CMake configurations, which means that legacy
instructions provided by Coin itself need to be used for all
the existing qmake configurations.

Change-Id: I7005835719b83b7186138292a2e1baf4d2a4a3e0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-02-03 14:15:33 +01:00
Qt Submodule Update Bot
988775f828 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I7026eb2bf6da3143d0e1825bd287070aeb1a7028
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Qt CMake Build Bot
2020-02-02 12:15:02 +00:00
Alexandru Croitor
13866b01d7 Build Windows configurations with debug information
Change-Id: Iff1132d9a2718c151a2eae00df72396bc16e34cb
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-31 19:50:51 +00:00
Eike Ziller
f25f9e1328 Update CMake provisioning to latest
No need to use a release candidate anymore. CMake 3.16.3 is the current
latest.

Change-Id: I93b15d36856a50b8badb75b6fc2a9a885752b5b2
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-01-31 12:19:04 +00:00
Simon Hausmann
486139715b Disable warnings-are-errors for the doc build
We're not really interested in catching the C++ warnings at this late
stage (Qt5 build), especially not for building documentation.

Change-Id: I48c621ce6de199de61fab8de6517f4c0b099bf11
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-01-31 12:38:45 +01:00
Lars Knoll
a23bc16dcc Remove wasm on windows for now
The compiler fails to pass the c++14 configure test.

Change-Id: I2253d1654eda19351154467cd3b076ba726c10d7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-31 12:38:45 +01:00
Qt Submodule Update Bot
09a78c7e84 Update submodules on 'dev' in qt/qt5
Change-Id: I16a797f24169c42eb1b11f9d62905c687af7da4f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-31 12:38:45 +01:00
Laszlo Agocs
5b56192bc1 Add qtshadertools as a submodule in dev
Task-number: QTBUG-78589
Change-Id: I64da5b9f46ace924e3dd24a1ea062379450f8ca3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-31 12:38:45 +01:00
Alexandru Croitor
d30d1e6308 Update qt5.git wip/cmake with new qtbase and qtdeclarative
And disable qtquickcontrols2 because it doesn't currently build
in dev either.

Change-Id: I7122224fae16fcfad1ac13f60a5826beb73c6106
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-31 08:21:57 +00:00
Simon Hausmann
3c6f8b1af5 Re-add qtimageformats
Qt Quick Controls 2 styles use webp, which in turn is instantiated by
tests.

Change-Id: I7a9a98f96beecb1f214e9e2caef0062a5716d31e
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-01-30 09:26:13 +01:00
Simon Hausmann
24d977a188 Reduce the set of modules for Qt6 development
Change the amount of modules that are tested together by the CI (and
then used for initial Qt 6 snapshots) to the core essential modules. All
others are set to "ignore" and the objective is to bring them back later
when qtbase/declarative/quick3d development has settled.

Notable exceptions are svg and graphicaleffects due to their strong
dependency from qtvirtualkeyboard as well as qtquickcontrols2.

Change-Id: I972d7b353add1f5dbad5104ce84c4cc5b8c6f616
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-01-29 10:39:01 +01:00
Lars Knoll
4c55e1cfa7 Remove ICC from our list of tested platforms for now
ICC 18 doesn't support C++17, so let's remove it.

Change-Id: If87010fe73111324f78ccd26f25e55ec7e6afbca
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-28 12:23:36 +01:00
Lars Knoll
4e4e7a9679 Update macOS WebAssembly and Android builds to use 10.14
macOS 10.13 doesn't support C++17, and will get removed soon.

Change-Id: I5ed50df99d8582349adfd04e59ce89dd49701f76
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-01-27 15:41:37 +01:00
Lars Knoll
b2f62bb906 Remove QNX configs from CI
Those configurations don't support a C++17 compliant compiler.

Fixes: QTBUG-81576
Change-Id: I87499e21e7532856fdd4c41b1e162e3566d5f130
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2020-01-27 15:41:26 +01:00
Liang Qi
6b60200b7f Fix .gitmodules to use correct branch
This amends 31d83f1ddb.

Change-Id: Id376f4f079cdc114095955cbf61a74d63a5b3af5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-27 12:35:06 +00:00
Leander Beernaert
31d83f1ddb Update submodules and disable some failing repositories
Until dev is fixed, we disable some of the broken repos in the qt5
wip/cmake branch: qttools, qtremoteobjects, qtscxml, qtwebsockets,
qtwinextras.

Also switch Windows to be built in Release mode, to circumvent some
issues with Debug builds that are also present in dev. Note qmake
builds in Coin also only build Release builds of Windows for testing.

Change-Id: Ie095fa16920fb6bd92db80118abeb6b282c96897
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-01-27 08:22:18 +00:00
Qt Submodule Update Bot
872c905004 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Idebe0a35e89997fba13ac1bf25f498192b58d923
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Qt CMake Build Bot
2020-01-23 06:18:04 +00:00
Simon Hausmann
0b32ba9924 Re-remove WinRT configurations
They were originally removed in commit
5677a43a25 but re-added through a merge.

Change-Id: I821fb955745dfc5e982cdbf2264af3345ec03252
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-01-22 15:39:32 +01:00
Qt Submodule Update Bot
efe31b61a8 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: If1f1632c4032c2214c3be5f6bfc4105f71669eba
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-01-18 08:55:45 +00:00
Alexandru Croitor
94f9d3e7da Add a macOS non-framework build to Coin
Keep it for now, so we don't introduce breakages there now that the
framework build is the default config. Make it a developer build.

Change-Id: Ib92bd4935937a7965630837ce7de369a0340fd9f
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-16 09:40:46 +00:00
Qt Submodule Update Bot
e7f83d3965 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I772c45349591464651967f6af6768da7b5bc8488
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-01-14 07:03:06 +00:00
Qt Submodule Update Bot
0412433d78 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ibdff612fbed373a813ca3add2a00a6c06016f64d
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-01-11 10:09:19 +00:00
Leander Beernaert
b01225fb32 Read module list from .gitmodules
This patch mimics the behavior of qt.pro, where the module list is
extracted from the .gitmodules file and then topologically sorted
based on the modules dependencies.

This patch also introduces a small check to make sure all the required
dependencies are met and will be built.

Change-Id: Idd3df9b618805ca0b2347eac57aaa39c1bcdb3dd
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-01-10 14:49:51 +00:00
Qt Submodule Update Bot
79bdf27954 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I17a3efcedb0bffc5a2cbfb8ed091c6c2448c4706
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-01-10 13:00:18 +00:00
Liang Qi
6ee5857ec8 Add macextras to the qt5 build
Change-Id: I16b1ca99bff69f203aea27b144c537f2834b1620
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-01-09 19:32:17 +00:00
Kevin Funk
7509458d5f Start the CMake superbuild
Also import and use ECMOptionalAddSubdirectory.cmake to add other
module's as subdirectories, in case the directories exist. Additionally
this module allows to disable the build of submodules by passing e.g.
BUILD_qtsvg=OFF.

This probably needs more though on how to hande the intermodule dependencies,
but it's a start.

Task-number: QTBUG-75582
Change-Id: Ic3de9711d9b865b2d96bdaee0089f570408b9693
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-01-08 13:11:16 +00:00
Qt Submodule Update Bot
1f017ffbff Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I7a522eaf1449708afa1c1b965c23eded7f769c61
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-01-08 12:50:53 +00:00
Qt Submodule Update Bot
0f361744ed Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I451ad6e95b4167ff1cfd61856019d1e3dbc2d283
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-01-07 14:37:29 +00:00
Paul Wicking
bd0943bf50 Update _clang-format definition
Add indentation for preprocessor directives if/ifdef/endif
as this is commonly used across Qt.

Change-Id: I0ce9851cc0861b8d18cb3717d695c871169db239
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-12-18 09:55:55 +01:00
Alexandru Croitor
0a3a855774 Build an iOS configuration in Coin
Install ninja from homebrew.

Provision freetype and pcre2 for host builds, like in the
macOS 10.13 case.

Provision homebrew gcc 9 to build vcpkg.
We can't use Xcode 11 clang to build vcpkg, because std::filesystem
is only implemented for macOS 10.15, so the deployment target needs
to be 10.15, and we don't have any 10.15 VMs currently.
Whereas the std::filesystem implementation provided by gcc can work
on lower macOS versions.

When building vcpkg using the Xcode default provided system headers,
the build will fail with the following error:

stdio.h:222:7: error: conflicting declaration of 'char* ctermid(char*)'
with 'C' linkage

_ctermid.h:26:10: note: previous declaration with 'C++' linkage

The Xcode SDK is missing some C++ headers. Usually these are
installed manually via an additional step like the one below,
but only after installing the command line tools.

sudo installer -pkg
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
-target /

Apparently not all command line tool packages ship this extra header
package, so instead switch the active toolchain to the CLT via
xcode-select -p, which seems to always have the necessary headers
(at least from my testing).

That's why we use the CLT for vcpkg.

Bootstrap vcpkg, and install the iOS 3rd party packages using vcpkg.

Finally add a configuration to build qtbase targeting iOS.

Task-number: QTBUG-75576
Change-Id: Idec885d62b12f96c4830b9ec02b63a89b9cc7b8c
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-12-17 20:45:05 +00:00
Leander Beernaert
66d9087cf5 Update QtTools submodule
This is required for QtTranslations to work properly.

Change-Id: I0e8373b4199eb8bdc5e4f7a9429056c58847c262
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-12-17 10:52:22 +00:00
Simon Hausmann
68c8693e5b Merge remote-tracking branch 'origin/wip/cmake' into dev
This merges merely the provisioning changes needed to perform cmake
builds in the CI. The platform configuration changes will be applied
incremental as we merge support in the individual modules.

 Conflicts:
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh

Added ninja to
coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh
just to force re-provisioning.

Removed module_config.yaml because that breaks license check in
qmake builds.

Change-Id: Ic074c0c881404f4361e61f66130c0cb07f5e8b84
2019-12-13 14:58:08 +01:00
Alexandru Croitor
3aef268464 Update vcpkg snapshot
The snapshot uses the previous snapshot as a based. It was rebased
on latest master as of 2019-12-05, and also contains cherry-picked
patches to target iOS.

Change-Id: I9fc0c39856fdb255533f6c71d27f5749894b6bea
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-12-11 20:58:03 +00:00
Qt Submodule Update Bot
bbe2ca1f14 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ia8dbab68e5a7dd4f136e6345d6c1da9705d4be69
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-12-11 02:31:30 +00:00
Qt Submodule Update Bot
d47213e974 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I8a50e284b785b7441826ed4f199a5db4c2be6f6e
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-12-10 05:06:00 +00:00
Qt Submodule Update Bot
f38665a06a Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I0c29a5b3944a20d6652c0c8cb1199abae9683f93
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-12-07 21:58:23 +00:00
Liang Qi
2d6f569ee9 Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: Ia67f4be8c51a2bd0a8a03cb3857dfd57d7eea806
2019-12-06 10:25:21 +01:00
Qt Submodule Update Bot
ec79fbe5ec Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I45dd7a0b0a93a35aa3f528617efeaa2859f9ce6e
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-12-04 08:41:15 +00:00
Alexandru Croitor
8c94279a59 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Id725f04bc4753fc68a9bbb2762beb2c5f4eb9d84
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-12-03 16:48:34 +00:00
Qt Submodule Update Bot
d7a4a50e2d Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ia5837cb7f71ea98b280b66998f7a3624750dde6e
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-12-03 05:52:31 +00:00
Qt Submodule Update Bot
096fd23eb8 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I0a261abad505b2f2724f0a15a10708b67129ffbf
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-29 17:43:05 +00:00
Liang Qi
bdaf92aa41 Correct branches for .gitmodules
This amends eabc1ed5bd.

Change-Id: Ifbcf5dc593d25d210b652b72e5563fb8e1a1ec5f
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-29 15:55:39 +00:00
Liang Qi
61ffa2778f Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Id0fb114e7d4e4bc66d8a51e91ebc8de166229fb6
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-29 15:44:24 +00:00
Liang Qi
95c7b90309 Update CMake to version 3.16.0-rc4
Change-Id: I4fc1f412888e1915ae2110320c18fb39a9600b94
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-11-29 10:00:50 +00:00
Liang Qi
63c515a6cb Merge remote-tracking branch 'origin/dev' into wip/cmake
Also update the Windows config to use MSVC2019 instead of 2017
to circumvent the issue that vcpkg is building libraries with the
latest compiler it finds (MSVC 2019), but Qt is building with 2017.

 Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtsaferenderer.yaml

Change-Id: I88deb114e171046b50fc617ab6bc18b707d61486
2019-11-28 19:44:30 +01:00
Liang Qi
0d6ae070f4 Update submodules on 'dev' in qt/qt5
Only qtwebengine and qtmultimedia this round.

Change-Id: If5f67c96d26d7721fdb350bb27fbea82aced8e14
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-27 06:10:06 +01:00
Leander Beernaert
3ba8bdeda0 Update qt5.git
Change-Id: Ie922b8e2989215de4efd3596e6532b201a3e7d0c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-25 16:40:40 +00:00
Liang Qi
86b9edca68 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtconnectivity.yaml

Change-Id: I1f6b8dff622c3899b2d655108f638404b3bc2189
2019-11-22 17:26:28 +01:00
Qt Submodule Update Bot
a72db33bfc Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ia7d77b5f456e4e6196cacc179952e104476d968f
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-16 21:42:42 +00:00
Alexandru Croitor
eabc1ed5bd Add a few more ported repos to qt5.git wip/cmake
Change-Id: I9f7215d3df0ba07af337262dd5e43bfc79e0a97a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-15 13:02:52 +00:00
Qt Submodule Update Bot
3903c2a72d Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I28901d350b1f16b9a6b3d9776ee8055ea3356ade
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-14 14:55:50 +00:00
Qt Submodule Update Bot
df8310ced1 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I26274b1707fd4d12a4da5503b9a414414f29148b
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-13 21:25:12 +00:00
Simon Hausmann
1aa25c1084 Bump vcpkg to a new snapshot
Some patches were upstreamed and this beings the version in line with
what we need for Android. This patch also centralizes the version into a
shared file, for future use.

Change-Id: I90973f9bfcbc1bfeb2d11e2ee7a7fa4e4f6a58a2
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-13 09:57:53 +00:00
Leander Beernaert
8eab11f696 Update CMake to version 3.15.5
Update required as there's a bug with setting the CXX_STANDARD on
android. Updating to this version fixes the issue.

Change-Id: I50b0bc2941e0919232b46bbf5b28133149878649
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-12 13:27:23 +00:00
Simon Hausmann
c85543f88d Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtdeclarative.yaml
	coin/platform_configs/qtsaferenderer.yaml
	coin/platform_configs/qtsdk.yaml
	coin/provisioning/common/linux/cmake_linux.sh
	coin/provisioning/common/windows/cmake.ps1

Change-Id: I37bb513e3be19e4de4003679f8528677e57c09ee
2019-11-11 10:52:16 +01:00
Liang Qi
ae27f21d26 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	coin/platform_configs/default.yaml

Change-Id: Id4af2d72bb409b6851758a726677c2f2235fc0af
2019-11-08 09:10:04 +01:00
Qt Submodule Update Bot
4e5a86d2bb Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I140d2692932cc10d4bedd45e149c804ec7329885
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-07 08:08:51 +00:00
Qt Submodule Update Bot
d939b369d2 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I41c2406329c56d6c82a3d7c27b364adae366b79f
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-05 06:09:25 +00:00
Qt Submodule Update Bot
7c563fc662 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ie50bc298a4743b348ad91d9f4efee97482ec55a4
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-02 07:16:06 +00:00
Qt Submodule Update Bot
a25f221e07 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ifd37d952b51fe8c37d4ff2b99efec21c87d52f8c
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-01 05:52:22 +00:00
Qt Submodule Update Bot
83ae62a099 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I84f7dfd1bcbfe889c5f3e4861297f661d50aa393
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-31 06:21:28 +00:00
Qt Submodule Update Bot
eaa76d4db8 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I51d0e6deeb53b1eabe2796dc958ebf9cf536e8f7
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-30 05:05:44 +00:00
Simon Hausmann
0fb525f9ef Add x11extras to the qt5 build
Change-Id: Iac7273717b7dff510c79cd6151349e6ddb6a5e56
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-10-29 12:12:54 +00:00
Qt Submodule Update Bot
010595af45 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I23f2cf4a7577df02e3e7b8590aede4d755117cb1
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-29 11:39:35 +00:00
Qt Submodule Update Bot
12a647fbe5 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ib2187b662c55268f101640b32c98cf9cd325a66e
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-10-28 05:57:10 +00:00
Qt Submodule Update Bot
2a5f8edda6 Update submodules on 'dev' in qt/qt5
Change-Id: I31c4601a3e46eb8f1a6cef89547796a2d8ddb4e1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-26 14:01:00 +02:00
Qt Submodule Update Bot
d7f90cf379 Update submodules on 'dev' in qt/qt5
Change-Id: Ia5db1b78b32450b1990c6e7a6e9b6991923f6a08
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-25 21:01:05 +02:00
Qt Submodule Update Bot
3693303aa5 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Iad5169b8d1b2a00105df7a4ac2fc0fb6e3537832
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-25 05:25:28 +00:00
Simon Hausmann
bf87526ff0 Add QtConnectivity
Now that the cmake port landed

Change-Id: I5218a23fffd8de736ffcf5e039d369aec0827f42
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-10-24 15:49:17 +00:00
Qt Submodule Update Bot
edf6851875 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ice21b858ec75f6319bee745c47790293e0f3d4d1
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-24 15:10:34 +00:00
Qt Submodule Update Bot
a331d9e655 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I083e08e3c24c1d29d7fedc69490187765a651b12
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-23 12:41:46 +00:00
Simon Hausmann
33d9eb2b99 Work around cmake issue breaking C++ feature detection on Android
As per https://gitlab.kitware.com/cmake/cmake/issues/19515, the version
of CMake we're currently using in the CI has an issue detecting clang as
GNU compatible C++ frontend and thus fails to convert the values in the
CMAKE_C/CXX_STANDARD variables to compiler flags correctly. Work around
this for now as suggested in the upstream ticket. We can remove this
when upgrading to a newer cmake version.

Change-Id: I0ea37503c086ff86e05c50b812474522a7737b20
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-10-17 15:15:09 +00:00
Qt Submodule Update Bot
c118fe5fd5 Update submodules on 'dev' in qt/qt5
Change-Id: I8280b33c68cdfa4f3276a49804b629525d277dbe
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-12 07:47:50 +02:00
Liang Qi
0c687679c7 platform_configs: add Android arm64 build on RHEL 7.6 host
* install vcpkg and for android
* a remaining issue in vcpkg: https://github.com/microsoft/vcpkg/issues/8506

Task-number: QTBUG-78945
Change-Id: I484612e2157bf1c1142934cc4f27729e8be37b89
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-10-11 18:56:33 +00:00
Frederik Gladhorn
c8765fc306 Update qtrepotools for clang-format
This now fixes the hook, so that it can actually be used.

Change-Id: Ib47ae7df580eb21654f634be387d44d2f8ad0148
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-11 13:25:41 +02:00
Liang Qi
ecf2f4f38c provisioning: update python to 3.7 on macos
Task-number: QTQAINFRA-3271
Change-Id: Ic1645a8b5bc94b0ce6ff58352891af0beabd7649
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-10-11 07:23:46 +00:00
Frederik Gladhorn
697fad19a7 Update qtrepotools
This makes git-hooks/clang-format-pre-commit available which is needed
for accc0af6e4 .

Change-Id: I9674b737fb32031552d51129be5541fbd1624c6a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-10 17:02:34 +02:00
Liang Qi
9e3b3c838c platform_configs: add a RHEL 7.6 build
A preparing for having android build later.

* install gcc 7.x
* install git 2.x
* install a few other dependencies

Change-Id: I18f05bdfb78c92b7f05f67609613b5271b400f91
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-10-10 05:34:27 +00:00
Liang Qi
6df365e0b2 Add qtserialbus to qt5
Change-Id: Ie3ad2a734b1f7ba341a93ff7f3cd96fee56c62c6
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-10-09 08:27:00 +00:00
Qt Submodule Update Bot
beb62ece41 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I9b900f788ada06c5aa163464b467d41bdc4f9a4e
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-09 04:47:19 +00:00
Qt Submodule Update Bot
660a81feda Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I243f87e1f922a604ac473a22c38a2fcb97bed583
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-08 18:08:37 +00:00
Qt Submodule Update Bot
714686610e Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ia7dadd5ba374c17a9de0a0a0fe5cf71349b2dcf6
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-08 13:13:37 +00:00
Qt Submodule Update Bot
91a1add070 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I1a4c4dbd484521019d7c31b524110e24402ac96c
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-08 06:21:10 +00:00
Liang Qi
991ba62180 Update submodules on 'dev' in qt/qt5
Only qtquick3d and qtwayland this round.

Change-Id: I79da5206cec8ef7a1e70dad95249fd7b5384803f
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-06 21:49:44 +02:00
Liang Qi
ac2054a633 Add macOS 10.14 to the CI again
Task-number: QTQAINFRA-2938
Change-Id: Idd331fcb29752386b95463de8bdaeb0dd6b0ac08
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-06 21:49:35 +02:00
Liang Qi
3813848266 Merge "Merge remote-tracking branch 'origin/5.15' into dev" 2019-10-06 21:49:30 +02:00
Qt Submodule Update Bot
c69c92ba37 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ib9ca071946f1fa578543802707388cf67f1a842b
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-06 11:35:29 +00:00
Simon Hausmann
68fdf9c0be Remove WinRT from the configurations for qtconnectivity
WinRT was tested by default and removed in commit
5677a43a25 globally.

Change-Id: I4878266cd25a05b74a4a3427840c3aaef0029032
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-10-04 17:29:31 +00:00
Liang Qi
44cf8f65a2 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/default.yaml

Change-Id: I6adccbdcd3a4b794380a2e202e567146e663c15f
2019-10-04 12:55:57 +02:00
Qt Submodule Update Bot
c79a9570da Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Id1a1a1a7ab7f8280221fa824ddb775691444c3d8
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-04 10:11:49 +00:00
Frederik Gladhorn
f963556794 Remove gnuwin32 - it is provided through provisioning
Having a few windows specific tools in qt5.git was always strange. We
now provision the utilities to the machines, so remove them from
qt5.git.

[ChangeLog][General] GnuWin32 is no longer part of the Qt source code repositories.
Instead it can be downloaded from the upstream project at https://gnuwin32.sourceforge.net .
For convenience we also make a copy available here:
https://download.qt.io/development_releases/gnuwin32/gnuwin32.zip
The GnuWin32 tools are needed for building Qt from source on Windows.
Binary package downloads are not affected.

Task-number: QTBUG-73424
Change-Id: I9212cc2923343f4f84bcba9d1444a90e446dfb8a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-03 19:49:48 +00:00
Qt Submodule Update Bot
65dcf13a10 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I402e989617238940b5c11b4eac1b76f37e89536f
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-03 09:34:25 +00:00
Liang Qi
1478b607d6 Provisioning: install libsdl2 on ubuntu
Change-Id: I3c547c1e44ebc734fd9908db2828440bc13f55f5
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-10-03 08:15:51 +00:00
Frederik Gladhorn
accc0af6e4 Add clang-format-pre-commit hook
Change-Id: I762b85b96f7ab87e6c11426607165d4f1b8dbae5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-10-02 23:32:53 +02:00
Liang Qi
bd3b4ef170 Add qtgamepad and qtscxml to qt5
Change-Id: I7267704b048aae8cdd634d47c7ae4040272298ea
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-10-02 15:55:08 +00:00
Qt Submodule Update Bot
8e0249218f Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ifcd9682f77549feada64323c6b7ee668962cbf2c
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-01 18:54:30 +00:00
Qt Submodule Update Bot
b5ae486a0d Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Iaf43abe04e52a56cb5a3d1f7d62868c5b5f009d1
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-10-01 06:51:39 +00:00
Frederik Gladhorn
53f93876cb Update qtnetworkauth
In that module tests were broken since oauthbin.com is gone.
See 639800ccfe85daecd4432f8b7f64b258e7d2e6dc in qtnetworkauth.
This unblocks qt5.git.

Change-Id: I475a43c5b2ec3ce2021199c37bec4e10d8c1bb0e
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-30 16:04:31 +02:00
Alexandru Croitor
cba04eb531 Build examples on at least one configuration
Ubuntu Linux in this case.

Change-Id: Ic17b3f4880105e639340ffc07c52de27245612d7
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-30 09:14:06 +00:00
Qt Submodule Update Bot
c97967de98 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ib89a5977eef689938a8e3ac12141204b733aa79d
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-27 16:39:54 +00:00
Qt Submodule Update Bot
cc733ed0ca Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ie4ae842e78078a4779e22f68889a211d1980411a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-09-27 14:26:20 +00:00
Qt Submodule Update Bot
bc77f3ca14 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Idee08dbe60f6abae4495f31b66a74702788f809f
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-27 04:46:08 +00:00
Qt Submodule Update Bot
5c79b8cf52 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I4ceab395f4a906627970b67486ac6f91842873af
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-26 06:33:44 +00:00
Qt Submodule Update Bot
a21de5f32a Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I10025657bc7887680bfc442be6d1ce5f4dc920f8
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-25 15:33:18 +00:00
Liang Qi
1605059e87 platform_configs: remove CMAKE_VERBOSE_MAKEFILE option
which is not in use when ninja got selected.

Change-Id: I1841471dee0f58e4a54cd05f33f4ba7c3a1a8251
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-25 10:54:34 +00:00
Qt Submodule Update Bot
29376716fd Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ib983c826d9a62d0ca506fb238c4e08981729a211
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-25 05:08:07 +00:00
The Qt Project
dc22e0dba7 Merge "Merge remote-tracking branch 'origin/dev' into wip/cmake" into wip/cmake 2019-09-24 16:50:50 +00:00
Qt Submodule Update Bot
9bc8a3e458 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Iff018927681934d6bf06271d5a2d3ad8008bbcc3
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-24 07:30:37 +00:00
Qt Submodule Update Bot
00bafec768 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I8f67a3299fc118d337141ad680507015e41e31d4
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-23 15:37:00 +00:00
Liang Qi
44073f5563 Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
	.gitmodules
	coin/platform_configs/default.txt

Change-Id: I78eb6b6522c678fb40f1202c0040c1c87ff890a6
2019-09-23 16:38:06 +02:00
Qt Submodule Update Bot
709e687c84 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I3a5377e9b1f3365596e25985504342a041371886
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-22 06:50:40 +00:00
Qt Submodule Update Bot
b2fe8b2f09 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: If30c3b1b176d07ad273205f3f7b9a9fa30cae4f6
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-21 04:26:39 +00:00
Qt Submodule Update Bot
48d218a86f Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ie505de6df9bf42d96f4dec88ecedb1347f74f401
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-20 06:13:19 +00:00
Simon Hausmann
5c1656826b Add qtserialport to qt5
The module has received its initial port

Change-Id: Ie5814be1f52965cb2393ec331e12751472890abc
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-09-19 14:42:13 +00:00
Qt Submodule Update Bot
5560b7eced Update submodules on 'wip/cmake' in qt/qt5
Change-Id: Ie983c915a2cc472c87b02934700a7219c2b0b359
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-19 13:20:57 +00:00
Simon Hausmann
fd87ff83aa Merge "Merge remote-tracking branch 'origin/wip/qt6' into dev" 2019-09-17 13:28:52 +02:00
Simon Hausmann
91108b602f Merge remote-tracking branch 'origin/wip/qt6' into dev
Change-Id: I46d0ce36d9168a0a2fe2229ff94fc6e4a82b5308
2019-09-17 13:08:12 +02:00
Simon Hausmann
afa801cd31 Re-add QtWebSockets
Maurice ported the module and we can add it to the Qt5 set now.

Change-Id: I146e60f6f18dcf7a00775e532e715e3718644edc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-16 15:18:13 +00:00
Qt Submodule Update Bot
5df688ef3a Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I4464812c569599cad5d6d4a2b2cce0c628799b81
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-14 05:01:07 +00:00
Qt Submodule Update Bot
d696902904 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I210881714fd91a65d8016198c9b23c382d69494c
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-13 14:49:27 +00:00
Liang Qi
b2febbfbc7 Update submodules on 'wip/qt6' in qt5
Only qtmultimedia and qtwebengine in this round.

Change-Id: I82a7b1db76aa0074cd42eeaea96e4e0e4539a564
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-13 14:05:59 +02:00
Liang Qi
a2151b9c7f Merge "Merge remote-tracking branch 'origin/dev' into wip/qt6" 2019-09-13 14:05:49 +02:00
Liang Qi
14d2852597 Merge remote-tracking branch 'origin/dev' into wip/qt6
Conflicts:
	.gitmodules
		Ignore qtquick3d for now.
	coin/platform_configs/default.txt
	coin/platform_configs/default.yaml
	coin/platform_configs/qtbase.txt
	coin/platform_configs/qtbase.yaml
		We use yaml files for configurations now.
		Adjust the configurations for Qt6 as it was
		    done before in the .txt files.

Done-With: Alexandru Croitor <alexandru.croitor@qt.io>
Change-Id: Ica164f8865aed011c550ba7e1e8137e2bf9fdda9
2019-09-13 14:04:47 +02:00
Liang Qi
677412dcbe Move the developer build from static suse to ubuntu
Because we don't run tests on static build.

Change-Id: I10c7851ecebcfa3691690c6bc26a352fd5799965
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-11 05:56:37 +00:00
Qt Submodule Update Bot
c62fcdea06 Update submodules on 'wip/cmake' in qt5
Change-Id: I37d9b32566af41419e1bb64c0cf94c66fb3e6c4f
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-10 14:24:29 +00:00
Qt Submodule Update Bot
8e6a3321df Update submodules on 'wip/cmake' in qt5
Change-Id: Iac966615b9f25dc4be021d1db59f8c933646231d
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-09 19:33:32 +00:00
Liang Qi
1eae3c4185 Update submodules on 'dev' in qt5
Change-Id: I87be62d19a3aee1fae16cdf27fd35ec67e30130d
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-07 09:04:49 +02:00
Qt Submodule Update Bot
bd4774f690 Update submodules on 'wip/cmake' in qt5
Change-Id: I72c047067aee2006aedfb97fa8d7e3fc214ee590
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-07 05:14:59 +00:00
Simon Hausmann
8b7c454d35 Update submodules on 'wip/cmake' in qt/qt5
Change-Id: I9ab957cbe9f81f266ec590e9fb8100608f77f55d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-09-06 14:53:22 +00:00
Simon Hausmann
016016b64e Really add qttools to the build
... and not qtscript accidentally, like in the previous change.

Change-Id: Ic8cd85ef7b149ffee7bc85ffa3fc9075f8a77c1b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-06 13:32:03 +00:00
Simon Hausmann
01b083ca8e Disable qtscript for the cmake build
The module has not been ported.

Change-Id: I99041e00fb30b2a9799ee3e948f255422bbc6976
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-06 09:23:52 +00:00
Simon Hausmann
f99d5e8b78 Re-enable qttools for use with cmake
Change-Id: I040b8769af22290a986ccac476f30e7eed78b3e4
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-06 09:04:50 +00:00
Simon Hausmann
e4259942ff Add empty build instructions to allow for qt5 integrations
The build shall be empty for now, but this allow testing module wide
updates.

Change-Id: I47bcdae274edb2ec000bb57480d74614d3b55833
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-05 14:34:12 +00:00
Simon Hausmann
2b42c7d383 Update qtbase manually to pull in build fix for qttools
Change-Id: I223b8c2f10bc05a5eacd103b65a061365e58ab46
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-05 13:38:20 +00:00
Qt Submodule Update Bot
a30c79bcfb Update submodules on 'wip/cmake' in qt5
Change-Id: I90667c3b7b1920d129cc8821059a56a9d9f70766
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-05 11:58:23 +00:00
Liang Qi
5bd6aa7c26 Include qtimageformats and qtnetworkauth in wip/cmake
Change-Id: I9f451ef08663a635ca05427735a31da895a68607
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-05 11:56:43 +00:00
Liang Qi
30d78feb0c Include qtgraphicaleffects in wip/cmake
Change-Id: Ie8fd5d478caa1d16cdea3c06a9b7cfeeb7dcd0cc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-05 07:45:36 +00:00
Liang Qi
651b050e13 Include qtdeclarative in wip/cmake
Change-Id: I9d23a60fbd88e30ee688532dbe5112dd3245b9a7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-04 17:52:10 +00:00
Simon Hausmann
bd8feeb6b2 Update qtbase manually
Hopefully this pulls in the last fixes to make declarative work.

Change-Id: I7c4765be631b917ee51e200977a01a913bc619b2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-04 13:59:53 +00:00
Qt Submodule Update Bot
9eefc9213e Update submodules on 'wip/cmake' in qt5
Change-Id: Id515390a8b8af0d989609d44fcc1e4d113190bca
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-04 13:19:25 +00:00
Qt Submodule Update Bot
4259affdb7 Update submodules on 'wip/cmake' in qt5
Change-Id: Ibf9eb43c66e2bb4d3c8e17d2ff99794408df9b9e
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-03 11:51:34 +00:00
Qt Submodule Update Bot
34dd42b9f8 Update submodules on 'wip/cmake' in qt5
Change-Id: I989dc05dc59095f47defb8cf4af20b40060ac2ab
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-03 09:27:51 +00:00
Qt Submodule Update Bot
580d5fcc32 Update submodules on 'wip/cmake' in qt5
Change-Id: Id663bfb78313de014c8412396321253a505f80c7
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-02 13:24:15 +00:00
Qt Submodule Update Bot
9ba0de3708 Update submodules on 'wip/cmake' in qt5
Change-Id: Iee3299d179b8dfcdc7b69dd683c4be685610605a
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-31 06:10:32 +00:00
Liang Qi
4bf048f7a7 Include qtsvg in wip/cmake
Change-Id: I6df7b31637e9512dc7fe92819741d01af3f87310
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-30 10:40:25 +00:00
Qt Submodule Update Bot
91e7e78e63 Update submodules on 'wip/cmake' in qt5
Change-Id: I30bfbcd5e25391613bc5c7219446d0bc336894cb
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-30 08:41:25 +00:00
Qt Submodule Update Bot
9828fd1d7b Update submodules on 'wip/cmake' in qt5
Change-Id: If619405e5fb6aed8b4c2e9829514825e785d37b5
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-29 05:53:46 +00:00
Qt Submodule Update Bot
21bcce41eb Update submodules on 'wip/cmake' in qt5
Change-Id: I45e93ee3d0f5e0ada30608cc9d3b459b9c594a56
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-24 08:22:32 +00:00
Qt Submodule Update Bot
bbf5272c81 Update submodules on 'wip/cmake' in qt5
Change-Id: I1fef265d608fd7729f8f3493d11660dce0502406
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-22 05:15:42 +00:00
Qt Submodule Update Bot
48b228f728 Update submodules on 'wip/cmake' in qt5
Change-Id: Id919678e8e69dfe3c80d43fa9dbd10df7f02462d
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-16 07:44:25 +00:00
Alexandru Croitor
8c2ecdbc27 Update qt5 wip/qt6
Bump qtwebengine sha1 and re-enable qtwebengine and qtwebview to
be built.

Change-Id: I5f9f57b1083629e4294b4a34b74780a862d9e873
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-14 13:08:44 +02:00
Qt Submodule Update Bot
af7097ed42 Update submodules on 'wip/cmake' in qt5
Change-Id: Ie79c40427bf35051b853df9209cee16ad15de0fd
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-11 21:47:43 +00:00
Alexandru Croitor
621c18b60b Update qt5 wip/qt6
Point qt3d, qtdeclarative, qtgraphicaleffects, qtimageformats,
qtnetworkauth, qtquickcontrols2, qtsvg to latest wip/qt6.
Also re-enable the qt3d build.

Change-Id: If9d122e064021b500a423376b991edbb5c1903fc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-11 13:42:14 +02:00
Alexandru Croitor
f46f85b0c7 Update qt5 wip/qt6
Point qtbase to latest wip/qt6.
Temporarily disable building qt3d because it fails with the new qtbase
version, but updating it with old SHA1 of qtbase is also not possible.

Change-Id: I232920be48f01608f196c24370c684eccbd3994f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-10 00:17:47 +02:00
Alexandru Croitor
3e396d5ef1 Update qt5 wip/qt6
Point qtbase to wip/qt6.

And use new sha1s for other repositories when needed.
And update .gitmodules branch to point to wip/qt6.

Change-Id: Ic12a106d1b491f77277419a27b61396ba07f1737
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-09 15:59:54 +02:00
Qt Submodule Update Bot
30ca64e65b Update submodules on 'wip/cmake' in qt5
Change-Id: I85cbd5003e89b2b2af2237dd6a5489b45057e3c2
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-07 12:38:55 +00:00
Qt Submodule Update Bot
139e8e4701 Update submodules on 'wip/cmake' in qt5
Change-Id: I5440f3860baca1ca151a0e35f835103c596a1e1c
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-08-04 09:55:52 +00:00
Qt Submodule Update Bot
b7cf9cc257 Update submodules on 'wip/cmake' in qt5
Change-Id: I1db600010615f24d6b35c5d6740494422cb917f6
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-07-31 11:24:26 +00:00
Alexandru Croitor
0b2f4d57e4 Update qt5 wip/qt6
qtbase pointing to dev branch, and other repos pointing to
wip/qt6.

qtwebengine and qtwebview are not built at the moment. The build of
the mentioned repos will be restored after bumping qtbase version
to 6.0.0, and after the subsequent qt/qt5 wip/qt6 integration is
merged.

Change-Id: I9b6b8136b2f58b181ae2d2dadb8a96b9c1103225
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-07-29 15:24:06 +00:00
Qt Submodule Update Bot
caf72a3e61 Update submodules on 'wip/cmake' in qt5
Change-Id: I4314ca80f344975b9cb01dbd7d26a2b66149f8d8
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-07-26 08:41:51 +00:00
Qt Submodule Update Bot
483aff91d5 Update submodules on 'wip/cmake' in qt5
Change-Id: I3026b396baf1de58d44335c72d94fa42ef11e2ae
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-07-22 10:38:00 +00:00
Alexandru Croitor
9f1feaf3a0 Merge remote-tracking branch 'origin/dev' into wip/qt6
Fixes the qtdeclarative quoting around DISTRO_OPTS.
Brings in qtquicktimeline submodule.

Change-Id: I7a6a5ae92a196389aff612b7b0dd98a2d31ff4d0
2019-07-07 13:41:22 +02:00
Alexandru Croitor
84e57b1fb0 Try to update sha1s of submodules to get a working qt5 wip/qt6 branch
qtbase, qtremoteobjects, qtquickcontrols, qtquickcontrols2
qtlocation and qttools are updated to latest dev HEAD.
qtimageformats, qtnetworkauth, qtsvg, qtdeclarative are updated to
point to latest wip/qt6 HEAD.

Change-Id: I70938d0d258208670c7d3e3f73fe3e3b274c2eb2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-07-06 20:33:23 +00:00
Qt Submodule Update Bot
3d257d4469 Update submodules on 'wip/cmake' in qt5
Change-Id: I30e47f20800449cf0e808dc467f88c56a106a7ee
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-07-04 11:57:35 +00:00
Qt Submodule Update Bot
084bc8e03d Update submodules on 'wip/cmake' in qt5
Change-Id: I982d2416a488f18dc672089e9618db04422cf49f
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-07-02 20:59:38 +00:00
Jędrzej Nowacki
caacdfc3e1 Remove "-DBUILD_TESTING=OFF" from default configs
It is not needed. QtBase build instructions add it explicitly, as
the tests are build with a separate cmake call (to compile tests
against differently installed Qt).

Change-Id: I22fe26d4bdb9dd237df76246607d823f4b4fa315
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-07-02 13:47:59 +00:00
Jędrzej Nowacki
8e54519b75 Do not specify compiler binary name directly
We have a code that handles that implicitly so it is not needed anymore.

Change-Id: I4aea2f55f9efd24ec7cf22cb8b413789ec3e7fea
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-07-02 13:47:52 +00:00
Qt Submodule Update Bot
36c9379e07 Update submodules on 'wip/cmake' in qt5
Change-Id: Ic264dee2452ffc8b58609f5114444b49488d951b
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-06-27 07:55:01 +00:00
Qt Submodule Update Bot
d3e2f494fd Update submodules on 'wip/cmake' in qt5
Change-Id: Ia666fc2c946e00b901bd225e06c455474591f7f1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-06-26 09:00:56 +00:00
Qt Submodule Update Bot
0ec119a442 Update submodules on 'wip/cmake' in qt5
Change-Id: Id5266aa8146f6d870fdddedc106d7ef1add5d5c6
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-06-24 11:42:50 +00:00
Liang Qi
245f5afd71 Remove DisableTests in features
At least we can get tests built now.

Change-Id: I7830f495002083023651ca5da3c6c39e745f920f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-24 11:42:34 +00:00
Jędrzej Nowacki
61d838e4f0 Move ICC compiler name setup to instructions level
That way we can simplify product level configuration.

Change-Id: Ib855c1873d3b4566b437845ab18182a0db8e45b9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-06-24 06:25:02 +00:00
Simon Hausmann
5464a31c61 Enable freetype on the Windows build
With the newer vcpkg this works now.

Change-Id: I8408041b338ffbe74aaec9afbb1cf8cbf3bb1d92
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-06-21 11:59:51 +00:00
Simon Hausmann
9d7437859b Update vcpkg installation
Use the latest snapshot, fetch the package set from the repo itself and
set the VCPKG_ROOT environment variable as that's the vcpkg documented
interface.

The qt specific triplet defaults to static linkage, which allows
removing the %PATH% handling and resembles the same setup as in Qt 5
where we linked the 3rd-party code statically into qt.

Change-Id: I789d61b5c7258674c2dd80403efaeb891c8f75c7
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-06-21 11:59:42 +00:00
Qt Submodule Update Bot
b53dfe6a86 Update submodules on 'wip/cmake' in qt5
Change-Id: If09d644bb84c83a515a68bada24ab0203a6c6003
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-06-20 07:48:12 +00:00
Liang Qi
cd8c1032c3 Update qtbase on 'wip/cmake' in qt5
Change-Id: Ibe0281f5558efb8e0c1f00b17af367173331e30a
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-06-17 11:34:24 +00:00
Jędrzej Nowacki
b62c39f49f Increase CI test coverage by changing GCC to ICC
There is already other place in which we compile with GCC on Linux.

As we use ninja now, it has to be installed on open suse too.
Cmake port depends on system libraries therefore pcre2 needs to be
installed.

Change-Id: I92e16cc31fa60b4c591e71b58cd7235540065ac6
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-06-17 10:56:43 +00:00
Alexandru Croitor
cfd35cc498 Add a new Linux config that builds a static developer build
Change-Id: I8e40ed674cf0a72223a0180296db8eaa6eb6da06
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-12 14:42:31 +00:00
Liang Qi
8f2b2dba78 Enable windows and macOS builds for yaml and cmake
Change-Id: I91aea0fe59e77cf95f7441c646e95d038f0e0032
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-12 11:17:32 +00:00
Jędrzej Nowacki
2e5b5cc075 Update cmake sha1 for Windows
It amends a6d159c9e7. Seems that I
computed sha1 for a wrong file.

Change-Id: Ie524b2c825189a91cd6b809ff7991af20bd301b1
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-06 13:54:00 +00:00
Jędrzej Nowacki
a6d159c9e7 Bump cmake to 3.15-rc1 on Windows
Same as for the recent Linux and macOS change.

Change-Id: Ic7ae30333f8cd58925f697c19ca046ceac49cd32
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-06-06 07:56:27 +00:00
Jędrzej Nowacki
7df4f93cb1 Fix provisioning of cmake on macOS
The script contains a bit of data duplication, one of the fields was
not updated.

This amends 463235a0bc.

Change-Id: Idb9e88eba1f1415a0ca29f2c3a003c8a844bb024
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-06 07:39:02 +00:00
Jędrzej Nowacki
36d634a7dd Fix paths when installing cmake on macOS
This ammends d44a7a5f14.

Change-Id: I8e8644a1f8677e6e62fb6356cc6c3533ec40e454
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-06 07:38:52 +00:00
Simon Hausmann
716cb8185a Fix path to cmake installation script
Amends commit d44a7a5f14

Change-Id: I52926a8e8c488beaeb70c9bf0222c7caa0ccfe9c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-06-06 06:58:55 +00:00
Simon Hausmann
463235a0bc Bump cmake to 3.15-rc1
Same as for the recent Linux change.

Change-Id: I073411bcfa8cbd692a7770cdaad3a368c6f7108d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-05 12:54:18 +00:00
Simon Hausmann
d44a7a5f14 Install cmake from binaries instead of from source
The from-source installation originates from a point in time where there
was no cmake release with binaries that were sufficient. That is not the
case with 3.15-rc1.

Change-Id: I385016969f21c194b25334e3af8af7283fc5873f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-06-05 12:47:18 +00:00
Jean-Michaël Celerier
086439b018 Upgrade CMake to 3.15.0-rc1
Change-Id: I374631637a6521621dfa702aa2390998ef124d24
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-06-05 09:21:01 +00:00
Liang Qi
aabcc8128c Provisioning: Add ninja to the list of installed packages
Change-Id: I018e7812fc95c1db841720294a700a391246251d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-24 09:58:03 +00:00
Jędrzej Nowacki
79bc4f0771 Move some configure arguments to qtbase instructions
These arguments are specific to the build and changes to them are _not_
affecting configuration.

Change-Id: I701b7d83511c5f80b88c5aab09eae3ecb6df74a1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-05-22 15:35:44 +00:00
Liang Qi
20e8121c77 Use yaml configuration file for cmake support
It is needed by new coin to support cmake build as only
there configuration arguments are separated from features.

Change-Id: I960ec693f80803fd86de472efc953a38358ae14e
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-05-20 12:37:44 +00:00
Frederik Gladhorn
5677a43a25 Remove platforms from Qt 6
Get to a smaller set to reduce load on the CI and have faster
turnaround times while developing. Remove some older compilers
that do not support the minimum C++ feature set we want to require
for Qt 6.

We'll need to revisit and probably expand this set when we get closer
to releasing Qt 6.

Change-Id: I6afba8b3caca0fac5bbf80efdcde7714b8d1ab76
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-05-16 08:33:58 +00:00
Liang Qi
073dfc6457 Update submodules on 'wip/cmake' in qt5
Change-Id: I437150950324ad3734ad895b6cbc4ad7bf6139a1
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-08 14:19:22 +00:00
Liang Qi
21604cf7da Provisioning: install vcpkg and some packages on Windows 10
Change-Id: Ib8ba5b30ebcfb5e66ce5de65c9287807943d7166
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:37:10 +00:00
Liang Qi
4c655a140b Provisioning: install latest cmake - 3.14.1 on Windows
Change-Id: I461589be02c26e048d5975d59600376022d728fd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:37:05 +00:00
Liang Qi
ad2f91e414 Provisioning: Add Windows 10+MSVC2017 to test cmake build
Change-Id: I7acd16f12ed0e5d0fb7a9961c9099b9e4f1a2401
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:37:02 +00:00
Liang Qi
cb860d794d Provisioning: Add freetype to the list of installed packages on macOS
Change-Id: Ic2df763fc027e3a588723a37a70354d3becc29a6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:36:57 +00:00
Liang Qi
705696e1d1 Provisioning: Add pcre2 to the list of installed packages
This external dependency is now required by QtCore on macOS.

Change-Id: I4eef98e8e54f00861c1e9469dfbac61979d652e8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:36:45 +00:00
Liang Qi
8b0a10d1c1 Provisioning: build cmake from source on macOS 10.13
Change-Id: Ifada0cf62d1e75e8cab3e3bbe6250718747d0703
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:36:42 +00:00
Liang Qi
05eaaeda4b Add macOS 10.13 to test cmake build
Change-Id: I676db571d3a14f2abd823d41905b95a070c66f59
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:36:38 +00:00
Liang Qi
e57569e70c Update submodules on 'wip/cmake' in qt5
Only needed for qtbase though.

Change-Id: Ib3fdd44c2804139795fc1efc192e05d227f8b8dc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:36:27 +00:00
Liang Qi
ff8220f9f6 Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
	.gitmodules
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt
	coin/platform_configs/qtbase.txt

Change-Id: Ib25154566eb6da77f091d8f112cc1248cac9eb16
2019-05-03 10:10:23 +02:00
Liang Qi
38b6cbfd42 Provisioning: Add pcre2 to the list of installed packages
This external dependency is now required by QtCore on Linux.

Change-Id: I47ba758e86e110c33f9e2bc7607ff9352892470a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-03-15 22:06:26 +00:00
Liang Qi
7343e226d4 Provisioning: build cmake from source
Change-Id: I6b4006250a7e019d7c38eaf3c29ae75a3a65300c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-03-15 12:51:35 +00:00
Simon Hausmann
d9bf3742ad Add double-conversion to the list of installed packages
This external dependency is now required by QtCore on Linux.

Change-Id: I910a3e17ec4d6c10ad4e1a9dfc31d1340fe110de
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-03-13 15:11:34 +00:00
Liang Qi
36f7ccc586 Cmake: install latest 3.14.0-rc3 packages on Linux
Change-Id: I5d88ac6c9180c24538de7c386d026f2d6547ccf4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-03-13 14:26:35 +00:00
Simon Hausmann
bc14adc831 Shrink build configurations and modules
This change disables all modules except qtbase from the build and also
reduces the build to one configuration. This is not intended to be
merged back to qt5/dev but rather a starting point to build up cmake
builds in the CI platform by platform and module by module.

Change-Id: I899da885dacb32188a0d02b2301df3d4450c0589
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-03-13 14:26:31 +00:00
286 changed files with 1940 additions and 28494 deletions

View File

@@ -17,6 +17,10 @@
#Task-number:
#Coverity-Id:
#
# Add a space-separated list of target branches that the change should
# be cherry-picked to automatically.
#Pick-to:
#
# ==[ Please wrap at 72 characters ]===================================|
#
# Remember to read http://wiki.qt.io/Commit_Policy

167
.gitmodules vendored
View File

@@ -1,81 +1,74 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
branch = 5.15
branch = dev
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
branch = 5.15
branch = dev
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtsvg
path = qtdeclarative
url = ../qtdeclarative.git
branch = 5.15
branch = dev
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
branch = 5.15
status = addon
[submodule "qtscript"]
depends = qtbase
recommends = qttools
path = qtscript
url = ../qtscript.git
branch = 5.15
status = deprecated
branch = dev
status = ignore
[submodule "qtmultimedia"]
depends = qtbase
recommends = qtdeclarative
path = qtmultimedia
url = ../qtmultimedia.git
branch = 5.15
status = essential
branch = dev
status = ignore
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
branch = 5.15
branch = dev
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
recommends = qtdeclarative
path = qtxmlpatterns
url = ../qtxmlpatterns.git
branch = 5.15
status = deprecated
branch = dev
status = ignore
[submodule "qttranslations"]
depends = qttools
path = qttranslations
url = ../qttranslations.git
branch = 5.15
status = essential
branch = dev
status = ignore
priority = 30
[submodule "qtdoc"]
depends = qtdeclarative qttools
recommends = qtmultimedia qtquickcontrols qtquickcontrols2
path = qtdoc
url = ../qtdoc.git
branch = 5.15
status = essential
branch = dev
status = ignore
priority = 40
[submodule "qtrepotools"]
path = qtrepotools
url = ../qtrepotools.git
branch = master
status = essential
status = ignore
project = -
[submodule "qtqa"]
depends = qtbase
path = qtqa
url = ../qtqa.git
branch = master
branch = dev
status = essential
priority = 50
[submodule "qtlocation"]
@@ -83,15 +76,15 @@
recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport
path = qtlocation
url = ../qtlocation.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtsystems"]
depends = qtbase
recommends = qtdeclarative
@@ -123,100 +116,100 @@
recommends = qtdeclarative qtandroidextras
path = qtconnectivity
url = ../qtconnectivity.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
branch = 5.15
branch = dev
status = addon
[submodule "qt3d"]
depends = qtbase
recommends = qtdeclarative qtimageformats qtgamepad
recommends = qtdeclarative qtshadertools
path = qt3d
url = ../qt3d.git
branch = 5.15
branch = dev
status = addon
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = 5.15
branch = dev
status = addon
[submodule "qtgraphicaleffects"]
depends = qtdeclarative
path = qtgraphicaleffects
url = ../qtgraphicaleffects.git
branch = 5.15
branch = dev
status = essential
[submodule "qtquickcontrols"]
depends = qtdeclarative
recommends = qtgraphicaleffects
path = qtquickcontrols
url = ../qtquickcontrols.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtserialbus"]
depends = qtbase
recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtx11extras"]
depends = qtbase
path = qtx11extras
url = ../qtx11extras.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtmacextras"]
depends = qtbase
path = qtmacextras
url = ../qtmacextras.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtwinextras"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtwinextras
url = ../qtwinextras.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtandroidextras"]
depends = qtbase
path = qtandroidextras
url = ../qtandroidextras.git
branch = 5.15
branch = dev
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
branch = 5.15
branch = dev
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtwebengine"]
depends = qtdeclarative
recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools
path = qtwebengine
url = ../qtwebengine.git
branch = 5.15
status = addon
branch = dev
status = ignore
priority = 10
[submodule "qtcanvas3d"]
depends = qtdeclarative
@@ -229,98 +222,110 @@
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtquickcontrols2"]
depends = qtgraphicaleffects
recommends = qtimageformats
depends = qtdeclarative
recommends = qtimageformats qtgraphicaleffects
path = qtquickcontrols2
url = ../qtquickcontrols2.git
branch = 5.15
branch = dev
status = essential
[submodule "qtpurchasing"]
depends = qtbase
recommends = qtdeclarative qtandroidextras
path = qtpurchasing
url = ../qtpurchasing.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia qtquickcontrols
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
branch = 5.15
branch = dev
status = addon
[submodule "qtgamepad"]
depends = qtbase
recommends = qtdeclarative
path = qtgamepad
url = ../qtgamepad.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtscxml"]
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtspeech"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtspeech
url = ../qtspeech.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
branch = 5.15
branch = dev
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtwebglplugin"]
depends = qtbase qtwebsockets
recommends = qtdeclarative
path = qtwebglplugin
url = ../qtwebglplugin.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtlottie"]
depends = qtbase qtdeclarative
path = qtlottie
url = ../qtlottie.git
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtquicktimeline"]
depends = qtbase qtdeclarative
path = qtquicktimeline
url = ../qtquicktimeline
branch = 5.15
status = addon
branch = dev
status = ignore
[submodule "qtquick3d"]
depends = qtbase qtdeclarative
depends = qtbase qtdeclarative qtshadertools
path = qtquick3d
url = ../qtquick3d.git
branch = 5.15
branch = dev
status = addon
[submodule "qtshadertools"]
depends = qtbase
path = qtshadertools
url = ../qtshadertools.git
branch = dev
status = addon
[submodule "qt5compat"]
depends = qtbase
path = qt5compat
url = ../qt5compat.git
branch = dev
status = deprecated

114
CMakeLists.txt Normal file
View File

@@ -0,0 +1,114 @@
cmake_minimum_required(VERSION 3.15.0)
project(Qt
VERSION 6.0.0
DESCRIPTION "Qt Libraries"
HOMEPAGE_URL "https://qt.io/"
LANGUAGES CXX C ASM
)
# Required so we can call ctest from the root build directory
enable_testing()
set(qt_module_prop_prefix "__qt_prop_")
function(extract_git_submodules out_module_list)
set(modules "")
set(current_module "")
set(module_list "")
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/.gitmodules" lines)
foreach(line IN LISTS lines)
string(REGEX REPLACE "^\\[submodule \"([^\"]+)\"\\]$" "\\1" module ${line})
if (NOT module STREQUAL line)
list(APPEND modules ${modules})
set(current_module ${module})
list(APPEND module_list ${module})
else()
string(REGEX REPLACE "^\t([^ =]+) *=.*$" "\\1" prop ${line})
if (NOT prop STREQUAL line)
string(REGEX REPLACE "^[^=]+= *" "" value ${line})
string(REPLACE " " ";" value ${value})
set("${qt_module_prop_prefix}${current_module}_${prop}" "${value}" PARENT_SCOPE)
else()
message(FATAL_ERROR "Malformed line ${CMAKE_CURRENT_SOURCE_DIR}/.gitmodules: ${line}")
endif()
endif()
endforeach()
set(${out_module_list} ${module_list} PARENT_SCOPE)
endfunction()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
if (NOT QT_BUILD_STANDALONE_TESTS)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/qtbase/cmake")
endif()
include(ECMOptionalAddSubdirectory)
include(TopologicalSort)
# Use the CMake config files from the binary dir
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_BINARY_DIR}")
# Also make sure the CMake config files do not recreate the already-existing targets
if (NOT QT_BUILD_STANDALONE_TESTS)
set(QT_NO_CREATE_TARGETS TRUE)
endif()
set(QT_SUPERBUILD TRUE)
# Get submodules list
extract_git_submodules(git_module_list)
foreach(module IN LISTS git_module_list)
# Prepare a list of dependencies to be fed into topological sort
set("${qt_module_prop_prefix}${module}_all_dependencies"
${${qt_module_prop_prefix}${module}_depends}
${${qt_module_prop_prefix}${module}_recommends}
${${qt_module_prop_prefix}${module}_serialize}
)
endforeach()
# Sort by dependencies
topological_sort(git_module_list "${qt_module_prop_prefix}" "_all_dependencies")
# Check for unknown modules
foreach(module IN LISTS git_module_list)
foreach(dep IN LISTS "${qt_module_prop_prefix}${module}_all_dependencies")
if (NOT dep IN_LIST git_module_list)
message(FATAL_ERROR "Module '${module}' depends on undeclared module '${dep}'")
endif()
endforeach()
endforeach()
# qtbase is always needed
list(REMOVE_ITEM git_module_list qtbase)
add_subdirectory(qtbase)
if (NOT QT_BUILD_STANDALONE_TESTS)
list(APPEND CMAKE_PREFIX_PATH "${QtBase_BINARY_DIR}")
endif()
foreach(module IN LISTS git_module_list)
ecm_optional_add_subdirectory(${module})
endforeach()
# Check for unmet dependencies
foreach(module IN LISTS git_module_list)
foreach(dep IN LISTS "${qt_module_prop_prefix}${module}_depends")
if (dep STREQUAL qtbase)
# Always available skip
continue()
endif()
if (DEFINED BUILD_${module} AND BUILD_${module})
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${dep}/CMakeLists.txt")
message(FATAL_ERROR "Module '${module} depends on '${dep}', but ${deps}'s CMakeLists.txt couldn't be found.\n")
endif()
if(NOT BUILD_${dep})
message(FATAL_ERROR "Module '${module} depends on '${dep}', but ${deps} will not be built.\n")
endif()
endif()
endforeach()
endforeach()
if(NOT QT_BUILD_STANDALONE_TESTS)
# Display a summary of everything
include(QtBuildInformation)
qt_print_feature_summary()
qt_print_build_instructions()
endif()

View File

@@ -59,6 +59,9 @@ ContinuationIndentWidth: 8
# No indentation for namespaces.
NamespaceIndentation: None
# Allow indentation for preprocessing directives (if/ifdef/endif). https://reviews.llvm.org/rL312125
IndentPPDirectives: AfterHash
# Horizontally align arguments after an open bracket.
# The coding style does not specify the following, but this is what gives
# results closest to the existing code.

View File

@@ -0,0 +1,73 @@
#.rst:
# ECMOptionalAddSubdirectory
# --------------------------
#
# Make subdirectories optional.
#
# ::
#
# ecm_optional_add_subdirectory(<dir>)
#
# This behaves like add_subdirectory(), except that it does not complain if the
# directory does not exist. Additionally, if the directory does exist, it
# creates an option to allow the user to skip it. The option will be named
# BUILD_<dir>.
#
# This is useful for "meta-projects" that combine several mostly-independent
# sub-projects.
#
# If the CMake variable DISABLE_ALL_OPTIONAL_SUBDIRECTORIES is set to TRUE for
# the first CMake run on the project, all optional subdirectories will be
# disabled by default (but can of course be enabled via the respective options).
# For example, the following will disable all optional subdirectories except the
# one named "foo":
#
# .. code-block:: sh
#
# cmake -DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE -DBUILD_foo=TRUE myproject
#
# Since pre-1.0.0.
#=============================================================================
# Copyright 2007 Alexander Neundorf <neundorf@kde.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
function(ECM_OPTIONAL_ADD_SUBDIRECTORY _dir)
get_filename_component(_fullPath ${_dir} ABSOLUTE)
if(EXISTS ${_fullPath}/CMakeLists.txt)
if(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES)
set(_DEFAULT_OPTION_VALUE FALSE)
else()
set(_DEFAULT_OPTION_VALUE TRUE)
endif()
if(DISABLE_ALL_OPTIONAL_SUBDIRS AND NOT DEFINED BUILD_${_dir})
set(_DEFAULT_OPTION_VALUE FALSE)
endif()
option(BUILD_${_dir} "Build directory ${_dir}" ${_DEFAULT_OPTION_VALUE})
if(BUILD_${_dir})
add_subdirectory(${_dir})
endif()
endif()
endfunction()

148
cmake/TopologicalSort.cmake Normal file
View File

@@ -0,0 +1,148 @@
##############################################################################
# @file TopologicalSort.cmake
# @brief CMake implementation of topological sorting algorithm.
#
# Perform a reverse topological sort on the given LIST.
#
# topological_sort(my_list "MY_" "_EDGES")
#
# LIST is the name of a variable containing a list of elements to be
# sorted in reverse topological order. Each element in the list has a
# set of outgoing edges (for example, those other list elements that
# it depends on). In the resulting reverse topological ordering
# (written back into the variable named LIST), an element will come
# later in the list than any of the elements that can be reached by
# following its outgoing edges and the outgoing edges of any vertices
# they target, recursively. Thus, if the edges represent dependencies
# on build targets, for example, the reverse topological ordering is
# the order in which one would build those targets.
#
# For each element E in this list, the edges for E are contained in
# the variable named ${PREFIX}${E}${SUFFIX}. If no such variable
# exists, then it is assumed that there are no edges. For example, if
# my_list contains a, b, and c, one could provide a dependency graph
# using the following variables:
#
# MY_A_EDGES b
# MY_B_EDGES
# MY_C_EDGES a b
#
# With the involcation of topological_sort shown above and these
# variables, the resulting reverse topological ordering will be b, a, c.
#
# @verbatim
##############################################################################
# Modified from Boost Utilities
#
# Copyright 2010 Kitware, Inc.
##############################################################################
# Copyright 2007 Douglas Gregor <doug.gregor@gmail.com>
# Copyright 2007 Troy Straszheim
#
# Distributed under the Boost Software License, Version 1.0.
##############################################################################
# Boost Software License - Version 1.0 - August 17th, 2003
#
# Permission is hereby granted, free of charge, to any person or organization
# obtaining a copy of the software and accompanying documentation covered by
# this license (the "Software") to use, reproduce, display, distribute,
# execute, and transmit the Software, and to prepare derivative works of the
# Software, and to permit third-parties to whom the Software is furnished to
# do so, all subject to the following:
#
# The copyright notices in the Software and this entire statement, including
# the above license grant, this restriction and the following disclaimer,
# must be included in all copies of the Software, in whole or in part, and
# all derivative works of the Software, unless such copies or derivative
# works are solely in the form of machine-executable object code generated by
# a source language processor.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
# SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
# FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
##############################################################################
# @endverbatim
#
# @ingroup CMakeUtilities
##############################################################################
function(topological_sort LIST PREFIX SUFFIX)
# Clear the stack and output variable
set(VERTICES "${${LIST}}")
set(STACK)
set(${LIST})
# Loop over all of the vertices, starting the topological sort from
# each one.
foreach(VERTEX ${VERTICES})
# If we haven't already processed this vertex, start a depth-first
# search from where.
if (NOT FOUND_${VERTEX})
# Push this vertex onto the stack with all of its outgoing edges
string(REPLACE ";" " " NEW_ELEMENT
"${VERTEX};${${PREFIX}${VERTEX}${SUFFIX}}")
list(APPEND STACK ${NEW_ELEMENT})
# We've now seen this vertex
set(FOUND_${VERTEX} TRUE)
# While the depth-first search stack is not empty
list(LENGTH STACK STACK_LENGTH)
while(STACK_LENGTH GREATER 0)
# Remove the vertex and its remaining out-edges from the top
# of the stack
list(GET STACK -1 OUT_EDGES)
list(REMOVE_AT STACK -1)
# Get the source vertex and the list of out-edges
separate_arguments(OUT_EDGES)
list(GET OUT_EDGES 0 SOURCE)
list(REMOVE_AT OUT_EDGES 0)
# While there are still out-edges remaining
list(LENGTH OUT_EDGES OUT_DEGREE)
while (OUT_DEGREE GREATER 0)
# Pull off the first outgoing edge
list(GET OUT_EDGES 0 TARGET)
list(REMOVE_AT OUT_EDGES 0)
if (NOT FOUND_${TARGET})
# We have not seen the target before, so we will traverse
# its outgoing edges before coming back to our
# source. This is the key to the depth-first traversal.
# We've now seen this vertex
set(FOUND_${TARGET} TRUE)
# Push the remaining edges for the current vertex onto the
# stack
string(REPLACE ";" " " NEW_ELEMENT
"${SOURCE};${OUT_EDGES}")
list(APPEND STACK ${NEW_ELEMENT})
# Setup the new source and outgoing edges
set(SOURCE ${TARGET})
set(OUT_EDGES
${${PREFIX}${SOURCE}${SUFFIX}})
endif(NOT FOUND_${TARGET})
list(LENGTH OUT_EDGES OUT_DEGREE)
endwhile (OUT_DEGREE GREATER 0)
# We have finished all of the outgoing edges for
# SOURCE; add it to the resulting list.
list(APPEND ${LIST} ${SOURCE})
# Check the length of the stack
list(LENGTH STACK STACK_LENGTH)
endwhile(STACK_LENGTH GREATER 0)
endif (NOT FOUND_${VERTEX})
endforeach(VERTEX)
set(${LIST} ${${LIST}} PARENT_SCOPE)
endfunction(topological_sort)

View File

@@ -0,0 +1,23 @@
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

13
cmake/qt_attribution.json Normal file
View File

@@ -0,0 +1,13 @@
{
"Id": "cmake_topological_sort",
"Name": "CMake Topological Sort",
"QDocModule": "qt",
"QtUsage": "Used in the CMake super build project file",
"Files": "TopologicalSort.cmake",
"Description": "CMake implementation of the topological sort algorithm",
"License": "Boost Software License - Version 1.0",
"LicenseFile": "TopologicalSort_LICENSE.txt",
"Copyright": "Copyright 2010 Kitware, Inc."
}

27
coin/module_config.yaml Normal file
View File

@@ -0,0 +1,27 @@
version: 2
accept_configuration:
condition: property
property: host.os
equals_property: target.os
instructions:
Build:
- !include "{{qt/qtbase}}/prepare_building_env.yaml"
- type: MakeDirectory
directory: .git
- type: SetBuildDirectory
directory: "{{.SourceDir}}"
- type: ChangeDirectory
directory: "{{.BuildDir}}"
- type: ExecuteCommand
command: "{{.Env.ENV_PREFIX}} cmake {{.Env.CONFIGURE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{.InstallDir}} -DBUILD_TESTING=OFF {{.SourceDir}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
userMessageOnFailure: >
Failed to call cmake.
Test:
- type: EnvironmentVariable
variableName: Dummy
variableValue: dummy

View File

@@ -1,149 +1,40 @@
Version: 2
Configurations:
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2015'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -developer-build -release -angle -qtnamespace TestNamespace -qtlibinfix TestInfix -nomake tests -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -qt-zlib'
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Features: ['Packaging']
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW810_i686\mingw32\bin;$PATH']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -developer-build -release -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -platform win32-g++ -qt-zlib'
-
Template: 'qtci-windows-10-x86_64-17'
Target arch: 'x86'
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Features: ['Packaging']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -qt-zlib'
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2015'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -qt-zlib'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'WinRT_10'
Target arch: 'x86'
Compiler: 'MSVC2015'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -no-sql-mysql -platform win32-msvc2015 -xplatform winrt-x86-msvc2015'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'WinRT_10'
Target arch: 'armv7'
Compiler: 'MSVC2015'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -no-sql-mysql -platform win32-msvc2015 -xplatform winrt-arm-msvc2015'
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2019'
Features: ['Packaging']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -qt-zlib'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -R . -qtlibinfix TestInfix -qtnamespace TestNamespace -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -force-debug-info -nomake tests -no-widgets -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Features: ['OutOfSourceBuild', 'Documentation']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -R . -qtlibinfix TestInfix -qtnamespace TestNamespace -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-pch -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'ICC_18'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-pch -system-sqlite -R . -platform linux-icc-64 -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Target os: 'WebAssembly'
Compiler: 'GCC'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -release -static -nomake tests -nomake examples -no-sql-mysql -no-pch -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -no-feature-thread -xplatform wasm-emscripten'
-
Template: 'qtci-linux-SLES-15-x86_64'
Compiler: 'GCC'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -no-sql-mysql -no-pch -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Features: ['Packaging']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -separate-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -xcb -bundled-xcb-xinput -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s'
-
Template: 'qtci-macos-10.13-x86_64-2'
Compiler: 'Clang'
Features: ['Packaging']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -force-debug-info -separate-debug-info -nomake tests -nomake examples -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -no-pch -no-framework -qtnamespace TestNamespace -nomake tests -nomake examples -I/usr/local/opt/openssl/include'
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'multi'
Compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -nomake tests -no-icu -nomake examples -no-sql-mysql -no-sql-psql -plugin-sql-sqlite -static -xplatform macx-ios-clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'Clang'
Target compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'armv7'
Compiler: 'GCC'
Environment variables: ['GST_PLUGIN_SCANNER=/opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/libexec/gstreamer-1.0/gst-plugin-scanner']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'arm64'
Compiler: 'GCC'
Environment variables: ['GST_PLUGIN_SCANNER=/opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/libexec/gstreamer-1.0/gst-plugin-scanner']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-arm64/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-arm64/sysroots/aarch64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib'
Features: ['Packaging']
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'mips64'
Compiler: 'GCC'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-mips64/sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-mips64/sysroots/mips64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-mips64/sysroots/mips64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib'
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Features: ['Packaging']
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck']
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'INTEGRITY_11_04'
Target arch: 'armv7'
Compiler: 'GCC'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-use-gold-linker -opengl es2 -xplatform integrity-armv7-imx6'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'QNX_700'
Target arch: 'armv7'
Compiler: 'GCC'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -extprefix /home/qt/work/install -release -nomake tests -nomake examples -no-use-gold-linker -opengl es2 -no-sql-mysql -qpa qnx -xplatform qnx-armle-v7-qcc'
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -4,20 +4,20 @@ Configurations:
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2019'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2019'
Target arch: 'x86'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s -static -no-icu'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck']
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']

View File

@@ -1,40 +1,43 @@
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET1'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET2'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET3'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET4'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET5'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET6'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET7'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET8'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET9'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET10'
Version: 2
Module only: True
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET1'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET2'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET3'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET4'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET5'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET6'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET7'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET8'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET9'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'Yocto'
Target arch: 'TARGET10'

View File

@@ -5,17 +5,17 @@ Configurations:
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2015'
Target arch: 'x86'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -nomake tests -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -opengl dynamic -static -no-icu -nomake examples -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86%'
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2015'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -nomake tests -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -opengl dynamic -static -no-icu -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64%'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s -static -no-icu'
-
Template: 'qtci-macos-10.13-x86_64-2'
@@ -25,4 +25,4 @@ Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck']
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -1,115 +1,6 @@
Version: 2
Configurations:
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'WinRT_10'
Compiler: 'MSVC2015'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -force-debug-info -no-sql-mysql -platform win32-msvc2015 -xplatform winrt-x64-msvc2015'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'WinRT_10'
Target arch: 'x86'
Compiler: 'MSVC2019'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -force-debug-info -no-sql-mysql -platform win32-msvc2019 -xplatform winrt-x86-msvc2019'
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW810_i686\mingw32\bin;$PATH']
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -separate-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -platform win32-g++ QMAKE_LFLAGS_APP+=-s -qt-zlib'
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW810\mingw64\bin;$PATH']
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -separate-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -platform win32-g++ QMAKE_LFLAGS_APP+=-s -qt-zlib'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'WinRT_10'
Target arch: 'armv7'
Compiler: 'MSVC2019'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -force-debug-info -no-sql-mysql -platform win32-msvc2019 -xplatform winrt-arm-msvc2019'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'WinRT_10'
Compiler: 'MSVC2019'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -force-debug-info -no-sql-mysql -platform win32-msvc2019 -xplatform winrt-x64-msvc2019'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW810\mingw64\bin;$PATH']
Target compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20'
-
Template: 'qtci-macos-10.13-x86_64-2'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'Clang'
Target compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host darwin-x86_64'
-
Template: 'qtci-macos-10.13-x86_64-2'
Target os: 'QNX_700'
Target arch: 'x86'
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -extprefix /Users/qt/work/install -release -nomake tests -nomake examples -no-use-gold-linker -opengl es2 -qpa qnx -xplatform qnx-x86-qcc'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'QNX_700'
Target arch: 'armv7'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\Program Files\Git\bin;C:\MINGW810\mingw64\bin;$PATH;C:\qnx700\host\win64\x86_64\usr\bin;C:\qnx700\.qnx\bin', 'MAKEFLAGS=-j4 -Ic:\qnx700\target\qnx7\usr\include', 'QNX_CONFIGURATION=c:/qnx700/.qnx', 'QNX_CONFIGURATION_EXCLUSIVE=c:/qnx700/.qnx', 'QNX_TARGET=c:/qnx700/target/qnx7', 'QNX_HOST=c:/qnx700/host/win64/x86_64', 'LIB=""', 'INCLUDE=""']
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -extprefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -opengl es2 -xplatform qnx-armle-v7-qcc'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'QNX_700'
Target arch: 'armv8'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\Program Files\Git\bin;C:\MINGW810\mingw64\bin;$PATH;C:\qnx700\host\win64\x86_64\usr\bin;C:\qnx700\.qnx\bin', 'MAKEFLAGS=-j4 -Ic:\qnx700\target\qnx7\usr\include', 'QNX_CONFIGURATION=c:/qnx700/.qnx', 'QNX_CONFIGURATION_EXCLUSIVE=c:/qnx700/.qnx', 'QNX_TARGET=c:/qnx700/target/qnx7', 'QNX_HOST=c:/qnx700/host/win64/x86_64', 'LIB=""', 'INCLUDE=""']
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -extprefix c:\Users\qt\work\install -release -opengl es2 -nomake tests -nomake examples -no-sql-mysql -xplatform qnx-aarch64le-qcc'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'QNX_700'
Target arch: 'x86_64'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\Program Files\Git\bin;C:\MINGW810\mingw64\bin;$PATH;C:\qnx700\host\win64\x86_64\usr\bin;C:\qnx700\.qnx\bin', 'MAKEFLAGS=-j4 -Ic:\qnx700\target\qnx7\usr\include', 'QNX_CONFIGURATION=c:/qnx700/.qnx', 'QNX_CONFIGURATION_EXCLUSIVE=c:/qnx700/.qnx', 'QNX_TARGET=c:/qnx700/target/qnx7', 'QNX_HOST=c:/qnx700/host/win64/x86_64', 'LIB=""', 'INCLUDE=""']
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -extprefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -opengl es2 -xplatform qnx-x86-64-qcc'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'QNX_700'
Target arch: 'armv8'
Compiler: 'GCC'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -extprefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-use-gold-linker -opengl es2 -qpa qnx -xplatform qnx-aarch64le-qcc'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'QNX_700'
Target arch: 'x86_64'
Compiler: 'GCC'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -extprefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-use-gold-linker -opengl es2 -qpa qnx -xplatform qnx-x86-64-qcc'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'WebAssembly'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW810\mingw64\bin;$PATH']
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake examples -nomake tests -no-feature-thread -static -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -no-pch -platform win32-g++ -xplatform wasm-emscripten'
-
Template: 'qtci-macos-10.13-x86_64-2'
Target os: 'WebAssembly'
Compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake examples -nomake tests -no-feature-thread -static -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -no-pch -xplatform wasm-emscripten'
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -1,26 +1,62 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'armv7'
Compiler: 'GCC'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'arm64'
Compiler: 'GCC'
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-arm64/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-arm64/sysroots/aarch64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib'
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'WinRT_10'
Target arch: 'x86_64'
Compiler: 'MSVC2015'
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -developer-build -static -nomake tests -nomake examples -no-icu -force-debug-info -platform win32-msvc2015 -xplatform winrt-x64-msvc2015'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/../x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake -DQT_FEATURE_system_harfbuzz=OFF', 'QT_YOCTO_ENVSETUP={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/../../environment-setup-armv7at2hf-neon-poky-linux-gnueabi', "QT_CMAKE_DIR=/opt/cmake-3.17.2/bin"]
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Target os: 'WebAssembly'
Compiler: 'GCC'
Features: ['DisableTests']
Features: ['DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -developer-build -static -nomake tests -nomake examples -no-pch -no-feature-thread -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -xplatform wasm-emscripten'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Features: ['UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -no-pch -no-framework -qtnamespace TestNamespace -nomake tests -nomake examples -I/usr/local/opt/openssl/include'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -1,6 +0,0 @@
-
Template: 'qtci-windows-10-x86_64-17'
Target os: 'WinRT_10'
Target arch: 'x86_64'
Compiler: 'MSVC2015'
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -developer-build -static -nomake tests -nomake examples -no-icu -force-debug-info -platform win32-msvc2015 -xplatform winrt-x64-msvc2015'

View File

@@ -1,24 +1,48 @@
Version: 2
Configurations:
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Features: ['UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -no-pch -no-framework -qtnamespace TestNamespace -nomake tests -nomake examples -I/usr/local/opt/openssl/include'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'armv7'
Compiler: 'GCC'
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-arm64/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-arm64/sysroots/aarch64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'armv7'
Compiler: 'GCC'
Configure arguments: '-opensource -confirm-license -R . -developer-build -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -no-xcb -nomake examples -nomake tests -openssl -prefix /home/qt/work/install -psql_config /dev/null -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -tslib -verbose'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake examples -nomake tests -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-arm64/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-arm64/sysroots/aarch64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib -no-xcb'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,7 @@
Version: 2
Configurations:
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -5,14 +5,15 @@ Configurations:
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW810\mingw64\bin;$PATH']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -developer-build -nomake tests -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -platform win32-g++'
Features: ['UseLegacyInstructions']
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW810\mingw64\bin;$PATH']
Features: ['Packaging', 'DisableTests']
Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -static -nomake tests -nomake examples -no-icu -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -platform win32-g++'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Features: ['Packaging', 'DisableTests']
Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -static -nomake tests -nomake examples -no-use-gold-linker -no-icu -no-fontconfig -qt-freetype -no-opengl -qpa offscreen -no-xcb -qt-libpng -no-vulkan'

View File

@@ -2,12 +2,14 @@
Template: 'qtci-windows-10-x86-4'
Compiler: 'MSVC2019'
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
Features: ['UseLegacyInstructions']
-
Template: 'qtci-linux-RHEL-6.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -force-debug-info -nomake examples -nomake tests'
Features: ['UseLegacyInstructions']
-
Template: 'qtci-windows-8.1-x86'
Compiler: 'MSVC2015'
Features: ['DisableTests']
Features: ['DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -0,0 +1,80 @@
Version: 2
Module only: True
Configurations:
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2019'
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64%'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Features: ['UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -force-debug-info -nomake tests -no-widgets -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Features: ['OutOfSourceBuild', 'Documentation', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -no-warnings-are-errors -nomake tests -R . -qtlibinfix TestInfix -qtnamespace TestNamespace -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -separate-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -xcb -bundled-xcb-xinput -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Features: ['DisableTests', 'Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -force-debug-info -separate-debug-info -nomake tests -nomake examples -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Features: ['UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Features: ['DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -no-pch -no-framework -qtnamespace TestNamespace -nomake tests -nomake examples -I/usr/local/opt/openssl/include'
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'multi'
Compiler: 'Clang'
Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -nomake tests -no-icu -nomake examples -no-sql-mysql -no-sql-psql -plugin-sql-sqlite -static -xplatform macx-ios-clang'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'Clang'
Target compiler: 'Clang'
Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'armv7'
Compiler: 'GCC'
Features: ['UseLegacyInstructions']
Environment variables: ['GST_PLUGIN_SCANNER=/opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/libexec/gstreamer-1.0/gst-plugin-scanner']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'arm64'
Compiler: 'GCC'
Features: ['UseLegacyInstructions']
Environment variables: ['GST_PLUGIN_SCANNER=/opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/libexec/gstreamer-1.0/gst-plugin-scanner']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-arm64/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-arm64/sysroots/aarch64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Target os: 'QEMU'
Target arch: 'mips64'
Compiler: 'GCC'
Features: ['DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-mips64/sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-mips64/sysroots/mips64r2-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-mips64/sysroots/mips64r2-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']

View File

@@ -4,10 +4,11 @@ Configurations:
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW810_i686\mingw32\bin;$PATH']
Features: ['Packaging', 'DisableTests']
Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -platform win32-g++ QMAKE_LFLAGS_APP+=-s'
-
Template: 'qtci-windows-10-x86_64-16'
Compiler: 'Mingw73'
Features: ['Packaging']
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW810_i686\mingw32\bin;$PATH']
Features: ['Packaging', UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -platform win32-g++ QMAKE_LFLAGS_APP+=-s'

View File

@@ -0,0 +1,43 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-openSUSE-15.1-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
Template: 'qtci-windows-10-x86_64-15'
Compiler: 'MSVC2019'
Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
-
Template: 'qtci-windows-7-x86-3'
Compiler: 'Mingw'
Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']

View File

@@ -4,25 +4,25 @@ Configurations:
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2019'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
-
Template: 'qtci-windows-10-x86_64-17'
Compiler: 'MSVC2019'
Target arch: 'x86'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s -static -no-icu'
-
Template: 'qtci-macos-10.13-x86_64-2'
Compiler: 'Clang'
Features: ['Packaging']
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -nomake examples -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include -static -no-icu'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck']
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']

View File

@@ -1,14 +1,15 @@
-
Template: 'qtci-windows-7-x86_64-4'
Compiler: 'MSVC2013'
Features: ['DisableTests']
Features: ['DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
-
Template: 'qtci-windows-8.1-x86_64'
Compiler: 'MSVC2013'
Features: ['DisableTests']
Features: ['DisableTests', 'UseLegacyInstructions']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
-
Template: 'qtci-windows-10-x86-4'
Compiler: 'MSVC2019'
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
Features: ['UseLegacyInstructions']

View File

@@ -33,7 +33,7 @@
##
#############################################################################
# This script installs CMake 3.7.2
# This script installs CMake
# CMake is needed for autotests that verify that Qt can be built with CMake
@@ -42,10 +42,11 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.7.2"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-3.7.2-Linux-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.tar.gz"
SHA1="915bc981aab354821fb9fd28374a720fdb3aa180"
majorminorversion="3.17"
version="3.17.2"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-Linux-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Linux-x86_64.tar.gz"
SHA1="24a68e61292b91c706b09b4aa8044764e2dfb2e2"
targetFolder="/opt/cmake-$version"
appPrefix="cmake-$version-Linux-x86_64"

View File

@@ -42,13 +42,15 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/cmake-3.11.3-Darwin-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v3.11/cmake-3.11.3-Darwin-x86_64.tar.gz"
SHA1="3d13de8020ce560159fa5cecb669498c48552d96"
appPrefix="cmake-3.11.3-Darwin-x86_64"
majorminorversion="3.17"
version="3.17.2"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-Darwin-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Darwin-x86_64.tar.gz"
SHA1="918a21481751b19915767649281d623aa60716f4"
appPrefix="cmake-$version-Darwin-x86_64"
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
SetEnvVar "PATH" "/Applications/CMake.app/Contents/bin:\$PATH"
echo "CMake = 3.11.3" >> ~/versions.txt
echo "CMake = $version" >> ~/versions.txt

View File

@@ -2,7 +2,7 @@
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## Copyright (C) 2019 The Qt Company Ltd.
## Copyright (C) 2017 Pelagicore AG
## Contact: http://www.qt.io/licensing/
##
@@ -43,23 +43,23 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./pip.sh
source "${BASH_SOURCE%/*}/pip.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.6.1-macosx10.6.pkg"
AltUrl="https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg"
SHA1="ae0c749544c2d573c3cc29c4c2d7d9a595db28f9"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.7.4-macosx10.9.pkg"
AltUrl="https://www.python.org/ftp/python/3.7.4/python-3.7.4-macosx10.9.pkg"
SHA1="ef8a6b1abba6a6e8553916a881af440705653fa8"
DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
InstallPip python3.6
InstallPip python3.7
/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv wheel
/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3 install virtualenv wheel
SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.7/bin"
SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.7/bin"
# Install all needed packages in a special wheel cache directory
/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt
/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt
SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
echo "python3 = 3.6.1" >> ~/versions.txt
echo "python3 = 3.7.4" >> ~/versions.txt

View File

@@ -0,0 +1,41 @@
#!/usr/bin/env bash
#############################################################################
##
## Copyright (C) 2019 The Qt Company Ltd.
## Copyright (C) 2017 Pelagicore AG
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see http://www.qt.io/terms-conditions. For further
## information use the contact form at http://www.qt.io/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 2.1 or version 3 as published by the Free
## Software Foundation and appearing in the file LICENSE.LGPLv21 and
## LICENSE.LGPLv3 included in the packaging of this file. Please review the
## following information to ensure the GNU Lesser General Public License
## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
## As a special exception, The Qt Company gives you certain additional
## rights. These rights are described in The Qt Company LGPL Exception
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
## $QT_END_LICENSE$
##
#############################################################################
# This script sets the macOS locale to UTF-8
set -ex
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
SetEnvVar "LANG" "en_US.UTF-8"

View File

@@ -53,7 +53,7 @@ sudo rm "$targetFile"
# devtoolset is needed when running configuration
if uname -a |grep -qv "Darwin"; then
export PATH="/opt/rh/devtoolset-4/root/usr/bin:$PATH"
export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH"
fi
echo "Configuring and building protobuf"

View File

@@ -2,7 +2,7 @@
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,120 +33,79 @@
##
#############################################################################
# shellcheck source=./DownloadURL.sh
source "${BASH_SOURCE%/*}/DownloadURL.sh"
set -ex
# This script will install squish package for Linux and Mac.
# This script will fetch and extract pre-buildt squish package for Linux and Mac.
# Squish is need by Release Test Automation (RTA)
version="6.5"
# Branch version without dot
qtBranch="513x"
squishFolder="/opt/squish"
squishUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/$qtBranch/"
squishFile="squish-nosignalhandler-$version-qt$qtBranch-linux64.run"
version="6.5.2"
qtBranch="514x"
installFolder="/opt"
squishFolder="$installFolder/squish"
preBuildCacheUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/jenkins_build/stable"
licenseUrl="http://ci-files01-hki.intra.qt.io/input/squish/coin/.squish-3-license"
if uname -a |grep -q Darwin; then
squishFile="squish-nosignalhandler-$version-qt$qtBranch-macx86_64.dmg"
compressedFolder="prebuild-squish-$version-$qtBranch-macx86_64.tar.gz"
sha1="91a1d7228dc4b4bd64f93191c33d2642abc97e14"
else
compressedFolder="prebuild-squish-$version-$qtBranch-linux64.tar.gz"
sha1="63f33de55770e2588dd9f482546900e33d20f8ec"
fi
squishLicenseUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/"
squishLicenseFile=".squish-3-license.tar.gz"
mountFolder="/tmp/squish"
sudo mkdir "$mountFolder"
testSuite="suite_test_squish"
testSuiteUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/"
# These checks can be removed when Vanilla OS for all linux and Mac are in
if [ -d "$squishFolder" ]; then
echo "Move old squish to /tmp"
sudo mv "$squishFolder" "/tmp/squish_$(date)"
# Check which platform
if uname -a |grep -q Darwin; then
usersGroup="staff"
squishLicenseDir="/Users/qt"
elif uname -a |grep -q "el7"; then
usersGroup="qt"
squishLicenseDir="/root"
elif uname -a |grep -q "Ubuntu"; then
usersGroup="users"
squishLicenseDir="/home/qt"
else
usersGroup="users"
squishLicenseDir="/root"
fi
if [ -f "/etc/profile.d/squish_env.sh" ]; then
echo "Remove /etc/profile.d/squish_env.sh"
sudo rm -f "/etc/profile.d/squish_env.sh"
export SQUISH_LICENSEKEY_DIR=$HOME
targetFileMount="$mountFolder"/"$compressedFolder"
echo "Mounting $preBuildCacheUrl to $mountFolder"
sudo mount "$preBuildCacheUrl" "$mountFolder"
echo "Create $installFolder if needed"
if [ ! -d "$installFolder" ]; then
sudo mkdir "$installFolder"
fi
function MountAndInstall {
url=$1
targetDirectory=$2
targetFile=$3
VerifyHash "$targetFileMount" "$sha1"
# Check which platform
if uname -a |grep -q Darwin; then
usersGroup="staff"
mountFolder="/Volumes"
squishLicenseDir="/Users/qt"
elif uname -a |grep -q "el7"; then
usersGroup="qt"
mountFolder="/tmp"
squishLicenseDir="/root"
elif uname -a |grep -q "Ubuntu"; then
usersGroup="users"
mountFolder="/tmp"
squishLicenseDir="/home/qt"
else
usersGroup="users"
mountFolder="/tmp"
squishLicenseDir="/root"
echo "Uncompress $compressedFolder"
sudo tar -xzf "$targetFileMount" --directory "$installFolder"
echo "Unmounting $mountFolder"
sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder"
sudo mv "$installFolder/rta_squish_$version" "$squishFolder"
if uname -a |grep -q "Ubuntu"; then
if [ ! -e "/usr/lib/tcl8.6" ]; then
sudo mkdir /usr/lib/tcl8.6
sudo cp "$squishFolder/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/
fi
fi
function UnMount {
echo "Unmounting $mountFolder"
sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder"
}
DownloadURL "$licenseUrl" "$licenseUrl" "3c6b2b3ca047f68e20f697afcc3a9d376f01b376" "$HOME/.squish-3-license"
targetFileMount="$mountFolder"/"$targetFile"
echo "Mounting $url to $mountFolder"
sudo mount "$url" "$mountFolder"
echo "Create $targetDirectory if needed"
if [ ! -d "/opt" ]; then
sudo mkdir "/opt"
fi
if [ ! -d "$targetDirectory" ]; then
sudo mkdir "$targetDirectory"
fi
echo "Uncompress $targetFile"
if [[ $targetFile == *.tar.gz ]]; then
if [[ $targetFile == .squish-3-license.* ]]; then
target="$squishLicenseDir"
# Squish license need to be exists also in users home directory, because squish check it before it starts running tests
sudo tar -xzf "$targetFileMount" --directory "$HOME"
else
target="$targetDirectory"
fi
sudo tar -xzf "$targetFileMount" --directory "$target"
UnMount
elif [[ $targetFile == *.dmg ]]; then
echo "'dmg-file', no need to uncompress"
sudo cp $targetFileMount /tmp
UnMount
sudo hdiutil attach "/tmp/$targetFile"
sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null
mountFolder="/Volumes/froglogic Squish"
UnMount
elif [[ $targetFile == *.run ]]; then
echo "'run-file', no need to uncompress"
sudo cp $targetFileMount $targetDirectory
UnMount
sudo chmod +x $targetDirectory/$targetFile
sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null
sudo rm -fr "$targetDirectory/$targetFile"
if uname -a |grep -q "Ubuntu"; then
sudo mkdir /usr/lib/tcl8.6
sudo cp "$targetDirectory/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/
fi
else
exit 1
fi
echo "Changing ownerships"
sudo chown -R qt:$usersGroup "$targetDirectory"
sudo chown qt:$usersGroup "$HOME/.squish-3-license"
}
echo "Changing ownerships"
sudo chown -R qt:$usersGroup "$squishFolder"
sudo chown qt:$usersGroup "$HOME/.squish-3-license"
echo "Set commands for environment variables in .bashrc"
if uname -a |grep -q "Ubuntu"; then
echo "export SQUISH_PATH=$squishFolder/package" >> ~/.profile
echo "export PATH=\$PATH:$squishFolder/squish-$version/bin" >> ~/.profile
@@ -155,19 +114,11 @@ else
echo "export PATH=\$PATH:$squishFolder/squish-$version/bin" >> ~/.bashrc
fi
echo "Installing squish license to home directory.."
MountAndInstall "$squishLicenseUrl" "$squishFolder" "$squishLicenseFile"
echo "Installing squish $version.."
MountAndInstall "$squishUrl" "$squishFolder" "$squishFile"
echo "Installing provisioning scripts for squish"
MountAndInstall "$testSuiteUrl" "$squishFolder" "$testSuite.tar.gz"
echo "Verifying Squish Installation"
if "$squishFolder/package/bin/squishrunner" --testsuite "$squishFolder/$testSuite" | grep "Squish test run successfully" ; then
echo "Verifying Squish"
if "$squishFolder/package/bin/squishrunner" --testsuite "$squishFolder/suite_test_squish" | grep "Squish test run successfully" ; then
echo "Squish installation tested successfully"
else
echo "Squish test failed! Package wasn't installed correctly."
exit 1
fi

View File

@@ -1,6 +1,6 @@
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,8 +33,8 @@
. "$PSScriptRoot\helpers.ps1"
$majorminorversion = "3.7"
$version = "3.7.2"
$majorminorversion = "3.17"
$version = "3.17.2"
$zip = Get-DownloadLocation ("cmake-" + $version + "-win32-x86.zip")
$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-win32-x86.zip"
@@ -44,7 +44,7 @@ Write-Host "Removing old cmake"
Remove-Item "C:\CMake" -Force -Recurse -ErrorAction SilentlyContinue
Download $officialurl $cachedurl $zip
Verify-Checksum $zip "c80c17e858ecfebfaf16fe8af18b174d2600c4e6"
Verify-Checksum $zip "d4a1d60fccaee7f9a8ceb1ed4fb576a63103a69f"
Extract-7Zip $zip C:
$defaultinstallfolder = "C:\cmake-" + $version + "-win32-x86"

View File

@@ -66,6 +66,9 @@ cmd /c "$msys `"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacma
Start-Sleep -s 30
cmd /c "$msys `"-l`" `"-c`" `"cpan -i Text::Template Test::More`""
# Sometimes gpg-agent won't get killed after the installation process. If that happens the provisioning will won't continue and it will hang until timeout. So we need make sure it will be killed.
# Let's sleep for awhile and wait that msys installation is finished. Otherwise the installation might start up gpg-agent or dirmngr after the script has passed the killing process.
Start-Sleep -s 180
if (Get-Process -Name "gpg-agent" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name gpg-agent }
if (Get-Process -Name "dirmngr" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name dirmngr }

View File

@@ -1,6 +1,6 @@
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -34,12 +34,12 @@
$version = "11_2_2"
$package = "C:\Windows\temp\opengl32sw.7z"
$mesaOpenglSha1_64 = "b2ffa5f230a0caa2c2e0bb9a5398bcfb81a0e5d1"
$mesaOpenglUrl_64_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-64-mesa_$version.7z"
$mesaOpenglUrl_64_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version.7z"
$mesaOpenglSha1_32 = "e742e9d4e16b9c69b6d844940861d3ef1748356b"
$mesaOpenglUrl_32_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-32-mesa_$version.7z"
$mesaOpenglUrl_32_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version.7z"
$mesaOpenglSha1_64 = "0ed35efbc8112282be5d0c87c37fde2d15e81998"
$mesaOpenglUrl_64_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-64-mesa_$version-signed.7z"
$mesaOpenglUrl_64_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version-signed.7z"
$mesaOpenglSha1_32 = "96bd6ca0d7fd249fb61531dca888965ffd20f53c"
$mesaOpenglUrl_32_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-32-mesa_$version-signed.7z"
$mesaOpenglUrl_32_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version-signed.7z"
function Extract-Mesa
{

View File

@@ -0,0 +1,61 @@
#############################################################################
##
## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see http://www.qt.io/terms-conditions. For further
## information use the contact form at http://www.qt.io/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 2.1 or version 3 as published by the Free
## Software Foundation and appearing in the file LICENSE.LGPLv21 and
## LICENSE.LGPLv3 included in the packaging of this file. Please review the
## following information to ensure the GNU Lesser General Public License
## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
## As a special exception, The Qt Company gives you certain additional
## rights. These rights are described in The Qt Company LGPL Exception
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\helpers.ps1"
# This script will install Node.js
# Needed by QtWebengine
$version = "12.18.0"
$package = "C:\Windows\temp\nodejs-$version.zip"
$targetFolder = "C:\Utils\nodejs"
$arch = "$((Get-WmiObject Win32_Processor).AddressWidth)"
$externalUrl = "https://nodejs.org/dist/v$version/node-v$version-win-x$arch.zip"
$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/node-v$version-win-x$arch.zip"
if ( $arch -eq 64 ) {
$sha1 = "457b1527d249ee471a9445953a906cb10c75378d"
} else {
$sha1 = "58801900f5bddca9c00feed6b84fed729426fc92"
}
Write-Host "Installing Node.js"
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
mkdir $targetFolder
Extract-7Zip $package $targetFolder
Add-Path $targetFolder
Remove $package
Write-Output "Node.js = $version" >> ~/versions.txt

View File

@@ -1,6 +1,6 @@
#############################################################################
##
## Copyright (C) 2019 The Qt Company Ltd.
## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,120 +33,48 @@
. "$PSScriptRoot\helpers.ps1"
# This script will install squish package for Windows.
# This script will pre-installed squish package for Windows.
# Squish is need by Release Test Automation (RTA)
# NOTE! Make sure 64bit versions are always installed before 32bit,
# because they use same folder name before a rename
$version = "6.5"
# Qt branch without dot (*.*)
$qtBranch = "513x"
# So far Squish built with Qt5.12 works also with 5.13, but we have to be prepared that on some point
# the compatibility breaks, and we may need to have separate Squish packages for different Qt versions.
$version = "6.5.2"
$qtBranch = "514x"
$targetDir = "C:\Utils\squish"
$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin"
$squishBranchUrl = "$squishUrl\$qtBranch"
$testSuite = "suite_test_squish"
$testSuiteUrl = "$squishUrl\$testSuite.7z"
$squishPackage = "C:\Utils\rta_squish"
$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\jenkins_build"
$licenseUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin"
# Squish license
$licensePackage = ".squish-3-license"
Write-Host "Installing Squish license to home directory"
Copy-Item $licenseUrl\$licensePackage ~\$licensePackage
if (Is64BitWinHost) {
$arch = "x64"
} else {
$arch = "x86"
}
$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
Function DownloadAndInstallSquish {
Param (
[string]$version,
[string]$bit,
[string]$squishPackage
)
$SquishUrl = $squishBranchUrl + "\squish-nosignalhandler-" + $version + "-qt" + $qtBranch + "-" + $bit + "-" + $squishPackage + ".exe"
$SquishInstaller = "$targetDir\$squishPackage.exe"
$SquishParameters = "unattended=1 targetdir=$targetDir\$squishPackage"
Write-Host "Fetching from URL $squishUrl"
Copy-Item "$SquishUrl" "$SquishInstaller"
Write-Host "Installing Squish"
$stdoutFile = [System.IO.Path]::GetTempFileName()
$stderrFile = [System.IO.Path]::GetTempFileName()
Start-Process -FilePath "$SquishInstaller" -Wait -ArgumentList $SquishParameters -PassThru -RedirectStandardOutput $stdoutFile -RedirectStandardError $stderrFile | Out-Null
Remove-Item -Path $SquishInstaller
if ("$bit" -eq "win64") {
if ($squishPackage.StartsWith("mingw")) {
$squishPackage64bit = "mingw_64"
} else {
$squishPackage64bit = "$squishPackage`_64"
}
Rename-Item $targetDir\$squishPackage $targetDir\$squishPackage64bit
TestSquish $squishPackage64bit
} else {
if ($squishPackage.StartsWith("mingw")) {
Rename-Item $targetDir\$squishPackage $targetDir\mingw
TestSquish mingw
} else {
TestSquish $squishPackage
}
}
}
Function DownloadSquishLicence {
Param (
[string]$squishUrl
)
Write-Host "Installing Squish license to home directory"
Copy-Item $squishUrl\$licensePackage ~\$licensePackage
}
Function TestSquish {
Param (
[string]$squishPackage
)
Write-Host "Verifying Squish Installation"
if (cmd /c "$targetDir\$squishPackage\bin\squishrunner.exe --testsuite $targetDir\$testSuite" |Select-String -Pattern "Squish test run successfully") {
Write-Host "Squish installation tested successfully!"
} else {
Write-Host "Squish test failed! $squishPackage wasn't installed correctly."
[Environment]::Exit(1)
}
}
Write-Host "Creating $targetDir"
New-Item -ErrorAction Ignore -ItemType directory -Path "$targetDir"
Write-Host "Download and install Test Suite for squish"
Copy-Item $testSuiteUrl $targetDir/$testSuite.7z
Extract-7Zip $targetDir/$testSuite.7z $targetDir
DownloadSquishLicence $squishUrl
if ($OSVersion -eq "Windows 10 Enterprise") {
$winVersion = "win10"
if (Is64BitWinHost) {
DownloadAndInstallSquish $version win64 "msvc14"
DownloadAndInstallSquish $version win64 "msvc141"
DownloadAndInstallSquish $version win64 "mingw_gcc73_posix_seh"
$sha1 = "9262d3b749483094024c74986f93e9340afbdb62"
} else {
DownloadAndInstallSquish $version win32 "mingw_gcc53_posix_dwarf"
$sha1 = "0763b344afa327e6c374971492021c5e923be892"
}
DownloadAndInstallSquish $version win32 "msvc141"
} elseif ($OSVersion -eq "Windows 8.1 Enterprise") {
if (Is64BitWinHost) {
DownloadAndInstallSquish $version win64 "msvc14"
}
DownloadAndInstallSquish $version win32 "msvc141"
} elseif ($OSVersion -eq "Windows 7 Enterprise") {
if (Is64BitWinHost) {
DownloadAndInstallSquish $version win64 "msvc14"
} else {
DownloadAndInstallSquish $version win32 "mingw_gcc53_posix_dwarf"
}
DownloadAndInstallSquish $version win32 "msvc141"
$winVersion = "win7"
$sha1 = "01b3529459da948cfde319d60becc666da0e1c4d"
}
$squishArchive = "prebuild-squish-$version-$qtBranch-$winVersion-$arch.zip"
Copy-Item "\\ci-files01-hki.intra.qt.io\provisioning\squish\jenkins_build\stable\$squishArchive" "C:\Utils"
Verify-Checksum "C:\Utils\$squishArchive" $sha1
Extract-7Zip "C:\Utils\$squishArchive" "C:\Utils"
Rename-Item "$squishPackage" "$targetDir"
Write-Host "Verifying Squish Installation for following targets:"
get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { $_.FullName }
get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { if (cmd /c $_.FullName --testsuite "$targetDir\suite_test_squish" |Select-String -Pattern "Squish test run successfully") { Write-Host "Squish tested successfully"} else { [Environment]::Exit(1) } }

View File

@@ -35,7 +35,7 @@
set -ex
sudo yum -y install devtoolset-4
sudo yum -y install devtoolset-7
echo "source /opt/rh/devtoolset-4/enable" >> ~/.bashrc
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc

View File

@@ -38,13 +38,20 @@ set -ex
# Remove update notifications and packagekit running in the background
sudo yum -y remove PackageKit gnome-software
sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
installPackages=()
installPackages+=(git)
installPackages+=(rh-git29)
installPackages+=(zlib-devel)
installPackages+=(glib2-devel)
installPackages+=(openssl-devel)
installPackages+=(freetype-devel)
installPackages+=(fontconfig-devel)
# cmake build
installPackages+=(ninja-build)
installPackages+=(pcre2-devel)
installPackages+=(double-conversion-devel)
installPackages+=(zstd)
# EGL support
installPackages+=(mesa-libEGL-devel)
installPackages+=(mesa-libGL-devel)
@@ -80,6 +87,8 @@ installPackages+=(pulseaudio-libs-devel)
installPackages+=(libXtst-devel)
installPackages+=(nspr-devel)
installPackages+=(nss-devel)
installPackages+=(rh-nodejs12-nodejs)
installPackages+=(rh-nodejs12-nodejs-devel)
# For Android builds
installPackages+=(java-1.8.0-openjdk-devel)
# For receiving shasum
@@ -125,6 +134,9 @@ installPackages+=(perl-Data-Dumper)
sudo yum -y install "${installPackages[@]}"
scl enable rh-git29 bash
sudo ln -s /opt/rh/rh-git29/root/usr/bin/git /usr/local/bin/git
sudo ln -s /opt/rh/rh-python36/root/usr/bin/python3 /usr/local/bin/python3
sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3
# We shouldn't use yum to install virtualenv. The one found from package repo is not

View File

@@ -37,7 +37,7 @@ set -ex
sudo zypper -nq install elfutils binutils
sudo zypper -nq install git gcc gcc-c++ make patch wget tar
sudo zypper -nq install git gcc gcc-c++ ninja make patch wget tar
sudo zypper -nq install bison flex gperf \
zlib-devel \

View File

@@ -84,6 +84,9 @@ installPackages+=(libudev-dev)
installPackages+=(libegl1-mesa-dev)
installPackages+=(libfontconfig1-dev)
installPackages+=(libxss-dev)
installPackages+=(nodejs)
# NOTE! Can't install nodejs-dev because libssl1.0-dev conflicts with libssl1.0-dev which is depandency of nodejs-dev.
# Common event loop handling
installPackages+=(libglib2.0-dev)
# MySQL support
@@ -171,6 +174,12 @@ installPackages+=(gawk)
installPackages+=(texinfo)
# Needed for Poppler test in QtWebEngine
installPackages+=(libpoppler-cpp-dev)
# Needed for QtCore
installPackages+=(libdouble-conversion-dev)
installPackages+=(libpcre2-dev)
# Needed for qtgampepad
installPackages+=(libsdl2-2.0)
installPackages+=(libsdl2-dev)
# Needed for qtwebkit
installPackages+=(ruby)
installPackages+=(libxslt1-dev)

View File

@@ -44,11 +44,11 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..."
versionARM="2.6.1"
package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-9e1a27d.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/thud/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/thud/$package"
SHA1="7c76230ef1bb58bf907daa81117d81b48534802c"
versionARM="2.7.2"
package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-60f80be.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/warrior/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/warrior/$package"
SHA1="b4a090f85268bed076451584cd48e27e17a6ae48"
yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
yoctoLocationARMv7="/opt/yocto-armv7"
sysrootARMv7="sysroots/armv7at2hf-neon-poky-linux-gnueabi"
@@ -62,11 +62,11 @@ rm -rf "$yoctoInstaller"
echo "Installing Yocto toolchain for 64-bit b2qt ARM64..."
versionARM64="2.6.1"
package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-9e1a27d.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/thud/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/thud/$package"
SHA1="598c24b8bcf289bb67a14aea51567c0d00bf5187"
versionARM64="2.7.2"
package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-60f80be.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/warrior/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/warrior/$package"
SHA1="9ba48d4d80a09908dd75090f94662c8192f0b19f"
yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
yoctoLocationARM64="/opt/yocto-arm64"
sysrootARM64="sysroots/aarch64-poky-linux"
@@ -80,14 +80,14 @@ rm -rf "$yoctoInstaller"
echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..."
versionMIPS64="2.6.1"
package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemumips64-9e1a27d.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/thud/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/thud/$package"
SHA1="8cea8504463ab96322e92f3c6e9e922f394ae3c7"
versionMIPS64="2.7.2"
package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemumips64-60f80be.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/warrior/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/warrior/$package"
SHA1="b3a922b7501123464454c9a49f32b23fe1fd25b4"
yoctoInstaller="/tmp/yocto-toolchain-mips64.sh"
yoctoLocationMIPS64="/opt/yocto-mips64"
sysrootMIPS64="sysroots/mips64-poky-linux"
sysrootMIPS64="sysroots/mips64r2-poky-linux"
crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-"
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"

View File

@@ -2,7 +2,7 @@
set -ex
sudo zypper -nq install git gcc7 gcc7-c++
sudo zypper -nq install git gcc7 gcc7-c++ ninja
sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1 \
--slave /usr/bin/g++ g++ /usr/bin/g++-7 \
--slave /usr/bin/cc cc /usr/bin/gcc-7 \
@@ -17,7 +17,8 @@ sudo zypper -nq install bison flex gperf \
fontconfig-devel \
sqlite3-devel \
libxkbcommon-devel \
libxkbcommon-x11-devel
libxkbcommon-x11-devel \
pcre2-devel libpng16-devel
# EGL support
sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
@@ -36,7 +37,7 @@ sudo zypper -nq install libicu-devel libicu60_2
# qtwebengine
sudo zypper -nq install alsa-devel dbus-1-devel \
libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
mozilla-nspr-devel mozilla-nss-devel
mozilla-nspr-devel mozilla-nss-devel nodejs10 nodejs10-devel
# qtwebkit
sudo zypper -nq install libxml2-devel libxslt-devel
@@ -49,3 +50,4 @@ sudo zypper -nq install cups-devel
#speech-dispatcher
sudo zypper -nq install libspeechd-devel

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
brew install freetype

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
brew install ninja

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
brew install pcre2

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
brew install nodejs

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
$BASEDIR/../common/macos/set-locale.sh

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
brew install freetype

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
brew install ninja

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
brew install pcre2

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
brew install nodejs

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
$BASEDIR/../common/macos/set-locale.sh

View File

@@ -0,0 +1,25 @@
$x_value = "1280"
$y_value = "800"
Function ChangeResolution {
Param (
[string]$driver
)
$path = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration"
reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.bottom /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.right /T REG_dWORD /D $x_value /F
reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cy /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cx /T REG_dWORD /D $x_value /F
}
Write-Host "Changing the resolution to ${x_value}x${y_value}"
ChangeResolution "MSBDD_NOEDID_1234_1111_00000000_00020000_0^E3701873EC28AFCFF631E725354CDC2D"
ChangeResolution "MSBDD_NOEDID_15AD_0405_00000000_000F0000_0^C13AE38966E73205F75BFACA84EB83A5"
ChangeResolution "MSNILNOEDID_1414_008D_FFFFFFFF_FFFFFFFF_0^030B4FCE00727AC1593E5B6FD18648D6"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\nodejs.ps1"

View File

@@ -1,9 +0,0 @@
This directory contains the Windows binaries of various tools such as bison
from the GnuWin32 project (http://gnuwin32.sourceforge.net/). We've put them
here for your convenience, as they are needed to build projects such as
QtWebKit.
Aside from GnuWin32 binaries this directory also contains a distribution of Win
flex-bison project (http://sourceforge.net/projects/winflexbison/), which provides
much newer ports of Flex and Bison than what GnuWin32 provides.

Binary file not shown.

View File

@@ -1,70 +0,0 @@
-*- outline -*-
This directory contains data needed by Bison.
* Skeletons
Bison skeletons: the general shapes of the different parser kinds,
that are specialized for specific grammars by the bison program.
Currently, the supported skeletons are:
- yacc.c
It used to be named bison.simple: it corresponds to C Yacc
compatible LALR(1) parsers.
- lalr1.cc
Produces a C++ parser class.
- lalr1.java
Produces a Java parser class.
- glr.c
A Generalized LR C parser based on Bison's LALR(1) tables.
- glr.cc
A Generalized LR C++ parser. Actually a C++ wrapper around glr.c.
These skeletons are the only ones supported by the Bison team.
Because the interface between skeletons and the bison program is not
finished, *we are not bound to it*. In particular, Bison is not
mature enough for us to consider that "foreign skeletons" are
supported.
* m4sugar
This directory contains M4sugar, sort of an extended library for M4,
which is used by Bison to instantiate the skeletons.
* xslt
This directory contains XSLT programs that transform Bison's XML output
into various formats.
- bison.xsl
A library of routines used by the other XSLT programs.
- xml2dot.xsl
Conversion into GraphViz's dot format.
- xml2text.xsl
Conversion into text.
- xml2xhtml.xsl
Conversion into XHTML.
-----
Copyright (C) 2002, 2008-2013 Free Software Foundation, Inc.
This file is part of GNU Bison.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

File diff suppressed because it is too large Load Diff

View File

@@ -1,26 +0,0 @@
-*- Autoconf -*-
# C++ skeleton dispatching for Bison.
# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
b4_glr_if( [m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.cc]])])
b4_nondeterministic_if([m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.cc]])])
m4_define_default([b4_used_skeleton], [b4_pkgdatadir/[lalr1.cc]])
m4_define_default([b4_skeleton], ["b4_basename(b4_used_skeleton)"])
m4_include(b4_used_skeleton)

View File

@@ -1,544 +0,0 @@
-*- Autoconf -*-
# C++ skeleton for Bison
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
m4_include(b4_pkgdatadir/[c.m4])
# b4_comment(TEXT, [PREFIX])
# --------------------------
# Put TEXT in comment. Prefix all the output lines with PREFIX.
m4_define([b4_comment],
[b4_comment_([$1], [$2// ], [$2// ])])
## -------- ##
## Checks. ##
## -------- ##
b4_percent_define_check_kind([api.namespace], [code], [deprecated])
b4_percent_define_check_kind([parser_class_name], [code], [deprecated])
## ---------------- ##
## Default values. ##
## ---------------- ##
b4_percent_define_default([[parser_class_name]], [[parser]])
# Don't do that so that we remember whether we're using a user
# request, or the default value.
#
# b4_percent_define_default([[api.location.type]], [[location]])
b4_percent_define_default([[filename_type]], [[std::string]])
# Make it a warning for those who used betas of Bison 3.0.
b4_percent_define_default([[api.namespace]], m4_defn([b4_prefix]))
b4_percent_define_default([[global_tokens_and_yystype]], [[false]])
b4_percent_define_default([[define_location_comparison]],
[m4_if(b4_percent_define_get([[filename_type]]),
[std::string], [[true]], [[false]])])
## ----------- ##
## Namespace. ##
## ----------- ##
m4_define([b4_namespace_ref], [b4_percent_define_get([[api.namespace]])])
# Don't permit an empty b4_namespace_ref. Any '::parser::foo' appended to it
# would compile as an absolute reference with 'parser' in the global namespace.
# b4_namespace_open would open an anonymous namespace and thus establish
# internal linkage. This would compile. However, it's cryptic, and internal
# linkage for the parser would be specified in all translation units that
# include the header, which is always generated. If we ever need to permit
# internal linkage somehow, surely we can find a cleaner approach.
m4_if(m4_bregexp(b4_namespace_ref, [^[ ]*$]), [-1], [],
[b4_complain_at(b4_percent_define_get_loc([[api.namespace]]),
[[namespace reference is empty]])])
# Instead of assuming the C++ compiler will do it, Bison should reject any
# invalid b4_namepsace_ref that would be converted to a valid
# b4_namespace_open. The problem is that Bison doesn't always output
# b4_namespace_ref to uncommented code but should reserve the ability to do so
# in future releases without risking breaking any existing user grammars.
# Specifically, don't allow empty names as b4_namespace_open would just convert
# those into anonymous namespaces, and that might tempt some users.
m4_if(m4_bregexp(b4_namespace_ref, [::[ ]*::]), [-1], [],
[b4_complain_at(b4_percent_define_get_loc([[api.namespace]]),
[[namespace reference has consecutive "::"]])])
m4_if(m4_bregexp(b4_namespace_ref, [::[ ]*$]), [-1], [],
[b4_complain_at(b4_percent_define_get_loc([[api.namespace]]),
[[namespace reference has a trailing "::"]])])
m4_define([b4_namespace_open],
[b4_user_code([b4_percent_define_get_syncline([[api.namespace]])
[namespace ]m4_bpatsubst(m4_dquote(m4_bpatsubst(m4_dquote(b4_namespace_ref),
[^\(.\)[ ]*::], [\1])),
[::], [ { namespace ])[ {]])])
m4_define([b4_namespace_close],
[b4_user_code([b4_percent_define_get_syncline([[api.namespace]])
m4_bpatsubst(m4_dquote(m4_bpatsubst(m4_dquote(b4_namespace_ref[ ]),
[^\(.\)[ ]*\(::\)?\([^][:]\|:[^:]\)*],
[\1])),
[::\([^][:]\|:[^:]\)*], [} ])[} // ]b4_namespace_ref])])
# b4_token_enums
# --------------
# Output the definition of the tokens as enums.
m4_define([b4_token_enums],
[[enum yytokentype
{
]m4_join([,
],
b4_symbol_map([b4_token_enum]))[
};]dnl
])
## ----------------- ##
## Semantic Values. ##
## ----------------- ##
# b4_value_type_declare
# ---------------------
# Declare semantic_type.
m4_define([b4_value_type_declare],
[b4_value_type_setup[]dnl
[ /// Symbol semantic values.
]m4_bmatch(b4_percent_define_get_kind([[api.value.type]]),
[code],
[[ typedef ]b4_percent_define_get([[api.value.type]])[ semantic_type;]],
[m4_bmatch(b4_percent_define_get([[api.value.type]]),
[union\|union-directive],
[[ union semantic_type
{
]b4_user_union_members[
};]])])dnl
])
# b4_public_types_declare
# -----------------------
# Define the public types: token, semantic value, location, and so forth.
# Depending on %define token_lex, may be output in the header or source file.
m4_define([b4_public_types_declare],
[[#ifndef ]b4_api_PREFIX[STYPE
]b4_value_type_declare[
#else
typedef ]b4_api_PREFIX[STYPE semantic_type;
#endif]b4_locations_if([
/// Symbol locations.
typedef b4_percent_define_get([[api.location.type]],
[[location]]) location_type;])[
/// Syntax errors thrown from user actions.
struct syntax_error : std::runtime_error
{
syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m);]b4_locations_if([
location_type location;])[
};
/// Tokens.
struct token
{
]b4_token_enums[
};
/// (External) token type, as returned by yylex.
typedef token::yytokentype token_type;
/// Internal symbol number.
typedef int symbol_number_type;
/// Internal symbol number for tokens (subsumed by symbol_number_type).
typedef ]b4_int_type_for([b4_translate])[ token_number_type;
/// A complete symbol.
///
/// Expects its Base type to provide access to the symbol type
/// via type_get().
///
/// Provide access to semantic value]b4_locations_if([ and location])[.
template <typename Base>
struct basic_symbol : Base
{
/// Alias to Base.
typedef Base super_type;
/// Default constructor.
basic_symbol ();
/// Copy constructor.
basic_symbol (const basic_symbol& other);
]b4_variant_if([[
/// Constructor for valueless symbols, and symbols from each type.
]b4_type_foreach([b4_basic_symbol_constructor_declare])], [[
/// Constructor for valueless symbols.
basic_symbol (typename Base::kind_type t]b4_locations_if([,
const location_type& l])[);]])[
/// Constructor for symbols with semantic value.
basic_symbol (typename Base::kind_type t,
const semantic_type& v]b4_locations_if([,
const location_type& l])[);
~basic_symbol ();
/// Destructive move, \a s is emptied into this.
void move (basic_symbol& s);
/// The semantic value.
semantic_type value;]b4_locations_if([
/// The location.
location_type location;])[
private:
/// Assignment operator.
basic_symbol& operator= (const basic_symbol& other);
};
/// Type access provider for token (enum) based symbols.
struct by_type
{
/// Default constructor.
by_type ();
/// Copy constructor.
by_type (const by_type& other);
/// The symbol type as needed by the constructor.
typedef token_type kind_type;
/// Constructor from (external) token numbers.
by_type (kind_type t);
/// Steal the symbol type from \a that.
void move (by_type& that);
/// The (internal) type number (corresponding to \a type).
/// -1 when this symbol is empty.
symbol_number_type type_get () const;
/// The token.
token_type token () const;
enum { empty = 0 };
/// The symbol type.
/// -1 when this symbol is empty.
token_number_type type;
};
/// "External" symbols: returned by the scanner.
typedef basic_symbol<by_type> symbol_type;
]b4_symbol_constructor_declare])
# b4_public_types_define
# ----------------------
# Provide the implementation needed by the public types.
m4_define([b4_public_types_define],
[[ inline
]b4_parser_class_name[::syntax_error::syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m)
: std::runtime_error (m)]b4_locations_if([
, location (l)])[
{}
// basic_symbol.
template <typename Base>
inline
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol ()
: value ()
{}
template <typename Base>
inline
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
: Base (other)
, value ()]b4_locations_if([
, location (other.location)])[
{
]b4_variant_if([b4_symbol_variant([other.type_get ()], [value], [copy],
[other.value])],
[value = other.value;])[
}
template <typename Base>
inline
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
[typename Base::kind_type t],
[const semantic_type& v],
b4_locations_if([const location_type& l]))[)
: Base (t)
, value (]b4_variant_if([], [v])[)]b4_locations_if([
, location (l)])[
{]b4_variant_if([[
(void) v;
]b4_symbol_variant([this->type_get ()], [value], [copy], [v])])[}
]b4_variant_if([[
// Implementation of basic_symbol constructor for each type.
]b4_type_foreach([b4_basic_symbol_constructor_define])], [[
/// Constructor for valueless symbols.
template <typename Base>
inline
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
[typename Base::kind_type t],
b4_locations_if([const location_type& l]))[)
: Base (t)
, value ()]b4_locations_if([
, location (l)])[
{}]])[
template <typename Base>
inline
]b4_parser_class_name[::basic_symbol<Base>::~basic_symbol ()
{]b4_variant_if([[
// User destructor.
symbol_number_type yytype = this->type_get ();
switch (yytype)
{
]b4_symbol_foreach([b4_symbol_destructor])dnl
[ default:
break;
}
// Type destructor.
]b4_symbol_variant([[yytype]], [[value]], [[template destroy]])])[
}
template <typename Base>
inline
void
]b4_parser_class_name[::basic_symbol<Base>::move (basic_symbol& s)
{
super_type::move(s);
]b4_variant_if([b4_symbol_variant([this->type_get ()], [value], [move],
[s.value])],
[value = s.value;])[]b4_locations_if([
location = s.location;])[
}
// by_type.
inline
]b4_parser_class_name[::by_type::by_type ()
: type (empty)
{}
inline
]b4_parser_class_name[::by_type::by_type (const by_type& other)
: type (other.type)
{}
inline
]b4_parser_class_name[::by_type::by_type (token_type t)
: type (yytranslate_ (t))
{}
inline
void
]b4_parser_class_name[::by_type::move (by_type& that)
{
type = that.type;
that.type = empty;
}
inline
int
]b4_parser_class_name[::by_type::type_get () const
{
return type;
}
]b4_token_ctor_if([[
inline
]b4_parser_class_name[::token_type
]b4_parser_class_name[::by_type::token () const
{
// YYTOKNUM[NUM] -- (External) token number corresponding to the
// (internal) symbol number NUM (which must be that of a token). */
static
const ]b4_int_type_for([b4_toknum])[
yytoken_number_[] =
{
]b4_toknum[
};
return static_cast<token_type> (yytoken_number_[type]);
}
]])[]dnl
b4_symbol_constructor_define])
# b4_symbol_constructor_declare
# b4_symbol_constructor_define
# -----------------------------
# Declare/define symbol constructors for all the value types.
# Use at class-level. Redefined in variant.hh.
m4_define([b4_symbol_constructor_declare], [])
m4_define([b4_symbol_constructor_define], [])
# b4_yytranslate_define
# ---------------------
# Define yytranslate_. Sometimes used in the header file,
# sometimes in the cc file.
m4_define([b4_yytranslate_define],
[[ // Symbol number corresponding to token number t.
inline
]b4_parser_class_name[::token_number_type
]b4_parser_class_name[::yytranslate_ (]b4_token_ctor_if([token_type],
[int])[ t)
{
static
const token_number_type
translate_table[] =
{
]b4_translate[
};
const unsigned int user_token_number_max_ = ]b4_user_token_number_max[;
const token_number_type undef_token_ = ]b4_undef_token_number[;
if (static_cast<int>(t) <= yyeof_)
return yyeof_;
else if (static_cast<unsigned int> (t) <= user_token_number_max_)
return translate_table[t];
else
return undef_token_;
}
]])
# b4_lhs_value([TYPE])
# --------------------
# Expansion of $<TYPE>$.
m4_define([b4_lhs_value],
[b4_symbol_value([yyval], [$1])])
# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
# --------------------------------------
# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
# symbols on RHS.
m4_define([b4_rhs_value],
[b4_symbol_value([yysemantic_stack_@{($1) - ($2)@}], [$3])])
# b4_lhs_location()
# -----------------
# Expansion of @$.
m4_define([b4_lhs_location],
[(yyloc)])
# b4_rhs_location(RULE-LENGTH, NUM)
# ---------------------------------
# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
# on RHS.
m4_define([b4_rhs_location],
[(yylocation_stack_@{($1) - ($2)@})])
# b4_parse_param_decl
# -------------------
# Extra formal arguments of the constructor.
# Change the parameter names from "foo" into "foo_yyarg", so that
# there is no collision bw the user chosen attribute name, and the
# argument name in the constructor.
m4_define([b4_parse_param_decl],
[m4_ifset([b4_parse_param],
[m4_map_sep([b4_parse_param_decl_1], [, ], [b4_parse_param])])])
m4_define([b4_parse_param_decl_1],
[$1_yyarg])
# b4_parse_param_cons
# -------------------
# Extra initialisations of the constructor.
m4_define([b4_parse_param_cons],
[m4_ifset([b4_parse_param],
[
b4_cc_constructor_calls(b4_parse_param)])])
m4_define([b4_cc_constructor_calls],
[m4_map_sep([b4_cc_constructor_call], [,
], [$@])])
m4_define([b4_cc_constructor_call],
[$2 ($2_yyarg)])
# b4_parse_param_vars
# -------------------
# Extra instance variables.
m4_define([b4_parse_param_vars],
[m4_ifset([b4_parse_param],
[
// User arguments.
b4_cc_var_decls(b4_parse_param)])])
m4_define([b4_cc_var_decls],
[m4_map_sep([b4_cc_var_decl], [
], [$@])])
m4_define([b4_cc_var_decl],
[ $1;])
## ---------##
## Values. ##
## ---------##
# b4_yylloc_default_define
# ------------------------
# Define YYLLOC_DEFAULT.
m4_define([b4_yylloc_default_define],
[[/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */
# ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
if (N) \
{ \
(Current).begin = YYRHSLOC (Rhs, 1).begin; \
(Current).end = YYRHSLOC (Rhs, N).end; \
} \
else \
{ \
(Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
} \
while (/*CONSTCOND*/ false)
# endif
]])
## -------- ##
## Checks. ##
## -------- ##
b4_token_ctor_if([b4_variant_if([],
[b4_fatal_at(b4_percent_define_get_loc(api.token.constructor),
[cannot use '%s' without '%s'],
[%define api.token.constructor],
[%define api.value.type variant]))])])

View File

@@ -1,65 +0,0 @@
-*- Autoconf -*-
# Common code for C-like languages (C, C++, Java, etc.)
# Copyright (C) 2012-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# b4_comment_(TEXT, OPEN, CONTINUE, END)
# --------------------------------------
# Put TEXT in comment. Avoid trailing spaces: don't indent empty lines.
# Avoid adding indentation to the first line, as the indentation comes
# from OPEN. That's why we don't patsubst([$1], [^\(.\)], [ \1]).
#
# Prefix all the output lines with PREFIX.
m4_define([b4_comment_],
[$2[]m4_bpatsubst(m4_expand([[$1]]), [
\(.\)], [
$3\1])$4])
# b4_comment(TEXT, [PREFIX])
# --------------------------
# Put TEXT in comment. Prefix all the output lines with PREFIX.
m4_define([b4_comment],
[b4_comment_([$1], [$2/* ], [$2 ], [ */])])
# b4_dollar_dollar_(VALUE, FIELD, DEFAULT-FIELD)
# ----------------------------------------------
# If FIELD (or DEFAULT-FIELD) is non-null, return "VALUE.FIELD",
# otherwise just VALUE. Be sure to pass "(VALUE)" is VALUE is a
# pointer.
m4_define([b4_dollar_dollar_],
[b4_symbol_value([$1],
m4_if([$2], [[]],
[[$3]], [[$2]]))])
# b4_dollar_pushdef(VALUE-POINTER, DEFAULT-FIELD, LOCATION)
# b4_dollar_popdef
# ---------------------------------------------------------
# Define b4_dollar_dollar for VALUE and DEFAULT-FIELD,
# and b4_at_dollar for LOCATION.
m4_define([b4_dollar_pushdef],
[m4_pushdef([b4_dollar_dollar],
[b4_dollar_dollar_([$1], m4_dquote($][1), [$2])])dnl
m4_pushdef([b4_at_dollar], [$3])dnl
])
m4_define([b4_dollar_popdef],
[m4_popdef([b4_at_dollar])dnl
m4_popdef([b4_dollar_dollar])dnl
])

View File

@@ -1,26 +0,0 @@
-*- Autoconf -*-
# C skeleton dispatching for Bison.
# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
b4_glr_if( [m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.c]])])
b4_nondeterministic_if([m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.c]])])
m4_define_default([b4_used_skeleton], [b4_pkgdatadir/[yacc.c]])
m4_define_default([b4_skeleton], ["b4_basename(b4_used_skeleton)"])
m4_include(b4_used_skeleton)

View File

@@ -1,839 +0,0 @@
-*- Autoconf -*-
# C M4 Macros for Bison.
# Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
m4_include(b4_pkgdatadir/[c-like.m4])
# b4_tocpp(STRING)
# ----------------
# Convert STRING into a valid C macro name.
m4_define([b4_tocpp],
[m4_toupper(m4_bpatsubst(m4_quote($1), [[^a-zA-Z0-9]+], [_]))])
# b4_cpp_guard(FILE)
# ------------------
# A valid C macro name to use as a CPP header guard for FILE.
m4_define([b4_cpp_guard],
[[YY_]b4_tocpp(m4_defn([b4_prefix])/[$1])[_INCLUDED]])
# b4_cpp_guard_open(FILE)
# b4_cpp_guard_close(FILE)
# ------------------------
# If FILE does not expand to nothing, open/close CPP inclusion guards for FILE.
m4_define([b4_cpp_guard_open],
[m4_ifval(m4_quote($1),
[#ifndef b4_cpp_guard([$1])
# define b4_cpp_guard([$1])])])
m4_define([b4_cpp_guard_close],
[m4_ifval(m4_quote($1),
[#endif b4_comment([!b4_cpp_guard([$1])])])])
## ---------------- ##
## Identification. ##
## ---------------- ##
# b4_identification
# -----------------
# Depends on individual skeletons to define b4_pure_flag, b4_push_flag, or
# b4_pull_flag if they use the values of the %define variables api.pure or
# api.push-pull.
m4_define([b4_identification],
[[/* Identify Bison output. */
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "]b4_version["
/* Skeleton name. */
#define YYSKELETON_NAME ]b4_skeleton[]m4_ifdef([b4_pure_flag], [[
/* Pure parsers. */
#define YYPURE ]b4_pure_flag])[]m4_ifdef([b4_push_flag], [[
/* Push parsers. */
#define YYPUSH ]b4_push_flag])[]m4_ifdef([b4_pull_flag], [[
/* Pull parsers. */
#define YYPULL ]b4_pull_flag])[
]])
## ---------------- ##
## Default values. ##
## ---------------- ##
# b4_api_prefix, b4_api_PREFIX
# ----------------------------
# Corresponds to %define api.prefix
b4_percent_define_default([[api.prefix]], [[yy]])
m4_define([b4_api_prefix],
[b4_percent_define_get([[api.prefix]])])
m4_define([b4_api_PREFIX],
[m4_toupper(b4_api_prefix)])
# b4_prefix
# ---------
# If the %name-prefix is not given, it is api.prefix.
m4_define_default([b4_prefix], [b4_api_prefix])
# If the %union is not named, its name is YYSTYPE.
m4_define_default([b4_union_name], [b4_api_PREFIX[]STYPE])
## ------------------------ ##
## Pure/impure interfaces. ##
## ------------------------ ##
# b4_lex_formals
# --------------
# All the yylex formal arguments.
# b4_lex_param arrives quoted twice, but we want to keep only one level.
m4_define([b4_lex_formals],
[b4_pure_if([[[[YYSTYPE *yylvalp]], [[&yylval]]][]dnl
b4_locations_if([, [[YYLTYPE *yyllocp], [&yylloc]]])])dnl
m4_ifdef([b4_lex_param], [, ]b4_lex_param)])
# b4_lex
# ------
# Call yylex.
m4_define([b4_lex],
[b4_function_call([yylex], [int], b4_lex_formals)])
# b4_user_args
# ------------
m4_define([b4_user_args],
[m4_ifset([b4_parse_param], [, b4_args(b4_parse_param)])])
# b4_parse_param
# --------------
# If defined, b4_parse_param arrives double quoted, but below we prefer
# it to be single quoted.
m4_define([b4_parse_param],
b4_parse_param)
# b4_parse_param_for(DECL, FORMAL, BODY)
# ---------------------------------------
# Iterate over the user parameters, binding the declaration to DECL,
# the formal name to FORMAL, and evaluating the BODY.
m4_define([b4_parse_param_for],
[m4_foreach([$1_$2], m4_defn([b4_parse_param]),
[m4_pushdef([$1], m4_unquote(m4_car($1_$2)))dnl
m4_pushdef([$2], m4_shift($1_$2))dnl
$3[]dnl
m4_popdef([$2])dnl
m4_popdef([$1])dnl
])])
# b4_parse_param_use([VAL], [LOC])
# --------------------------------
# 'YYUSE' VAL, LOC if locations are enabled, and all the parse-params.
m4_define([b4_parse_param_use],
[m4_ifvaln([$1], [ YYUSE ([$1]);])dnl
b4_locations_if([m4_ifvaln([$2], [ YYUSE ([$2]);])])dnl
b4_parse_param_for([Decl], [Formal], [ YYUSE (Formal);
])dnl
])
## ------------ ##
## Data Types. ##
## ------------ ##
# b4_int_type(MIN, MAX)
# ---------------------
# Return the smallest int type able to handle numbers ranging from
# MIN to MAX (included).
m4_define([b4_int_type],
[m4_if(b4_ints_in($@, [0], [255]), [1], [unsigned char],
b4_ints_in($@, [-128], [127]), [1], [signed char],
b4_ints_in($@, [0], [65535]), [1], [unsigned short int],
b4_ints_in($@, [-32768], [32767]), [1], [short int],
m4_eval([0 <= $1]), [1], [unsigned int],
[int])])
# b4_int_type_for(NAME)
# ---------------------
# Return the smallest int type able to handle numbers ranging from
# 'NAME_min' to 'NAME_max' (included).
m4_define([b4_int_type_for],
[b4_int_type($1_min, $1_max)])
# b4_table_value_equals(TABLE, VALUE, LITERAL)
# --------------------------------------------
# Without inducing a comparison warning from the compiler, check if the
# literal value LITERAL equals VALUE from table TABLE, which must have
# TABLE_min and TABLE_max defined.
m4_define([b4_table_value_equals],
[m4_if(m4_eval($3 < m4_indir([b4_]$1[_min])
|| m4_indir([b4_]$1[_max]) < $3), [1],
[[0]],
[(!!(($2) == ($3)))])])
## ----------------- ##
## Compiler issues. ##
## ----------------- ##
# b4_attribute_define
# -------------------
# Provide portability for __attribute__.
m4_define([b4_attribute_define],
[#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if (! defined __GNUC__ || __GNUC__ < 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
# define __attribute__(Spec) /* empty */
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
#else
# define YYUSE(E) /* empty */
#endif
#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
#endif
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
#endif
#ifndef YY_INITIAL_VALUE
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
])
## ---------##
## Values. ##
## ---------##
# b4_null_define
# --------------
# Portability issues: define a YY_NULL appropriate for the current
# language (C, C++98, or C++11).
m4_define([b4_null_define],
[# ifndef YY_NULL
# if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULL nullptr
# else
# define YY_NULL 0
# endif
# endif[]dnl
])
# b4_null
# -------
# Return a null pointer constant.
m4_define([b4_null], [YY_NULL])
# b4_integral_parser_table_define(TABLE-NAME, CONTENT, COMMENT)
# -------------------------------------------------------------
# Define "yy<TABLE-NAME>" whose contents is CONTENT.
m4_define([b4_integral_parser_table_define],
[m4_ifvaln([$3], [b4_comment([$3], [ ])])dnl
static const b4_int_type_for([$2]) yy$1[[]] =
{
$2
};dnl
])
## ------------------------- ##
## Assigning token numbers. ##
## ------------------------- ##
# b4_token_define(TOKEN-NUM)
# --------------------------
# Output the definition of this token as #define.
m4_define([b4_token_define],
[b4_token_format([#define %s %s], [$1])])
# b4_token_defines
# ----------------
# Output the definition of the tokens.
m4_define([b4_token_defines],
[b4_any_token_visible_if([/* Tokens. */
m4_join([
], b4_symbol_map([b4_token_define]))
])])
# b4_token_enum(TOKEN-NUM)
# ------------------------
# Output the definition of this token as an enum.
m4_define([b4_token_enum],
[b4_token_format([%s = %s], [$1])])
# b4_token_enums
# --------------
# Output the definition of the tokens (if there are) as enums.
m4_define([b4_token_enums],
[b4_any_token_visible_if([[/* Token type. */
#ifndef ]b4_api_PREFIX[TOKENTYPE
# define ]b4_api_PREFIX[TOKENTYPE
enum ]b4_api_prefix[tokentype
{
]m4_join([,
],
b4_symbol_map([b4_token_enum]))[
};
#endif
]])])
# b4_token_enums_defines
# ----------------------
# Output the definition of the tokens (if there are any) as enums and,
# if POSIX Yacc is enabled, as #defines.
m4_define([b4_token_enums_defines],
[b4_token_enums[]b4_yacc_if([b4_token_defines])])
## ----------------- ##
## Semantic Values. ##
## ----------------- ##
# b4_symbol_value(VAL, [TYPE])
# ----------------------------
# Given a semantic value VAL ($$, $1 etc.), extract its value of type
# TYPE if TYPE is given, otherwise just return VAL. The result can be
# used safetly, it is put in parens to avoid nasty precedence issues.
# TYPE is *not* put in braces, provide some if needed.
m4_define([b4_symbol_value],
[($1[]m4_ifval([$2], [.$2]))])
## ---------------------- ##
## Defining C functions. ##
## ---------------------- ##
# b4_function_define(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
# -----------------------------------------------------------
# Declare the function NAME in C.
m4_define([b4_function_define],
[$2
$1 (b4_formals(m4_shift2($@)))[]dnl
])
# b4_formals([DECL1, NAME1], ...)
# -------------------------------
# The formal arguments of a C function definition.
m4_define([b4_formals],
[m4_if([$#], [0], [void],
[$#$1], [1], [void],
[m4_map_sep([b4_formal], [, ], [$@])])])
m4_define([b4_formal],
[$1])
## ----------------------- ##
## Declaring C functions. ##
## ----------------------- ##
# b4_function_declare(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
# ------------------------------------------------------------
# Declare the function NAME.
m4_define([b4_function_declare],
[$2 $1 (b4_formals(m4_shift2($@)));[]dnl
])
## --------------------- ##
## Calling C functions. ##
## --------------------- ##
# b4_function_call(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
# -----------------------------------------------------------
# Call the function NAME with arguments NAME1, NAME2 etc.
m4_define([b4_function_call],
[$1 (b4_args(m4_shift2($@)))[]dnl
])
# b4_args([DECL1, NAME1], ...)
# ----------------------------
# Output the arguments NAME1, NAME2...
m4_define([b4_args],
[m4_map_sep([b4_arg], [, ], [$@])])
m4_define([b4_arg],
[$2])
## ----------- ##
## Synclines. ##
## ----------- ##
# b4_sync_start(LINE, FILE)
# -------------------------
m4_define([b4_sync_start], [[#]line $1 $2])
## -------------- ##
## User actions. ##
## -------------- ##
# b4_case(LABEL, STATEMENTS)
# --------------------------
m4_define([b4_case],
[ case $1:
$2
b4_syncline([@oline@], [@ofile@])
break;])
# b4_predicate_case(LABEL, CONDITIONS)
# ------------------------------------
m4_define([b4_predicate_case],
[ case $1:
if (! ($2)) YYERROR;
b4_syncline([@oline@], [@ofile@])
break;])
# b4_yydestruct_define
# --------------------
# Define the "yydestruct" function.
m4_define_default([b4_yydestruct_define],
[[/*-----------------------------------------------.
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
]b4_function_define([yydestruct],
[static void],
[[const char *yymsg], [yymsg]],
[[int yytype], [yytype]],
[[YYSTYPE *yyvaluep], [yyvaluep]][]dnl
b4_locations_if( [, [[YYLTYPE *yylocationp], [yylocationp]]])[]dnl
m4_ifset([b4_parse_param], [, b4_parse_param]))[
{
]b4_parse_param_use([yyvaluep], [yylocationp])dnl
[ if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
]b4_symbol_actions([destructor])[
YY_IGNORE_MAYBE_UNINITIALIZED_END
}]dnl
])
# b4_yy_symbol_print_define
# -------------------------
# Define the "yy_symbol_print" function.
m4_define_default([b4_yy_symbol_print_define],
[[
/*----------------------------------------.
| Print this symbol's value on YYOUTPUT. |
`----------------------------------------*/
]b4_function_define([yy_symbol_value_print],
[static void],
[[FILE *yyoutput], [yyoutput]],
[[int yytype], [yytype]],
[[YYSTYPE const * const yyvaluep], [yyvaluep]][]dnl
b4_locations_if([, [[YYLTYPE const * const yylocationp], [yylocationp]]])[]dnl
m4_ifset([b4_parse_param], [, b4_parse_param]))[
{
FILE *yyo = yyoutput;
]b4_parse_param_use([yyo], [yylocationp])dnl
[ if (!yyvaluep)
return;]
dnl glr.c does not feature yytoknum.
m4_if(b4_skeleton, ["yacc.c"],
[[# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# endif
]])dnl
b4_symbol_actions([printer])[
}
/*--------------------------------.
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
]b4_function_define([yy_symbol_print],
[static void],
[[FILE *yyoutput], [yyoutput]],
[[int yytype], [yytype]],
[[YYSTYPE const * const yyvaluep], [yyvaluep]][]dnl
b4_locations_if([, [[YYLTYPE const * const yylocationp], [yylocationp]]])[]dnl
m4_ifset([b4_parse_param], [, b4_parse_param]))[
{
YYFPRINTF (yyoutput, "%s %s (",
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
]b4_locations_if([ YY_LOCATION_PRINT (yyoutput, *yylocationp);
YYFPRINTF (yyoutput, ": ");
])dnl
[ yy_symbol_value_print (yyoutput, yytype, yyvaluep]dnl
b4_locations_if([, yylocationp])[]b4_user_args[);
YYFPRINTF (yyoutput, ")");
}]dnl
])
## ---------------- ##
## api.value.type. ##
## ---------------- ##
# ---------------------- #
# api.value.type=union. #
# ---------------------- #
# b4_symbol_type_register(SYMBOL-NUM)
# -----------------------------------
# Symbol SYMBOL-NUM has a type (for variant) instead of a type-tag.
# Extend the definition of %union's body with a field of that type,
# and extend the symbol's "type" field to point to the field name,
# instead of the type name.
m4_define([b4_symbol_type_register],
[m4_define([b4_symbol($1, type_tag)],
[b4_symbol_if([$1], [has_id],
[b4_symbol([$1], [id])],
[yytype_[]b4_symbol([$1], [number])])])dnl
m4_append([b4_user_union_members],
m4_expand([
b4_symbol_tag_comment([$1])dnl
b4_symbol([$1], [type]) b4_symbol([$1], [type_tag]);]))
])
# b4_type_define_tag(SYMBOL1-NUM, ...)
# ------------------------------------
# For the batch of symbols SYMBOL1-NUM... (which all have the same
# type), enhance the %union definition for each of them, and set
# there "type" field to the field tag name, instead of the type name.
m4_define([b4_type_define_tag],
[b4_symbol_if([$1], [has_type],
[m4_map([b4_symbol_type_register], [$@])])
])
# b4_symbol_value_union(VAL, [TYPE])
# ----------------------------------
# Same of b4_symbol_value, but when api.value.type=union.
m4_define([b4_symbol_value_union],
[m4_ifval([$2],
[(*($2*)(&$1))],
[$1])])
])
# b4_value_type_setup_union
# -------------------------
# Setup support for api.value.type=union. Symbols are defined with a
# type instead of a union member name: build the corresponding union,
# and give the symbols their tag.
m4_define([b4_value_type_setup_union],
[m4_define([b4_union_members])
b4_type_foreach([b4_type_define_tag])
m4_copy_force([b4_symbol_value_union], [b4_symbol_value])
])
# ---------------- #
# api.value.type. #
# ---------------- #
# b4_value_type_setup_variant
# ---------------------------
# Setup support for api.value.type=variant. By default, fail, specialized
# by other skeletons.
m4_define([b4_value_type_setup_variant],
[b4_complain_at(b4_percent_define_get_loc([[api.value.type]]),
[['%s' does not support '%s']],
[b4_skeleton],
[%define api.value.type variant])])
# _b4_value_type_setup_keyword
# ----------------------------
# api.value.type is defined with a keyword/string syntax. Check if
# that is properly defined, and prepare its use.
m4_define([_b4_value_type_setup_keyword],
[b4_percent_define_check_values([[[[api.value.type]],
[[none]],
[[union]],
[[union-directive]],
[[variant]],
[[yystype]]]])dnl
m4_case(b4_percent_define_get([[api.value.type]]),
[union], [b4_value_type_setup_union],
[variant], [b4_value_type_setup_variant])])
# b4_value_type_setup
# -------------------
# Check if api.value.type is properly defined, and possibly prepare
# its use.
b4_define_silent([b4_value_type_setup],
[# Define default value.
b4_percent_define_ifdef([[api.value.type]], [],
[# %union => api.value.type=union-directive
m4_ifdef([b4_union_members],
[m4_define([b4_percent_define_kind(api.value.type)], [keyword])
m4_define([b4_percent_define(api.value.type)], [union-directive])],
[# no tag seen => api.value.type={int}
m4_if(b4_tag_seen_flag, 0,
[m4_define([b4_percent_define_kind(api.value.type)], [code])
m4_define([b4_percent_define(api.value.type)], [int])],
[# otherwise api.value.type=yystype
m4_define([b4_percent_define_kind(api.value.type)], [keyword])
m4_define([b4_percent_define(api.value.type)], [yystype])])])])
# Set up.
m4_bmatch(b4_percent_define_get_kind([[api.value.type]]),
[keyword\|string], [_b4_value_type_setup_keyword])
])
## -------------- ##
## Declarations. ##
## -------------- ##
# b4_value_type_define
# --------------------
m4_define([b4_value_type_define],
[b4_value_type_setup[]dnl
/* Value type. */
m4_bmatch(b4_percent_define_get_kind([[api.value.type]]),
[code],
[[#if ! defined ]b4_api_PREFIX[STYPE && ! defined ]b4_api_PREFIX[STYPE_IS_DECLARED
typedef ]b4_percent_define_get([[api.value.type]])[ ]b4_api_PREFIX[STYPE;
# define ]b4_api_PREFIX[STYPE_IS_TRIVIAL 1
# define ]b4_api_PREFIX[STYPE_IS_DECLARED 1
#endif
]],
[m4_bmatch(b4_percent_define_get([[api.value.type]]),
[union\|union-directive],
[[#if ! defined ]b4_api_PREFIX[STYPE && ! defined ]b4_api_PREFIX[STYPE_IS_DECLARED
typedef union ]b4_union_name[ ]b4_api_PREFIX[STYPE;
union ]b4_union_name[
{
]b4_user_union_members[
};
# define ]b4_api_PREFIX[STYPE_IS_TRIVIAL 1
# define ]b4_api_PREFIX[STYPE_IS_DECLARED 1
#endif
]])])])
# b4_location_type_define
# -----------------------
m4_define([b4_location_type_define],
[[/* Location type. */
#if ! defined ]b4_api_PREFIX[LTYPE && ! defined ]b4_api_PREFIX[LTYPE_IS_DECLARED
typedef struct ]b4_api_PREFIX[LTYPE ]b4_api_PREFIX[LTYPE;
struct ]b4_api_PREFIX[LTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
};
# define ]b4_api_PREFIX[LTYPE_IS_DECLARED 1
# define ]b4_api_PREFIX[LTYPE_IS_TRIVIAL 1
#endif
]])
# b4_declare_yylstype
# -------------------
# Declarations that might either go into the header (if --defines) or
# in the parser body. Declare YYSTYPE/YYLTYPE, and yylval/yylloc.
m4_define([b4_declare_yylstype],
[b4_value_type_define[]b4_locations_if([
b4_location_type_define])
b4_pure_if([], [[extern ]b4_api_PREFIX[STYPE ]b4_prefix[lval;
]b4_locations_if([[extern ]b4_api_PREFIX[LTYPE ]b4_prefix[lloc;]])])[]dnl
])
# b4_YYDEBUG_define
# -----------------
m4_define([b4_YYDEBUG_define],
[[/* Debug traces. */
]m4_if(b4_api_prefix, [yy],
[[#ifndef YYDEBUG
# define YYDEBUG ]b4_parse_trace_if([1], [0])[
#endif]],
[[#ifndef ]b4_api_PREFIX[DEBUG
# if defined YYDEBUG
#if YYDEBUG
# define ]b4_api_PREFIX[DEBUG 1
# else
# define ]b4_api_PREFIX[DEBUG 0
# endif
# else /* ! defined YYDEBUG */
# define ]b4_api_PREFIX[DEBUG ]b4_parse_trace_if([1], [0])[
# endif /* ! defined YYDEBUG */
#endif /* ! defined ]b4_api_PREFIX[DEBUG */]])[]dnl
])
# b4_declare_yydebug
# ------------------
m4_define([b4_declare_yydebug],
[b4_YYDEBUG_define[
#if ]b4_api_PREFIX[DEBUG
extern int ]b4_prefix[debug;
#endif][]dnl
])
# b4_yylloc_default_define
# ------------------------
# Define YYLLOC_DEFAULT.
m4_define([b4_yylloc_default_define],
[[/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
if (N) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (0)
#endif
]])
# b4_yy_location_print_define
# ---------------------------
# Define YY_LOCATION_PRINT.
m4_define([b4_yy_location_print_define],
[b4_locations_if([[
/* YY_LOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
# if defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
__attribute__((__unused__))
]b4_function_define([yy_location_print_],
[static unsigned],
[[FILE *yyo], [yyo]],
[[YYLTYPE const * const yylocp], [yylocp]])[
{
unsigned res = 0;
int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
if (0 <= yylocp->first_line)
{
res += YYFPRINTF (yyo, "%d", yylocp->first_line);
if (0 <= yylocp->first_column)
res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
}
if (0 <= yylocp->last_line)
{
if (yylocp->first_line < yylocp->last_line)
{
res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
if (0 <= end_col)
res += YYFPRINTF (yyo, ".%d", end_col);
}
else if (0 <= end_col && yylocp->first_column < end_col)
res += YYFPRINTF (yyo, "-%d", end_col);
}
return res;
}
# define YY_LOCATION_PRINT(File, Loc) \
yy_location_print_ (File, &(Loc))
# else
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
#endif]],
[[/* This macro is provided for backward compatibility. */
#ifndef YY_LOCATION_PRINT
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif]])
])
# b4_yyloc_default
# ----------------
# Expand to a possible default value for yylloc.
m4_define([b4_yyloc_default],
[[
# if defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL
= { ]m4_join([, ],
m4_defn([b4_location_initial_line]),
m4_defn([b4_location_initial_column]),
m4_defn([b4_location_initial_line]),
m4_defn([b4_location_initial_column]))[ }
# endif
]])

File diff suppressed because it is too large Load Diff

View File

@@ -1,345 +0,0 @@
# C++ GLR skeleton for Bison
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# This skeleton produces a C++ class that encapsulates a C glr parser.
# This is in order to reduce the maintenance burden. The glr.c
# skeleton is clean and pure enough so that there are no real
# problems. The C++ interface is the same as that of lalr1.cc. In
# fact, glr.c can replace yacc.c without the user noticing any
# difference, and similarly for glr.cc replacing lalr1.cc.
#
# The passing of parse-params
#
# The additional arguments are stored as members of the parser
# object, yyparser. The C routines need to carry yyparser
# throughout the C parser; that's easy: make yyparser an
# additional parse-param. But because the C++ skeleton needs to
# know the "real" original parse-param, we save them
# (b4_parse_param_orig). Note that b4_parse_param is overquoted
# (and c.m4 strips one level of quotes). This is a PITA, and
# explains why there are so many levels of quotes.
#
# The locations
#
# We use location.cc just like lalr1.cc, but because glr.c stores
# the locations in a union, the position and location classes
# must not have a constructor. Therefore, contrary to lalr1.cc, we
# must not define "b4_location_constructors". As a consequence the
# user must initialize the first positions (in particular the
# filename member).
# We require a pure interface.
m4_define([b4_pure_flag], [1])
m4_include(b4_pkgdatadir/[c++.m4])
b4_bison_locations_if([m4_include(b4_pkgdatadir/[location.cc])])
m4_define([b4_parser_class_name],
[b4_percent_define_get([[parser_class_name]])])
# Save the parse parameters.
m4_define([b4_parse_param_orig], m4_defn([b4_parse_param]))
# b4_parse_param_wrap
# -------------------
# New ones.
m4_ifset([b4_parse_param],
[m4_define([b4_parse_param_wrap],
[[b4_namespace_ref::b4_parser_class_name[& yyparser], [[yyparser]]],]
m4_defn([b4_parse_param]))],
[m4_define([b4_parse_param_wrap],
[[b4_namespace_ref::b4_parser_class_name[& yyparser], [[yyparser]]]])
])
# b4_yy_symbol_print_define
# -------------------------
# Bypass the default implementation to generate the "yy_symbol_print"
# and "yy_symbol_value_print" functions.
m4_define([b4_yy_symbol_print_define],
[[
/*--------------------.
| Print this symbol. |
`--------------------*/
]b4_function_define([yy_symbol_print],
[static void],
[[FILE *], []],
[[int yytype], [yytype]],
[[const ]b4_namespace_ref::b4_parser_class_name[::semantic_type *yyvaluep],
[yyvaluep]][]dnl
b4_locations_if([,
[[const ]b4_namespace_ref::b4_parser_class_name[::location_type *yylocationp],
[yylocationp]]]),
b4_parse_param)[
{
]b4_parse_param_use[]dnl
[ yyparser.yy_symbol_print_ (yytype, yyvaluep]b4_locations_if([, yylocationp])[);
}
]])[
# Hijack the initial action to initialize the locations.
]b4_bison_locations_if([m4_define([b4_initial_action],
[yylloc.initialize ();]m4_ifdef([b4_initial_action], [
m4_defn([b4_initial_action])]))])[
# Hijack the post prologue to insert early definition of YYLLOC_DEFAULT
# and declaration of yyerror.
]m4_append([b4_post_prologue],
[b4_syncline([@oline@], [@ofile@])[
]b4_yylloc_default_define[
#define YYRHSLOC(Rhs, K) ((Rhs)[K].yystate.yyloc)
]b4_function_declare([yyerror],
[static void],b4_locations_if([
[[const ]b4_namespace_ref::b4_parser_class_name[::location_type *yylocationp],
[yylocationp]],])
b4_parse_param,
[[const char* msg], [msg]])])
#undef yynerrs
#undef yychar
#undef yylval]b4_locations_if([
#undef yylloc])
m4_if(b4_prefix, [yy], [],
[[/* Substitute the variable and function names. */
#define yyparse ]b4_prefix[parse
#define yylex ]b4_prefix[lex
#define yyerror ]b4_prefix[error
#define yydebug ]b4_prefix[debug
]]b4_pure_if([], [[
#define yylval ]b4_prefix[lval
#define yychar ]b4_prefix[char
#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
#define yylloc ]b4_prefix[lloc]])]))
# Hijack the epilogue to define implementations (yyerror, parser member
# functions etc.).
m4_append([b4_epilogue],
[b4_syncline([@oline@], [@ofile@])[
/*------------------.
| Report an error. |
`------------------*/
]b4_function_define([yyerror],
[static void],b4_locations_if([
[[const ]b4_namespace_ref::b4_parser_class_name[::location_type *yylocationp],
[yylocationp]],])
b4_parse_param,
[[const char* msg], [msg]])[
{
]b4_parse_param_use[]dnl
[ yyparser.error (]b4_locations_if([[*yylocationp, ]])[msg);
}
]b4_namespace_open[
]dnl In this section, the parse params are the original parse_params.
m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
[ /// Build a parser object.
]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
:])[
#if ]b4_api_PREFIX[DEBUG
]m4_ifset([b4_parse_param], [ ], [ :])[yycdebug_ (&std::cerr)]m4_ifset([b4_parse_param], [,])[
#endif]b4_parse_param_cons[
{
}
]b4_parser_class_name::~b4_parser_class_name[ ()
{
}
int
]b4_parser_class_name[::parse ()
{
return ::yyparse (*this]b4_user_args[);
}
#if ]b4_api_PREFIX[DEBUG
/*--------------------.
| Print this symbol. |
`--------------------*/
inline void
]b4_parser_class_name[::yy_symbol_value_print_ (int yytype,
const semantic_type* yyvaluep]b4_locations_if([[,
const location_type* yylocationp]])[)
{]b4_locations_if([[
YYUSE (yylocationp);]])[
YYUSE (yyvaluep);
std::ostream& yyoutput = debug_stream ();
std::ostream& yyo = yyoutput;
YYUSE (yyo);
]b4_symbol_actions([printer])[
}
void
]b4_parser_class_name[::yy_symbol_print_ (int yytype,
const semantic_type* yyvaluep]b4_locations_if([[,
const location_type* yylocationp]])[)
{
*yycdebug_ << (yytype < YYNTOKENS ? "token" : "nterm")
<< ' ' << yytname[yytype] << " ("]b4_locations_if([[
<< *yylocationp << ": "]])[;
yy_symbol_value_print_ (yytype, yyvaluep]b4_locations_if([[, yylocationp]])[);
*yycdebug_ << ')';
}
std::ostream&
]b4_parser_class_name[::debug_stream () const
{
return *yycdebug_;
}
void
]b4_parser_class_name[::set_debug_stream (std::ostream& o)
{
yycdebug_ = &o;
}
]b4_parser_class_name[::debug_level_type
]b4_parser_class_name[::debug_level () const
{
return yydebug;
}
void
]b4_parser_class_name[::set_debug_level (debug_level_type l)
{
// Actually, it is yydebug which is really used.
yydebug = l;
}
#endif
]m4_popdef([b4_parse_param])dnl
b4_namespace_close
])
# b4_shared_declarations
# ----------------------
# Declaration that might either go into the header (if --defines)
# or open coded in the parser body.
m4_define([b4_shared_declarations],
[m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
b4_percent_code_get([[requires]])[
#include <stdexcept>
#include <string>
#include <iostream>]b4_defines_if([
b4_bison_locations_if([[#include "location.hh"]])])[
]b4_YYDEBUG_define[
]b4_namespace_open[
]b4_defines_if([],
[b4_bison_locations_if([b4_position_define
b4_location_define])])[
/// A Bison parser.
class ]b4_parser_class_name[
{
public:
]b4_public_types_declare[
/// Build a parser object.
]b4_parser_class_name[ (]b4_parse_param_decl[);
virtual ~]b4_parser_class_name[ ();
/// Parse.
/// \returns 0 iff parsing succeeded.
virtual int parse ();
/// The current debugging stream.
std::ostream& debug_stream () const;
/// Set the current debugging stream.
void set_debug_stream (std::ostream &);
/// Type for debugging levels.
typedef int debug_level_type;
/// The current debugging level.
debug_level_type debug_level () const;
/// Set the current debugging level.
void set_debug_level (debug_level_type l);
public:
/// Report a syntax error.]b4_locations_if([[
/// \param loc where the syntax error is found.]])[
/// \param msg a description of the syntax error.
virtual void error (]b4_locations_if([[const location_type& loc, ]])[const std::string& msg);
# if ]b4_api_PREFIX[DEBUG
public:
/// \brief Report a symbol value on the debug stream.
/// \param yytype The token type.
/// \param yyvaluep Its semantic value.]b4_locations_if([[
/// \param yylocationp Its location.]])[
virtual void yy_symbol_value_print_ (int yytype,
const semantic_type* yyvaluep]b4_locations_if([[,
const location_type* yylocationp]])[);
/// \brief Report a symbol on the debug stream.
/// \param yytype The token type.
/// \param yyvaluep Its semantic value.]b4_locations_if([[
/// \param yylocationp Its location.]])[
virtual void yy_symbol_print_ (int yytype,
const semantic_type* yyvaluep]b4_locations_if([[,
const location_type* yylocationp]])[);
private:
// Debugging.
std::ostream* yycdebug_;
#endif
]b4_parse_param_vars[
};
]dnl Redirections for glr.c.
b4_percent_define_flag_if([[global_tokens_and_yystype]],
[b4_token_defines])
[
#ifndef ]b4_api_PREFIX[STYPE
# define ]b4_api_PREFIX[STYPE ]b4_namespace_ref[::]b4_parser_class_name[::semantic_type
#endif
#ifndef ]b4_api_PREFIX[LTYPE
# define ]b4_api_PREFIX[LTYPE ]b4_namespace_ref[::]b4_parser_class_name[::location_type
#endif
]b4_namespace_close[
]b4_percent_code_get([[provides]])[
]m4_popdef([b4_parse_param])dnl
])
b4_defines_if(
[b4_output_begin([b4_spec_defines_file])
b4_copyright([Skeleton interface for Bison GLR parsers in C++],
[2002-2013])[
// C++ GLR parser skeleton written by Akim Demaille.
]b4_cpp_guard_open([b4_spec_defines_file])[
]b4_shared_declarations[
]b4_cpp_guard_close([b4_spec_defines_file])[
]b4_output_end()])
# Let glr.c (and b4_shared_declarations) believe that the user
# arguments include the parser itself.
m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_wrap]))
m4_include(b4_pkgdatadir/[glr.c])
m4_popdef([b4_parse_param])

View File

@@ -1,26 +0,0 @@
-*- Autoconf -*-
# Java skeleton dispatching for Bison.
# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
b4_glr_if( [b4_complain([%%glr-parser not supported for Java])])
b4_nondeterministic_if([b4_complain([%%nondeterministic-parser not supported for Java])])
m4_define_default([b4_used_skeleton], [b4_pkgdatadir/[lalr1.java]])
m4_define_default([b4_skeleton], ["b4_basename(b4_used_skeleton)"])
m4_include(b4_used_skeleton)

View File

@@ -1,342 +0,0 @@
-*- Autoconf -*-
# Java language support for Bison
# Copyright (C) 2007-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
m4_include(b4_pkgdatadir/[c-like.m4])
# b4_list2(LIST1, LIST2)
# ----------------------
# Join two lists with a comma if necessary.
m4_define([b4_list2],
[$1[]m4_ifval(m4_quote($1), [m4_ifval(m4_quote($2), [[, ]])])[]$2])
# b4_percent_define_get3(DEF, PRE, POST, NOT)
# -------------------------------------------
# Expand to the value of DEF surrounded by PRE and POST if it's %define'ed,
# otherwise NOT.
m4_define([b4_percent_define_get3],
[m4_ifval(m4_quote(b4_percent_define_get([$1])),
[$2[]b4_percent_define_get([$1])[]$3], [$4])])
# b4_flag_value(BOOLEAN-FLAG)
# ---------------------------
m4_define([b4_flag_value], [b4_flag_if([$1], [true], [false])])
# b4_public_if(TRUE, FALSE)
# -------------------------
b4_percent_define_default([[public]], [[false]])
m4_define([b4_public_if],
[b4_percent_define_flag_if([public], [$1], [$2])])
# b4_abstract_if(TRUE, FALSE)
# ---------------------------
b4_percent_define_default([[abstract]], [[false]])
m4_define([b4_abstract_if],
[b4_percent_define_flag_if([abstract], [$1], [$2])])
# b4_final_if(TRUE, FALSE)
# ---------------------------
b4_percent_define_default([[final]], [[false]])
m4_define([b4_final_if],
[b4_percent_define_flag_if([final], [$1], [$2])])
# b4_strictfp_if(TRUE, FALSE)
# ---------------------------
b4_percent_define_default([[strictfp]], [[false]])
m4_define([b4_strictfp_if],
[b4_percent_define_flag_if([strictfp], [$1], [$2])])
# b4_lexer_if(TRUE, FALSE)
# ------------------------
m4_define([b4_lexer_if],
[b4_percent_code_ifdef([[lexer]], [$1], [$2])])
# b4_identification
# -----------------
m4_define([b4_identification],
[ /** Version number for the Bison executable that generated this parser. */
public static final String bisonVersion = "b4_version";
/** Name of the skeleton that generated this parser. */
public static final String bisonSkeleton = b4_skeleton;
])
## ------------ ##
## Data types. ##
## ------------ ##
# b4_int_type(MIN, MAX)
# ---------------------
# Return the smallest int type able to handle numbers ranging from
# MIN to MAX (included).
m4_define([b4_int_type],
[m4_if(b4_ints_in($@, [-128], [127]), [1], [byte],
b4_ints_in($@, [-32768], [32767]), [1], [short],
[int])])
# b4_int_type_for(NAME)
# ---------------------
# Return the smallest int type able to handle numbers ranging from
# 'NAME_min' to 'NAME_max' (included).
m4_define([b4_int_type_for],
[b4_int_type($1_min, $1_max)])
# b4_null
# -------
m4_define([b4_null], [null])
# b4_typed_parser_table_define(TYPE, NAME, DATA, COMMENT)
# -------------------------------------------------------
m4_define([b4_typed_parser_table_define],
[m4_ifval([$4], [b4_comment([$4])
])dnl
[private static final ]$1[ yy$2_[] = yy$2_init();
private static final ]$1[[] yy$2_init()
{
return new ]$1[[]
{
]$3[
};
}]])
# b4_integral_parser_table_define(NAME, DATA, COMMENT)
#-----------------------------------------------------
m4_define([b4_integral_parser_table_define],
[b4_typed_parser_table_define([b4_int_type_for([$2])], [$1], [$2], [$3])])
## ------------------------- ##
## Assigning token numbers. ##
## ------------------------- ##
# b4_token_enum(TOKEN-NUM)
# ------------------------
# Output the definition of this token as an enum.
m4_define([b4_token_enum],
[b4_token_format([ /** Token number, to be returned by the scanner. */
static final int %s = %s;
], [$1])])
# b4_token_enums
# --------------
# Output the definition of the tokens (if there are) as enums.
m4_define([b4_token_enums],
[b4_any_token_visible_if([/* Tokens. */
b4_symbol_foreach([b4_token_enum])])])
# b4-case(ID, CODE)
# -----------------
# We need to fool Java's stupid unreachable code detection.
m4_define([b4_case], [ case $1:
if (yyn == $1)
$2;
break;
])
# b4_predicate_case(LABEL, CONDITIONS)
# ------------------------------------
m4_define([b4_predicate_case], [ case $1:
if (! ($2)) YYERROR;
break;
])
## -------- ##
## Checks. ##
## -------- ##
b4_percent_define_check_kind([[api.value.type]], [code], [deprecated])
b4_percent_define_check_kind([[annotations]], [code], [deprecated])
b4_percent_define_check_kind([[extends]], [code], [deprecated])
b4_percent_define_check_kind([[implements]], [code], [deprecated])
b4_percent_define_check_kind([[init_throws]], [code], [deprecated])
b4_percent_define_check_kind([[lex_throws]], [code], [deprecated])
b4_percent_define_check_kind([[parser_class_name]], [code], [deprecated])
b4_percent_define_check_kind([[throws]], [code], [deprecated])
## ---------------- ##
## Default values. ##
## ---------------- ##
m4_define([b4_yystype], [b4_percent_define_get([[api.value.type]])])
b4_percent_define_default([[api.value.type]], [[Object]])
# %name-prefix
m4_define_default([b4_prefix], [[YY]])
b4_percent_define_default([[parser_class_name]], [b4_prefix[]Parser])
m4_define([b4_parser_class_name], [b4_percent_define_get([[parser_class_name]])])
b4_percent_define_default([[lex_throws]], [[java.io.IOException]])
m4_define([b4_lex_throws], [b4_percent_define_get([[lex_throws]])])
b4_percent_define_default([[throws]], [])
m4_define([b4_throws], [b4_percent_define_get([[throws]])])
b4_percent_define_default([[init_throws]], [])
m4_define([b4_init_throws], [b4_percent_define_get([[init_throws]])])
b4_percent_define_default([[api.location.type]], [Location])
m4_define([b4_location_type], [b4_percent_define_get([[api.location.type]])])
b4_percent_define_default([[api.position.type]], [Position])
m4_define([b4_position_type], [b4_percent_define_get([[api.position.type]])])
## ----------------- ##
## Semantic Values. ##
## ----------------- ##
# b4_lhs_value([TYPE])
# --------------------
# Expansion of $<TYPE>$.
m4_define([b4_lhs_value], [yyval])
# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
# --------------------------------------
# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
# symbols on RHS.
#
# In this simple implementation, %token and %type have class names
# between the angle brackets.
m4_define([b4_rhs_value],
[(m4_ifval($3, [($3)])[](yystack.valueAt ($1-($2))))])
# b4_lhs_location()
# -----------------
# Expansion of @$.
m4_define([b4_lhs_location],
[(yyloc)])
# b4_rhs_location(RULE-LENGTH, NUM)
# ---------------------------------
# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
# on RHS.
m4_define([b4_rhs_location],
[yystack.locationAt ($1-($2))])
# b4_lex_param
# b4_parse_param
# --------------
# If defined, b4_lex_param arrives double quoted, but below we prefer
# it to be single quoted. Same for b4_parse_param.
# TODO: should be in bison.m4
m4_define_default([b4_lex_param], [[]])
m4_define([b4_lex_param], b4_lex_param)
m4_define([b4_parse_param], b4_parse_param)
# b4_lex_param_decl
# -----------------
# Extra formal arguments of the constructor.
m4_define([b4_lex_param_decl],
[m4_ifset([b4_lex_param],
[b4_remove_comma([$1],
b4_param_decls(b4_lex_param))],
[$1])])
m4_define([b4_param_decls],
[m4_map([b4_param_decl], [$@])])
m4_define([b4_param_decl], [, $1])
m4_define([b4_remove_comma], [m4_ifval(m4_quote($1), [$1, ], [])m4_shift2($@)])
# b4_parse_param_decl
# -------------------
# Extra formal arguments of the constructor.
m4_define([b4_parse_param_decl],
[m4_ifset([b4_parse_param],
[b4_remove_comma([$1],
b4_param_decls(b4_parse_param))],
[$1])])
# b4_lex_param_call
# -----------------
# Delegating the lexer parameters to the lexer constructor.
m4_define([b4_lex_param_call],
[m4_ifset([b4_lex_param],
[b4_remove_comma([$1],
b4_param_calls(b4_lex_param))],
[$1])])
m4_define([b4_param_calls],
[m4_map([b4_param_call], [$@])])
m4_define([b4_param_call], [, $2])
# b4_parse_param_cons
# -------------------
# Extra initialisations of the constructor.
m4_define([b4_parse_param_cons],
[m4_ifset([b4_parse_param],
[b4_constructor_calls(b4_parse_param)])])
m4_define([b4_constructor_calls],
[m4_map([b4_constructor_call], [$@])])
m4_define([b4_constructor_call],
[this.$2 = $2;
])
# b4_parse_param_vars
# -------------------
# Extra instance variables.
m4_define([b4_parse_param_vars],
[m4_ifset([b4_parse_param],
[
/* User arguments. */
b4_var_decls(b4_parse_param)])])
m4_define([b4_var_decls],
[m4_map_sep([b4_var_decl], [
], [$@])])
m4_define([b4_var_decl],
[ protected final $1;])
# b4_maybe_throws(THROWS)
# -----------------------
# Expand to either an empty string or "throws THROWS".
m4_define([b4_maybe_throws],
[m4_ifval($1, [throws $1])])

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,45 +0,0 @@
## Copyright (C) 2002, 2005-2013 Free Software Foundation, Inc.
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
dist_pkgdata_DATA = \
data/README \
data/bison.m4 \
data/c++-skel.m4 \
data/c++.m4 \
data/c-like.m4 \
data/c-skel.m4 \
data/c.m4 \
data/glr.c \
data/glr.cc \
data/java-skel.m4 \
data/java.m4 \
data/lalr1.cc \
data/lalr1.java \
data/location.cc \
data/stack.hh \
data/variant.hh \
data/yacc.c
m4sugardir = $(pkgdatadir)/m4sugar
dist_m4sugar_DATA = \
data/m4sugar/foreach.m4 \
data/m4sugar/m4sugar.m4
xsltdir = $(pkgdatadir)/xslt
dist_xslt_DATA = \
data/xslt/bison.xsl \
data/xslt/xml2dot.xsl \
data/xslt/xml2text.xsl \
data/xslt/xml2xhtml.xsl

View File

@@ -1,335 +0,0 @@
# C++ skeleton for Bison
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
m4_pushdef([b4_copyright_years],
[2002-2013])
# b4_position_define
# ------------------
# Define class position.
m4_define([b4_position_define],
[[ /// Abstract a position.
class position
{
public:]m4_ifdef([b4_location_constructors], [[
/// Construct a position.
explicit position (]b4_percent_define_get([[filename_type]])[* f = YY_NULL,
unsigned int l = ]b4_location_initial_line[u,
unsigned int c = ]b4_location_initial_column[u)
: filename (f)
, line (l)
, column (c)
{
}
]])[
/// Initialization.
void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULL,
unsigned int l = ]b4_location_initial_line[u,
unsigned int c = ]b4_location_initial_column[u)
{
filename = fn;
line = l;
column = c;
}
/** \name Line and Column related manipulators
** \{ */
/// (line related) Advance to the COUNT next lines.
void lines (int count = 1)
{
if (count)
{
column = ]b4_location_initial_column[u;
line = add_ (line, count, ]b4_location_initial_line[);
}
}
/// (column related) Advance to the COUNT next columns.
void columns (int count = 1)
{
column = add_ (column, count, ]b4_location_initial_column[);
}
/** \} */
/// File name to which this position refers.
]b4_percent_define_get([[filename_type]])[* filename;
/// Current line number.
unsigned int line;
/// Current column number.
unsigned int column;
private:
/// Compute max(min, lhs+rhs) (provided min <= lhs).
static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min)
{
return (0 < rhs || -static_cast<unsigned int>(rhs) < lhs
? rhs + lhs
: min);
}
};
/// Add and assign a position.
inline position&
operator+= (position& res, int width)
{
res.columns (width);
return res;
}
/// Add two position objects.
inline position
operator+ (position res, int width)
{
return res += width;
}
/// Add and assign a position.
inline position&
operator-= (position& res, int width)
{
return res += -width;
}
/// Add two position objects.
inline position
operator- (position res, int width)
{
return res -= width;
}
]b4_percent_define_flag_if([[define_location_comparison]], [[
/// Compare two position objects.
inline bool
operator== (const position& pos1, const position& pos2)
{
return (pos1.line == pos2.line
&& pos1.column == pos2.column
&& (pos1.filename == pos2.filename
|| (pos1.filename && pos2.filename
&& *pos1.filename == *pos2.filename)));
}
/// Compare two position objects.
inline bool
operator!= (const position& pos1, const position& pos2)
{
return !(pos1 == pos2);
}
]])[
/** \brief Intercept output stream redirection.
** \param ostr the destination output stream
** \param pos a reference to the position to redirect
*/
template <typename YYChar>
inline std::basic_ostream<YYChar>&
operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
{
if (pos.filename)
ostr << *pos.filename << ':';
return ostr << pos.line << '.' << pos.column;
}
]])
# b4_location_define
# ------------------
m4_define([b4_location_define],
[[ /// Abstract a location.
class location
{
public:
]m4_ifdef([b4_location_constructors], [
/// Construct a location from \a b to \a e.
location (const position& b, const position& e)
: begin (b)
, end (e)
{
}
/// Construct a 0-width location in \a p.
explicit location (const position& p = position ())
: begin (p)
, end (p)
{
}
/// Construct a 0-width location in \a f, \a l, \a c.
explicit location (]b4_percent_define_get([[filename_type]])[* f,
unsigned int l = ]b4_location_initial_line[u,
unsigned int c = ]b4_location_initial_column[u)
: begin (f, l, c)
, end (f, l, c)
{
}
])[
/// Initialization.
void initialize (]b4_percent_define_get([[filename_type]])[* f = YY_NULL,
unsigned int l = ]b4_location_initial_line[u,
unsigned int c = ]b4_location_initial_column[u)
{
begin.initialize (f, l, c);
end = begin;
}
/** \name Line and Column related manipulators
** \{ */
public:
/// Reset initial location to final location.
void step ()
{
begin = end;
}
/// Extend the current location to the COUNT next columns.
void columns (int count = 1)
{
end += count;
}
/// Extend the current location to the COUNT next lines.
void lines (int count = 1)
{
end.lines (count);
}
/** \} */
public:
/// Beginning of the located region.
position begin;
/// End of the located region.
position end;
};
/// Join two location objects to create a location.
inline location operator+ (location res, const location& end)
{
res.end = end.end;
return res;
}
/// Change end position in place.
inline location& operator+= (location& res, int width)
{
res.columns (width);
return res;
}
/// Change end position.
inline location operator+ (location res, int width)
{
return res += width;
}
/// Change end position in place.
inline location& operator-= (location& res, int width)
{
return res += -width;
}
/// Change end position.
inline location operator- (const location& begin, int width)
{
return begin + -width;
}
]b4_percent_define_flag_if([[define_location_comparison]], [[
/// Compare two location objects.
inline bool
operator== (const location& loc1, const location& loc2)
{
return loc1.begin == loc2.begin && loc1.end == loc2.end;
}
/// Compare two location objects.
inline bool
operator!= (const location& loc1, const location& loc2)
{
return !(loc1 == loc2);
}
]])[
/** \brief Intercept output stream redirection.
** \param ostr the destination output stream
** \param loc a reference to the location to redirect
**
** Avoid duplicate information.
*/
template <typename YYChar>
inline std::basic_ostream<YYChar>&
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
{
unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
ostr << loc.begin// << "(" << loc.end << ") "
;
if (loc.end.filename
&& (!loc.begin.filename
|| *loc.begin.filename != *loc.end.filename))
ostr << '-' << loc.end.filename << ':' << loc.end.line << '.' << end_col;
else if (loc.begin.line < loc.end.line)
ostr << '-' << loc.end.line << '.' << end_col;
else if (loc.begin.column < end_col)
ostr << '-' << end_col;
return ostr;
}
]])
b4_defines_if([
b4_output_begin([b4_dir_prefix[]position.hh])
b4_copyright([Positions for Bison parsers in C++])[
/**
** \file ]b4_dir_prefix[position.hh
** Define the ]b4_namespace_ref[::position class.
*/
]b4_cpp_guard_open([b4_dir_prefix[]position.hh])[
# include <algorithm> // std::max
# include <iostream>
# include <string>
]b4_null_define[
]b4_namespace_open[
]b4_position_define[
]b4_namespace_close[
]b4_cpp_guard_close([b4_dir_prefix[]position.hh])
b4_output_end()
b4_output_begin([b4_dir_prefix[]location.hh])
b4_copyright([Locations for Bison parsers in C++])[
/**
** \file ]b4_dir_prefix[location.hh
** Define the ]b4_namespace_ref[::location class.
*/
]b4_cpp_guard_open([b4_dir_prefix[]location.hh])[
# include "position.hh"
]b4_namespace_open[
]b4_location_define[
]b4_namespace_close[
]b4_cpp_guard_close([b4_dir_prefix[]location.hh])
b4_output_end()
])
m4_popdef([b4_copyright_years])

View File

@@ -1,362 +0,0 @@
# -*- Autoconf -*-
# This file is part of Autoconf.
# foreach-based replacements for recursive functions.
# Speeds up GNU M4 1.4.x by avoiding quadratic $@ recursion, but penalizes
# GNU M4 1.6 by requiring more memory and macro expansions.
#
# Copyright (C) 2008-2013 Free Software Foundation, Inc.
# This file is part of Autoconf. This program is free
# software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# Under Section 7 of GPL version 3, you are granted additional
# permissions described in the Autoconf Configure Script Exception,
# version 3.0, as published by the Free Software Foundation.
#
# You should have received a copy of the GNU General Public License
# and a copy of the Autoconf Configure Script Exception along with
# this program; see the files COPYINGv3 and COPYING.EXCEPTION
# respectively. If not, see <http://www.gnu.org/licenses/>.
# Written by Eric Blake.
# In M4 1.4.x, every byte of $@ is rescanned. This means that an
# algorithm on n arguments that recurses with one less argument each
# iteration will scan n * (n + 1) / 2 arguments, for O(n^2) time. In
# M4 1.6, this was fixed so that $@ is only scanned once, then
# back-references are made to information stored about the scan.
# Thus, n iterations need only scan n arguments, for O(n) time.
# Additionally, in M4 1.4.x, recursive algorithms did not clean up
# memory very well, requiring O(n^2) memory rather than O(n) for n
# iterations.
#
# This file is designed to overcome the quadratic nature of $@
# recursion by writing a variant of m4_foreach that uses m4_for rather
# than $@ recursion to operate on the list. This involves more macro
# expansions, but avoids the need to rescan a quadratic number of
# arguments, making these replacements very attractive for M4 1.4.x.
# On the other hand, in any version of M4, expanding additional macros
# costs additional time; therefore, in M4 1.6, where $@ recursion uses
# fewer macros, these replacements actually pessimize performance.
# Additionally, the use of $10 to mean the tenth argument violates
# POSIX; although all versions of m4 1.4.x support this meaning, a
# future m4 version may switch to take it as the first argument
# concatenated with a literal 0, so the implementations in this file
# are not future-proof. Thus, this file is conditionally included as
# part of m4_init(), only when it is detected that M4 probably has
# quadratic behavior (ie. it lacks the macro __m4_version__).
#
# Please keep this file in sync with m4sugar.m4.
# _m4_foreach(PRE, POST, IGNORED, ARG...)
# ---------------------------------------
# Form the common basis of the m4_foreach and m4_map macros. For each
# ARG, expand PRE[ARG]POST[]. The IGNORED argument makes recursion
# easier, and must be supplied rather than implicit.
#
# This version minimizes the number of times that $@ is evaluated by
# using m4_for to generate a boilerplate into _m4_f then passing $@ to
# that temporary macro. Thus, the recursion is done in m4_for without
# reparsing any user input, and is not quadratic. For an idea of how
# this works, note that m4_foreach(i,[1,2],[i]) calls
# _m4_foreach([m4_define([i],],[)i],[],[1],[2])
# which defines _m4_f:
# $1[$4]$2[]$1[$5]$2[]_m4_popdef([_m4_f])
# then calls _m4_f([m4_define([i],],[)i],[],[1],[2]) for a net result:
# m4_define([i],[1])i[]m4_define([i],[2])i[]_m4_popdef([_m4_f]).
m4_define([_m4_foreach],
[m4_if([$#], [3], [],
[m4_pushdef([_m4_f], _m4_for([4], [$#], [1],
[$0_([1], [2],], [)])[_m4_popdef([_m4_f])])_m4_f($@)])])
m4_define([_m4_foreach_],
[[$$1[$$3]$$2[]]])
# m4_case(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT)
# -----------------------------------------------------------
# Find the first VAL that SWITCH matches, and expand the corresponding
# IF-VAL. If there are no matches, expand DEFAULT.
#
# Use m4_for to create a temporary macro in terms of a boilerplate
# m4_if with final cleanup. If $# is even, we have DEFAULT; if it is
# odd, then rounding the last $# up in the temporary macro is
# harmless. For example, both m4_case(1,2,3,4,5) and
# m4_case(1,2,3,4,5,6) result in the intermediate _m4_case being
# m4_if([$1],[$2],[$3],[$1],[$4],[$5],_m4_popdef([_m4_case])[$6])
m4_define([m4_case],
[m4_if(m4_eval([$# <= 2]), [1], [$2],
[m4_pushdef([_$0], [m4_if(]_m4_for([2], m4_eval([($# - 1) / 2 * 2]), [2],
[_$0_(], [)])[_m4_popdef(
[_$0])]m4_dquote($m4_eval([($# + 1) & ~1]))[)])_$0($@)])])
m4_define([_m4_case_],
[$0_([1], [$1], m4_incr([$1]))])
m4_define([_m4_case__],
[[[$$1],[$$2],[$$3],]])
# m4_bmatch(SWITCH, RE1, VAL1, RE2, VAL2, ..., DEFAULT)
# -----------------------------------------------------
# m4 equivalent of
#
# if (SWITCH =~ RE1)
# VAL1;
# elif (SWITCH =~ RE2)
# VAL2;
# elif ...
# ...
# else
# DEFAULT
#
# We build the temporary macro _m4_b:
# m4_define([_m4_b], _m4_defn([_m4_bmatch]))_m4_b([$1], [$2], [$3])...
# _m4_b([$1], [$m-1], [$m])_m4_b([], [], [$m+1]_m4_popdef([_m4_b]))
# then invoke m4_unquote(_m4_b($@)), for concatenation with later text.
m4_define([m4_bmatch],
[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
[$#], 1, [m4_fatal([$0: too few arguments: $#: $1])],
[$#], 2, [$2],
[m4_pushdef([_m4_b], [m4_define([_m4_b],
_m4_defn([_$0]))]_m4_for([3], m4_eval([($# + 1) / 2 * 2 - 1]),
[2], [_$0_(], [)])[_m4_b([], [],]m4_dquote([$]m4_eval(
[($# + 1) / 2 * 2]))[_m4_popdef([_m4_b]))])m4_unquote(_m4_b($@))])])
m4_define([_m4_bmatch],
[m4_if(m4_bregexp([$1], [$2]), [-1], [], [[$3]m4_define([$0])])])
m4_define([_m4_bmatch_],
[$0_([1], m4_decr([$1]), [$1])])
m4_define([_m4_bmatch__],
[[_m4_b([$$1], [$$2], [$$3])]])
# m4_cond(TEST1, VAL1, IF-VAL1, TEST2, VAL2, IF-VAL2, ..., [DEFAULT])
# -------------------------------------------------------------------
# Similar to m4_if, except that each TEST is expanded when encountered.
# If the expansion of TESTn matches the string VALn, the result is IF-VALn.
# The result is DEFAULT if no tests passed. This macro allows
# short-circuiting of expensive tests, where it pays to arrange quick
# filter tests to run first.
#
# m4_cond already guarantees either 3*n or 3*n + 1 arguments, 1 <= n.
# We only have to speed up _m4_cond, by building the temporary _m4_c:
# m4_define([_m4_c], _m4_defn([m4_unquote]))_m4_c([m4_if(($1), [($2)],
# [[$3]m4_define([_m4_c])])])_m4_c([m4_if(($4), [($5)],
# [[$6]m4_define([_m4_c])])])..._m4_c([m4_if(($m-2), [($m-1)],
# [[$m]m4_define([_m4_c])])])_m4_c([[$m+1]]_m4_popdef([_m4_c]))
# We invoke m4_unquote(_m4_c($@)), for concatenation with later text.
m4_define([_m4_cond],
[m4_pushdef([_m4_c], [m4_define([_m4_c],
_m4_defn([m4_unquote]))]_m4_for([2], m4_eval([$# / 3 * 3 - 1]), [3],
[$0_(], [)])[_m4_c(]m4_dquote(m4_dquote(
[$]m4_eval([$# / 3 * 3 + 1])))[_m4_popdef([_m4_c]))])m4_unquote(_m4_c($@))])
m4_define([_m4_cond_],
[$0_(m4_decr([$1]), [$1], m4_incr([$1]))])
m4_define([_m4_cond__],
[[_m4_c([m4_if(($$1), [($$2)], [[$$3]m4_define([_m4_c])])])]])
# m4_bpatsubsts(STRING, RE1, SUBST1, RE2, SUBST2, ...)
# ----------------------------------------------------
# m4 equivalent of
#
# $_ = STRING;
# s/RE1/SUBST1/g;
# s/RE2/SUBST2/g;
# ...
#
# m4_bpatsubsts already validated an odd number of arguments; we only
# need to speed up _m4_bpatsubsts. To avoid nesting, we build the
# temporary _m4_p:
# m4_define([_m4_p], [$1])m4_define([_m4_p],
# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$2], [$3]))m4_define([_m4_p],
# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$4], [$5]))m4_define([_m4_p],...
# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$m-1], [$m]))m4_unquote(
# _m4_defn([_m4_p])_m4_popdef([_m4_p]))
m4_define([_m4_bpatsubsts],
[m4_pushdef([_m4_p], [m4_define([_m4_p],
]m4_dquote([$]1)[)]_m4_for([3], [$#], [2], [$0_(],
[)])[m4_unquote(_m4_defn([_m4_p])_m4_popdef([_m4_p]))])_m4_p($@)])
m4_define([_m4_bpatsubsts_],
[$0_(m4_decr([$1]), [$1])])
m4_define([_m4_bpatsubsts__],
[[m4_define([_m4_p],
m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$$1], [$$2]))]])
# m4_shiftn(N, ...)
# -----------------
# Returns ... shifted N times. Useful for recursive "varargs" constructs.
#
# m4_shiftn already validated arguments; we only need to speed up
# _m4_shiftn. If N is 3, then we build the temporary _m4_s, defined as
# ,[$5],[$6],...,[$m]_m4_popdef([_m4_s])
# before calling m4_shift(_m4_s($@)).
m4_define([_m4_shiftn],
[m4_if(m4_incr([$1]), [$#], [], [m4_pushdef([_m4_s],
_m4_for(m4_eval([$1 + 2]), [$#], [1],
[[,]m4_dquote($], [)])[_m4_popdef([_m4_s])])m4_shift(_m4_s($@))])])
# m4_do(STRING, ...)
# ------------------
# This macro invokes all its arguments (in sequence, of course). It is
# useful for making your macros more structured and readable by dropping
# unnecessary dnl's and have the macros indented properly.
#
# Here, we use the temporary macro _m4_do, defined as
# $1[]$2[]...[]$n[]_m4_popdef([_m4_do])
m4_define([m4_do],
[m4_if([$#], [0], [],
[m4_pushdef([_$0], _m4_for([1], [$#], [1],
[$], [[[]]])[_m4_popdef([_$0])])_$0($@)])])
# m4_dquote_elt(ARGS)
# -------------------
# Return ARGS as an unquoted list of double-quoted arguments.
#
# _m4_foreach to the rescue.
m4_define([m4_dquote_elt],
[m4_if([$#], [0], [], [[[$1]]_m4_foreach([,m4_dquote(], [)], $@)])])
# m4_reverse(ARGS)
# ----------------
# Output ARGS in reverse order.
#
# Invoke _m4_r($@) with the temporary _m4_r built as
# [$m], [$m-1], ..., [$2], [$1]_m4_popdef([_m4_r])
m4_define([m4_reverse],
[m4_if([$#], [0], [], [$#], [1], [[$1]],
[m4_pushdef([_m4_r], [[$$#]]_m4_for(m4_decr([$#]), [1], [-1],
[[, ]m4_dquote($], [)])[_m4_popdef([_m4_r])])_m4_r($@)])])
# m4_map_args_pair(EXPRESSION, [END-EXPR = EXPRESSION], ARG...)
# -------------------------------------------------------------
# Perform a pairwise grouping of consecutive ARGs, by expanding
# EXPRESSION([ARG1], [ARG2]). If there are an odd number of ARGs, the
# final argument is expanded with END-EXPR([ARGn]).
#
# Build the temporary macro _m4_map_args_pair, with the $2([$m+1])
# only output if $# is odd:
# $1([$3], [$4])[]$1([$5], [$6])[]...$1([$m-1],
# [$m])[]m4_default([$2], [$1])([$m+1])[]_m4_popdef([_m4_map_args_pair])
m4_define([m4_map_args_pair],
[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
[$#], [1], [m4_fatal([$0: too few arguments: $#: $1])],
[$#], [2], [],
[$#], [3], [m4_default([$2], [$1])([$3])[]],
[m4_pushdef([_$0], _m4_for([3],
m4_eval([$# / 2 * 2 - 1]), [2], [_$0_(], [)])_$0_end(
[1], [2], [$#])[_m4_popdef([_$0])])_$0($@)])])
m4_define([_m4_map_args_pair_],
[$0_([1], [$1], m4_incr([$1]))])
m4_define([_m4_map_args_pair__],
[[$$1([$$2], [$$3])[]]])
m4_define([_m4_map_args_pair_end],
[m4_if(m4_eval([$3 & 1]), [1], [[m4_default([$$2], [$$1])([$$3])[]]])])
# m4_join(SEP, ARG1, ARG2...)
# ---------------------------
# Produce ARG1SEPARG2...SEPARGn. Avoid back-to-back SEP when a given ARG
# is the empty string. No expansion is performed on SEP or ARGs.
#
# Use a self-modifying separator, since we don't know how many
# arguments might be skipped before a separator is first printed, but
# be careful if the separator contains $. _m4_foreach to the rescue.
m4_define([m4_join],
[m4_pushdef([_m4_sep], [m4_define([_m4_sep], _m4_defn([m4_echo]))])]dnl
[_m4_foreach([_$0([$1],], [)], $@)_m4_popdef([_m4_sep])])
m4_define([_m4_join],
[m4_if([$2], [], [], [_m4_sep([$1])[$2]])])
# m4_joinall(SEP, ARG1, ARG2...)
# ------------------------------
# Produce ARG1SEPARG2...SEPARGn. An empty ARG results in back-to-back SEP.
# No expansion is performed on SEP or ARGs.
#
# A bit easier than m4_join. _m4_foreach to the rescue.
m4_define([m4_joinall],
[[$2]m4_if(m4_eval([$# <= 2]), [1], [],
[_m4_foreach([$1], [], m4_shift($@))])])
# m4_list_cmp(A, B)
# -----------------
# Compare the two lists of integer expressions A and B.
#
# m4_list_cmp takes care of any side effects; we only override
# _m4_list_cmp_raw, where we can safely expand lists multiple times.
# First, insert padding so that both lists are the same length; the
# trailing +0 is necessary to handle a missing list. Next, create a
# temporary macro to perform pairwise comparisons until an inequality
# is found. For example, m4_list_cmp([1], [1,2]) creates _m4_cmp as
# m4_if(m4_eval([($1) != ($3)]), [1], [m4_cmp([$1], [$3])],
# m4_eval([($2) != ($4)]), [1], [m4_cmp([$2], [$4])],
# [0]_m4_popdef([_m4_cmp]))
# then calls _m4_cmp([1+0], [0*2], [1], [2+0])
m4_define([_m4_list_cmp_raw],
[m4_if([$1], [$2], 0,
[_m4_list_cmp($1+0_m4_list_pad(m4_count($1), m4_count($2)),
$2+0_m4_list_pad(m4_count($2), m4_count($1)))])])
m4_define([_m4_list_pad],
[m4_if(m4_eval($1 < $2), [1],
[_m4_for(m4_incr([$1]), [$2], [1], [,0*])])])
m4_define([_m4_list_cmp],
[m4_pushdef([_m4_cmp], [m4_if(]_m4_for(
[1], m4_eval([$# >> 1]), [1], [$0_(], [,]m4_eval([$# >> 1])[)])[
[0]_m4_popdef([_m4_cmp]))])_m4_cmp($@)])
m4_define([_m4_list_cmp_],
[$0_([$1], m4_eval([$1 + $2]))])
m4_define([_m4_list_cmp__],
[[m4_eval([($$1) != ($$2)]), [1], [m4_cmp([$$1], [$$2])],
]])
# m4_max(EXPR, ...)
# m4_min(EXPR, ...)
# -----------------
# Return the decimal value of the maximum (or minimum) in a series of
# integer expressions.
#
# _m4_foreach to the rescue; we only need to replace _m4_minmax. Here,
# we need a temporary macro to track the best answer so far, so that
# the foreach expression is tractable.
m4_define([_m4_minmax],
[m4_pushdef([_m4_best], m4_eval([$2]))_m4_foreach(
[m4_define([_m4_best], $1(_m4_best,], [))], m4_shift($@))]dnl
[_m4_best[]_m4_popdef([_m4_best])])
# m4_set_add_all(SET, VALUE...)
# -----------------------------
# Add each VALUE into SET. This is O(n) in the number of VALUEs, and
# can be faster than calling m4_set_add for each VALUE.
#
# _m4_foreach to the rescue. If no deletions have occurred, then
# avoid the speed penalty of m4_set_add.
m4_define([m4_set_add_all],
[m4_if([$#], [0], [], [$#], [1], [],
[m4_define([_m4_set_size($1)], m4_eval(m4_set_size([$1])
+ m4_len(_m4_foreach(m4_ifdef([_m4_set_cleanup($1)],
[[m4_set_add]], [[_$0]])[([$1],], [)], $@))))])])
m4_define([_m4_set_add_all],
[m4_ifdef([_m4_set([$1],$2)], [],
[m4_define([_m4_set([$1],$2)],
[1])m4_pushdef([_m4_set([$1])], [$2])-])])

File diff suppressed because it is too large Load Diff

View File

@@ -1,154 +0,0 @@
# C++ skeleton for Bison
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
m4_pushdef([b4_copyright_years],
[2002-2013])
# b4_stack_define
# ---------------
m4_define([b4_stack_define],
[[ template <class T, class S = std::vector<T> >
class stack
{
public:
// Hide our reversed order.
typedef typename S::reverse_iterator iterator;
typedef typename S::const_reverse_iterator const_iterator;
stack ()
: seq_ ()
{
}
stack (unsigned int n)
: seq_ (n)
{
}
inline
T&
operator[] (unsigned int i)
{
return seq_[seq_.size () - 1 - i];
}
inline
const T&
operator[] (unsigned int i) const
{
return seq_[seq_.size () - 1 - i];
}
/// Steal the contents of \a t.
///
/// Close to move-semantics.
inline
void
push (T& t)
{
seq_.push_back (T());
operator[](0).move (t);
}
inline
void
pop (unsigned int n = 1)
{
for (; n; --n)
seq_.pop_back ();
}
void
clear ()
{
seq_.clear ();
}
inline
typename S::size_type
size () const
{
return seq_.size ();
}
inline
const_iterator
begin () const
{
return seq_.rbegin ();
}
inline
const_iterator
end () const
{
return seq_.rend ();
}
private:
stack (const stack&);
stack& operator= (const stack&);
/// The wrapped container.
S seq_;
};
/// Present a slice of the top of a stack.
template <class T, class S = stack<T> >
class slice
{
public:
slice (const S& stack, unsigned int range)
: stack_ (stack)
, range_ (range)
{
}
inline
const T&
operator [] (unsigned int i) const
{
return stack_[range_ - i];
}
private:
const S& stack_;
unsigned int range_;
};
]])
b4_defines_if(
[b4_output_begin([b4_dir_prefix[]stack.hh])
b4_copyright([Stack handling for Bison parsers in C++])[
/**
** \file ]b4_dir_prefix[stack.hh
** Define the ]b4_namespace_ref[::stack class.
*/
]b4_cpp_guard_open([b4_dir_prefix[]stack.hh])[
# include <vector>
]b4_namespace_open[
]b4_stack_define[
]b4_namespace_close[
]b4_cpp_guard_close([b4_dir_prefix[]stack.hh])
b4_output_end()
])
m4_popdef([b4_copyright_years])

View File

@@ -1,362 +0,0 @@
# C++ skeleton for Bison
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
## --------- ##
## variant. ##
## --------- ##
# b4_symbol_variant(YYTYPE, YYVAL, ACTION, [ARGS])
# ------------------------------------------------
# Run some ACTION ("build", or "destroy") on YYVAL of symbol type
# YYTYPE.
m4_define([b4_symbol_variant],
[m4_pushdef([b4_dollar_dollar],
[$2.$3< $][3 > (m4_shift3($@))])dnl
switch ($1)
{
b4_type_foreach([b4_type_action_])[]dnl
default:
break;
}
m4_popdef([b4_dollar_dollar])dnl
])
# _b4_char_sizeof_counter
# -----------------------
# A counter used by _b4_char_sizeof_dummy to create fresh symbols.
m4_define([_b4_char_sizeof_counter],
[0])
# _b4_char_sizeof_dummy
# ---------------------
# At each call return a new C++ identifier.
m4_define([_b4_char_sizeof_dummy],
[m4_define([_b4_char_sizeof_counter], m4_incr(_b4_char_sizeof_counter))dnl
dummy[]_b4_char_sizeof_counter])
# b4_char_sizeof(SYMBOL-NUMS)
# ---------------------------
# To be mapped on the list of type names to produce:
#
# char dummy1[sizeof(type_name_1)];
# char dummy2[sizeof(type_name_2)];
#
# for defined type names.
m4_define([b4_char_sizeof],
[b4_symbol_if([$1], [has_type],
[
m4_map([ b4_symbol_tag_comment], [$@])dnl
char _b4_char_sizeof_dummy@{sizeof(b4_symbol([$1], [type]))@};
])])
# b4_variant_includes
# -------------------
# The needed includes for variants support.
m4_define([b4_variant_includes],
[b4_parse_assert_if([[#include <typeinfo>]])[
#ifndef YYASSERT
# include <cassert>
# define YYASSERT assert
#endif
]])
# b4_variant_define
# -----------------
# Define "variant".
m4_define([b4_variant_define],
[[ /// A char[S] buffer to store and retrieve objects.
///
/// Sort of a variant, but does not keep track of the nature
/// of the stored data, since that knowledge is available
/// via the current state.
template <size_t S>
struct variant
{
/// Type of *this.
typedef variant<S> self_type;
/// Empty construction.
variant ()]b4_parse_assert_if([
: yytname_ (YY_NULL)])[
{}
/// Construct and fill.
template <typename T>
variant (const T& t)]b4_parse_assert_if([
: yytname_ (typeid (T).name ())])[
{
YYASSERT (sizeof (T) <= S);
new (yyas_<T> ()) T (t);
}
/// Destruction, allowed only if empty.
~variant ()
{]b4_parse_assert_if([
YYASSERT (!yytname_);
])[}
/// Instantiate an empty \a T in here.
template <typename T>
T&
build ()
{]b4_parse_assert_if([
YYASSERT (!yytname_);
YYASSERT (sizeof (T) <= S);
yytname_ = typeid (T).name ();])[
return *new (yyas_<T> ()) T;
}
/// Instantiate a \a T in here from \a t.
template <typename T>
T&
build (const T& t)
{]b4_parse_assert_if([
YYASSERT (!yytname_);
YYASSERT (sizeof (T) <= S);
yytname_ = typeid (T).name ();])[
return *new (yyas_<T> ()) T (t);
}
/// Accessor to a built \a T.
template <typename T>
T&
as ()
{]b4_parse_assert_if([
YYASSERT (yytname_ == typeid (T).name ());
YYASSERT (sizeof (T) <= S);])[
return *yyas_<T> ();
}
/// Const accessor to a built \a T (for %printer).
template <typename T>
const T&
as () const
{]b4_parse_assert_if([
YYASSERT (yytname_ == typeid (T).name ());
YYASSERT (sizeof (T) <= S);])[
return *yyas_<T> ();
}
/// Swap the content with \a other, of same type.
///
/// Both variants must be built beforehand, because swapping the actual
/// data requires reading it (with as()), and this is not possible on
/// unconstructed variants: it would require some dynamic testing, which
/// should not be the variant's responsability.
/// Swapping between built and (possibly) non-built is done with
/// variant::move ().
template <typename T>
void
swap (self_type& other)
{]b4_parse_assert_if([
YYASSERT (yytname_);
YYASSERT (yytname_ == other.yytname_);])[
std::swap (as<T> (), other.as<T> ());
}
/// Move the content of \a other to this.
///
/// Destroys \a other.
template <typename T>
void
move (self_type& other)
{]b4_parse_assert_if([
YYASSERT (!yytname_);])[
build<T> ();
swap<T> (other);
other.destroy<T> ();
}
/// Copy the content of \a other to this.
template <typename T>
void
copy (const self_type& other)
{
build<T> (other.as<T> ());
}
/// Destroy the stored \a T.
template <typename T>
void
destroy ()
{
as<T> ().~T ();]b4_parse_assert_if([
yytname_ = YY_NULL;])[
}
private:
/// Prohibit blind copies.
self_type& operator=(const self_type&);
variant (const self_type&);
/// Accessor to raw memory as \a T.
template <typename T>
T*
yyas_ ()
{
void *yyp = yybuffer_.yyraw;
return static_cast<T*> (yyp);
}
/// Const accessor to raw memory as \a T.
template <typename T>
const T*
yyas_ () const
{
const void *yyp = yybuffer_.yyraw;
return static_cast<const T*> (yyp);
}
union
{
/// Strongest alignment constraints.
long double yyalign_me;
/// A buffer large enough to store any of the semantic values.
char yyraw[S];
} yybuffer_;]b4_parse_assert_if([
/// Whether the content is built: if defined, the name of the stored type.
const char *yytname_;])[
};
]])
## -------------------------- ##
## Adjustments for variants. ##
## -------------------------- ##
# b4_value_type_declare
# ---------------------
# Declare semantic_type.
m4_define([b4_value_type_declare],
[[ /// An auxiliary type to compute the largest semantic type.
union union_type
{]b4_type_foreach([b4_char_sizeof])[};
/// Symbol semantic values.
typedef variant<sizeof(union_type)> semantic_type;][]dnl
])
# How the semantic value is extracted when using variants.
# b4_symbol_value(VAL, [TYPE])
# ----------------------------
m4_define([b4_symbol_value],
[m4_ifval([$2],
[$1.as< $2 > ()],
[$1])])
# b4_symbol_value_template(VAL, [TYPE])
# -------------------------------------
# Same as b4_symbol_value, but used in a template method.
m4_define([b4_symbol_value_template],
[m4_ifval([$2],
[$1.template as< $2 > ()],
[$1])])
## ------------- ##
## make_SYMBOL. ##
## ------------- ##
# b4_symbol_constructor_declare_(SYMBOL-NUMBER)
# ---------------------------------------------
# Declare the overloaded version of make_symbol for the (common) type of
# these SYMBOL-NUMBERS. Use at class-level.
m4_define([b4_symbol_constructor_declare_],
[b4_symbol_if([$1], [is_token], [b4_symbol_if([$1], [has_id],
[ static inline
symbol_type
make_[]b4_symbol_([$1], [id]) (dnl
b4_join(b4_symbol_if([$1], [has_type],
[const b4_symbol([$1], [type])& v]),
b4_locations_if([const location_type& l])));
])])])
# b4_symbol_constructor_declare
# -----------------------------
# Declare symbol constructors for all the value types.
# Use at class-level.
m4_define([b4_symbol_constructor_declare],
[ // Symbol constructors declarations.
b4_symbol_foreach([b4_symbol_constructor_declare_])])
# b4_symbol_constructor_define_(SYMBOL-NUMBER)
# --------------------------------------------
# Define symbol constructor for this SYMBOL-NUMBER.
m4_define([b4_symbol_constructor_define_],
[b4_symbol_if([$1], [is_token], [b4_symbol_if([$1], [has_id],
[ b4_parser_class_name::symbol_type
b4_parser_class_name::make_[]b4_symbol_([$1], [id]) (dnl
b4_join(b4_symbol_if([$1], [has_type],
[const b4_symbol([$1], [type])& v]),
b4_locations_if([const location_type& l])))
{
return symbol_type (b4_join([token::b4_symbol([$1], [id])],
b4_symbol_if([$1], [has_type], [v]),
b4_locations_if([l])));
}
])])])
# b4_basic_symbol_constructor_declare
# -----------------------------------
# Generate a constructor declaration for basic_symbol from given type.
m4_define([b4_basic_symbol_constructor_declare],
[[
basic_symbol (]b4_join(
[typename Base::kind_type t],
b4_symbol_if([$1], [has_type], const b4_symbol([$1], [type])[ v]),
b4_locations_if([const location_type& l]))[);
]])
# b4_basic_symbol_constructor_define
# ----------------------------------
# Generate a constructor implementation for basic_symbol from given type.
m4_define([b4_basic_symbol_constructor_define],
[[
template <typename Base>
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
[typename Base::kind_type t],
b4_symbol_if([$1], [has_type], const b4_symbol([$1], [type])[ v]),
b4_locations_if([const location_type& l]))[)
: Base (t)
, value (]b4_symbol_if([$1], [has_type], [v])[)]b4_locations_if([
, location (l)])[
{}
]])
# b4_symbol_constructor_define
# ----------------------------
# Define the overloaded versions of make_symbol for all the value types.
m4_define([b4_symbol_constructor_define],
[ // Implementation of make_symbol for each symbol type.
b4_symbol_foreach([b4_symbol_constructor_define_])])

View File

@@ -1,105 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
bison.xsl - common templates for Bison XSLT.
Copyright (C) 2007-2013 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bison="http://www.gnu.org/software/bison/">
<xsl:key
name="bison:symbolByName"
match="/bison-xml-report/grammar/nonterminals/nonterminal"
use="@name"
/>
<xsl:key
name="bison:symbolByName"
match="/bison-xml-report/grammar/terminals/terminal"
use="@name"
/>
<xsl:key
name="bison:ruleByNumber"
match="/bison-xml-report/grammar/rules/rule"
use="@number"
/>
<xsl:key
name="bison:ruleByLhs"
match="/bison-xml-report/grammar/rules/rule[
@usefulness != 'useless-in-grammar']"
use="lhs"
/>
<xsl:key
name="bison:ruleByRhs"
match="/bison-xml-report/grammar/rules/rule[
@usefulness != 'useless-in-grammar']"
use="rhs/symbol"
/>
<!-- For the specified state, output: #sr-conflicts,#rr-conflicts -->
<xsl:template match="state" mode="bison:count-conflicts">
<xsl:variable name="transitions" select="actions/transitions"/>
<xsl:variable name="reductions" select="actions/reductions"/>
<xsl:variable
name="terminals"
select="
$transitions/transition[@type='shift']/@symbol
| $reductions/reduction/@symbol
"
/>
<xsl:variable name="conflict-data">
<xsl:for-each select="$terminals">
<xsl:variable name="name" select="."/>
<xsl:if test="generate-id($terminals[. = $name][1]) = generate-id(.)">
<xsl:variable
name="shift-count"
select="count($transitions/transition[@symbol=$name])"
/>
<xsl:variable
name="reduce-count"
select="count($reductions/reduction[@symbol=$name])"
/>
<xsl:if test="$shift-count > 0 and $reduce-count > 0">
<xsl:text>s</xsl:text>
</xsl:if>
<xsl:if test="$reduce-count > 1">
<xsl:text>r</xsl:text>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="string-length(translate($conflict-data, 'r', ''))"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="string-length(translate($conflict-data, 's', ''))"/>
</xsl:template>
<xsl:template name="space">
<xsl:param name="repeat">0</xsl:param>
<xsl:param name="fill" select="' '"/>
<xsl:if test="number($repeat) &gt;= 1">
<xsl:call-template name="space">
<xsl:with-param name="repeat" select="$repeat - 1"/>
<xsl:with-param name="fill" select="$fill"/>
</xsl:call-template>
<xsl:value-of select="$fill"/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,397 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
xml2dot.xsl - transform Bison XML Report into DOT.
Copyright (C) 2007-2013 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Written by Wojciech Polak <polak@gnu.org>.
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bison="http://www.gnu.org/software/bison/">
<xsl:import href="bison.xsl"/>
<xsl:output method="text" encoding="UTF-8" indent="no"/>
<xsl:template match="/">
<xsl:apply-templates select="bison-xml-report"/>
</xsl:template>
<xsl:template match="bison-xml-report">
<xsl:text>// Generated by GNU Bison </xsl:text>
<xsl:value-of select="@version"/>
<xsl:text>.&#10;</xsl:text>
<xsl:text>// Report bugs to &lt;</xsl:text>
<xsl:value-of select="@bug-report"/>
<xsl:text>&gt;.&#10;</xsl:text>
<xsl:text>// Home page: &lt;</xsl:text>
<xsl:value-of select="@url"/>
<xsl:text>&gt;.&#10;&#10;</xsl:text>
<xsl:apply-templates select="automaton">
<xsl:with-param name="filename" select="filename"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="automaton">
<xsl:param name="filename"/>
<xsl:text>digraph "</xsl:text>
<xsl:call-template name="escape">
<xsl:with-param name="subject" select="$filename"/>
</xsl:call-template>
<xsl:text>"&#10;{
node [fontname = courier, shape = box, colorscheme = paired6]
edge [fontname = courier]
</xsl:text>
<xsl:apply-templates select="state"/>
<xsl:text>}&#10;</xsl:text>
</xsl:template>
<xsl:template match="automaton/state">
<xsl:call-template name="output-node">
<xsl:with-param name="number" select="@number"/>
<xsl:with-param name="label">
<xsl:apply-templates select="itemset/item"/>
</xsl:with-param>
</xsl:call-template>
<xsl:apply-templates select="actions/transitions"/>
<xsl:apply-templates select="actions/reductions">
<xsl:with-param name="staten">
<xsl:value-of select="@number"/>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="actions/reductions">
<xsl:param name="staten"/>
<xsl:for-each select='reduction'>
<!-- These variables are needed because the current context can't be
refered to directly in XPath expressions. -->
<xsl:variable name="rul">
<xsl:value-of select="@rule"/>
</xsl:variable>
<xsl:variable name="ena">
<xsl:value-of select="@enabled"/>
</xsl:variable>
<!-- The foreach's body is protected by this, so that we are actually
going to iterate once per reduction rule, and not per lookahead. -->
<xsl:if test='not(preceding-sibling::*[@rule=$rul and @enabled=$ena])'>
<xsl:variable name="rule">
<xsl:choose>
<!-- The acceptation state is refered to as 'accept' in the XML, but
just as '0' in the DOT. -->
<xsl:when test="@rule='accept'">
<xsl:text>0</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@rule"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- The edge's beginning -->
<xsl:call-template name="reduction-edge-start">
<xsl:with-param name="state" select="$staten"/>
<xsl:with-param name="rule" select="$rule"/>
<xsl:with-param name="enabled" select="@enabled"/>
</xsl:call-template>
<!-- The edge's tokens -->
<!-- Don't show labels for the default action. In other cases, there will
always be at least one token, so 'label="[]"' will not occur. -->
<xsl:if test='$rule!=0 and not(../reduction[@enabled=$ena and @rule=$rule and @symbol="$default"])'>
<xsl:text>label="[</xsl:text>
<xsl:for-each select='../reduction[@enabled=$ena and @rule=$rule]'>
<xsl:call-template name="escape">
<xsl:with-param name="subject" select="@symbol"/>
</xsl:call-template>
<xsl:if test="position() != last ()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>]", </xsl:text>
</xsl:if>
<!-- The edge's end -->
<xsl:text>style=solid]&#10;</xsl:text>
<!-- The diamond representing the reduction -->
<xsl:call-template name="reduction-node">
<xsl:with-param name="state" select="$staten"/>
<xsl:with-param name="rule" select="$rule"/>
<xsl:with-param name="color">
<xsl:choose>
<xsl:when test='@enabled="true"'>
<xsl:text>3</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>5</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template match="actions/transitions">
<xsl:apply-templates select="transition"/>
</xsl:template>
<xsl:template match="item">
<xsl:param name="prev-rule-number"
select="preceding-sibling::item[1]/@rule-number"/>
<xsl:apply-templates select="key('bison:ruleByNumber', @rule-number)">
<xsl:with-param name="point" select="@point"/>
<xsl:with-param name="num" select="@rule-number"/>
<xsl:with-param name="prev-lhs"
select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
/>
</xsl:apply-templates>
<xsl:apply-templates select="lookaheads"/>
</xsl:template>
<xsl:template match="rule">
<xsl:param name="point"/>
<xsl:param name="num"/>
<xsl:param name="prev-lhs"/>
<xsl:text>&#10;</xsl:text>
<xsl:choose>
<xsl:when test="$num &lt; 10">
<xsl:text> </xsl:text>
</xsl:when>
<xsl:when test="$num &lt; 100">
<xsl:text> </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text></xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="$num"/>
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="$prev-lhs = lhs[text()]">
<xsl:call-template name="lpad">
<xsl:with-param name="str" select="'|'"/>
<xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="lhs"/>
<xsl:text>:</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$point = 0">
<xsl:text> .</xsl:text>
</xsl:if>
<xsl:for-each select="rhs/symbol|rhs/empty">
<xsl:apply-templates select="."/>
<xsl:if test="$point = position()">
<xsl:text> .</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template match="symbol">
<xsl:text> </xsl:text>
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="empty"/>
<xsl:template match="lookaheads">
<xsl:text> [</xsl:text>
<xsl:apply-templates select="symbol"/>
<xsl:text>]</xsl:text>
</xsl:template>
<xsl:template match="lookaheads/symbol">
<xsl:value-of select="."/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:template>
<xsl:template name="reduction-edge-start">
<xsl:param name="state"/>
<xsl:param name="rule"/>
<xsl:param name="enabled"/>
<xsl:text> </xsl:text>
<xsl:value-of select="$state"/>
<xsl:text> -> "</xsl:text>
<xsl:value-of select="$state"/>
<xsl:text>R</xsl:text>
<xsl:value-of select="$rule"/>
<xsl:if test='$enabled = "false"'>
<xsl:text>d</xsl:text>
</xsl:if>
<xsl:text>" [</xsl:text>
</xsl:template>
<xsl:template name="reduction-node">
<xsl:param name="state"/>
<xsl:param name="rule"/>
<xsl:param name="color"/>
<xsl:text> "</xsl:text>
<xsl:value-of select="$state"/>
<xsl:text>R</xsl:text>
<xsl:value-of select="$rule"/>
<xsl:if test="$color = 5">
<xsl:text>d</xsl:text>
</xsl:if>
<xsl:text>" [label="</xsl:text>
<xsl:choose>
<xsl:when test="$rule = 0">
<xsl:text>Acc", fillcolor=1</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>R</xsl:text>
<xsl:value-of select="$rule"/>
<xsl:text>", fillcolor=</xsl:text>
<xsl:value-of select="$color"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>, shape=diamond, style=filled]&#10;</xsl:text>
</xsl:template>
<xsl:template match="transition">
<xsl:call-template name="output-edge">
<xsl:with-param name="src" select="../../../@number"/>
<xsl:with-param name="dst" select="@state"/>
<xsl:with-param name="style">
<xsl:choose>
<xsl:when test="@symbol = 'error'">
<xsl:text>dotted</xsl:text>
</xsl:when>
<xsl:when test="@type = 'shift'">
<xsl:text>solid</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>dashed</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="label">
<xsl:if test="not(@symbol = 'error')">
<xsl:value-of select="@symbol"/>
</xsl:if>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="output-node">
<xsl:param name="number"/>
<xsl:param name="label"/>
<xsl:text> </xsl:text>
<xsl:value-of select="$number"/>
<xsl:text> [label="</xsl:text>
<xsl:text>State </xsl:text>
<xsl:value-of select="$number"/>
<xsl:text>\n</xsl:text>
<xsl:call-template name="escape">
<xsl:with-param name="subject" select="$label"/>
</xsl:call-template>
<xsl:text>\l"]&#10;</xsl:text>
</xsl:template>
<xsl:template name="output-edge">
<xsl:param name="src"/>
<xsl:param name="dst"/>
<xsl:param name="style"/>
<xsl:param name="label"/>
<xsl:text> </xsl:text>
<xsl:value-of select="$src"/>
<xsl:text> -> </xsl:text>
<xsl:value-of select="$dst"/>
<xsl:text> [style=</xsl:text>
<xsl:value-of select="$style"/>
<xsl:if test="$label and $label != ''">
<xsl:text> label="</xsl:text>
<xsl:call-template name="escape">
<xsl:with-param name="subject" select="$label"/>
</xsl:call-template>
<xsl:text>"</xsl:text>
</xsl:if>
<xsl:text>]&#10;</xsl:text>
</xsl:template>
<xsl:template name="escape">
<xsl:param name="subject"/> <!-- required -->
<xsl:call-template name="string-replace">
<xsl:with-param name="subject">
<xsl:call-template name="string-replace">
<xsl:with-param name="subject">
<xsl:call-template name="string-replace">
<xsl:with-param name="subject" select="$subject"/>
<xsl:with-param name="search" select="'\'"/>
<xsl:with-param name="replace" select="'\\'"/>
</xsl:call-template>
</xsl:with-param>
<xsl:with-param name="search" select="'&quot;'"/>
<xsl:with-param name="replace" select="'\&quot;'"/>
</xsl:call-template>
</xsl:with-param>
<xsl:with-param name="search" select="'&#10;'"/>
<xsl:with-param name="replace" select="'\l'"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="string-replace">
<xsl:param name="subject"/>
<xsl:param name="search"/>
<xsl:param name="replace"/>
<xsl:choose>
<xsl:when test="contains($subject, $search)">
<xsl:variable name="before" select="substring-before($subject, $search)"/>
<xsl:variable name="after" select="substring-after($subject, $search)"/>
<xsl:value-of select="$before"/>
<xsl:value-of select="$replace"/>
<xsl:call-template name="string-replace">
<xsl:with-param name="subject" select="$after"/>
<xsl:with-param name="search" select="$search"/>
<xsl:with-param name="replace" select="$replace"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$subject"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="lpad">
<xsl:param name="str" select="''"/>
<xsl:param name="pad" select="0"/>
<xsl:variable name="diff" select="$pad - string-length($str)" />
<xsl:choose>
<xsl:when test="$diff &lt; 0">
<xsl:value-of select="$str"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="space">
<xsl:with-param name="repeat" select="$diff"/>
</xsl:call-template>
<xsl:value-of select="$str"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,569 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
xml2text.xsl - transform Bison XML Report into plain text.
Copyright (C) 2007-2013 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Written by Wojciech Polak <polak@gnu.org>.
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:bison="http://www.gnu.org/software/bison/">
<xsl:import href="bison.xsl"/>
<xsl:output method="text" encoding="UTF-8" indent="no"/>
<xsl:template match="/">
<xsl:apply-templates select="bison-xml-report"/>
</xsl:template>
<xsl:template match="bison-xml-report">
<xsl:apply-templates select="grammar" mode="reductions"/>
<xsl:apply-templates select="grammar" mode="useless-in-parser"/>
<xsl:apply-templates select="automaton" mode="conflicts"/>
<xsl:apply-templates select="grammar"/>
<xsl:apply-templates select="automaton"/>
</xsl:template>
<xsl:template match="grammar" mode="reductions">
<xsl:apply-templates select="nonterminals" mode="useless-in-grammar"/>
<xsl:apply-templates select="terminals" mode="unused-in-grammar"/>
<xsl:apply-templates select="rules" mode="useless-in-grammar"/>
</xsl:template>
<xsl:template match="nonterminals" mode="useless-in-grammar">
<xsl:if test="nonterminal[@usefulness='useless-in-grammar']">
<xsl:text>Nonterminals useless in grammar&#10;&#10;</xsl:text>
<xsl:for-each select="nonterminal[@usefulness='useless-in-grammar']">
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>&#10;</xsl:text>
</xsl:for-each>
<xsl:text>&#10;&#10;</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="terminals" mode="unused-in-grammar">
<xsl:if test="terminal[@usefulness='unused-in-grammar']">
<xsl:text>Terminals unused in grammar&#10;&#10;</xsl:text>
<xsl:for-each select="terminal[@usefulness='unused-in-grammar']">
<xsl:sort select="@symbol-number" data-type="number"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>&#10;</xsl:text>
</xsl:for-each>
<xsl:text>&#10;&#10;</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="rules" mode="useless-in-grammar">
<xsl:variable name="set" select="rule[@usefulness='useless-in-grammar']"/>
<xsl:if test="$set">
<xsl:text>Rules useless in grammar&#10;</xsl:text>
<xsl:call-template name="style-rule-set">
<xsl:with-param name="rule-set" select="$set"/>
</xsl:call-template>
<xsl:text>&#10;&#10;</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="grammar" mode="useless-in-parser">
<xsl:variable
name="set" select="rules/rule[@usefulness='useless-in-parser']"
/>
<xsl:if test="$set">
<xsl:text>Rules useless in parser due to conflicts&#10;</xsl:text>
<xsl:call-template name="style-rule-set">
<xsl:with-param name="rule-set" select="$set"/>
</xsl:call-template>
<xsl:text>&#10;&#10;</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="grammar">
<xsl:text>Grammar&#10;</xsl:text>
<xsl:call-template name="style-rule-set">
<xsl:with-param
name="rule-set" select="rules/rule[@usefulness!='useless-in-grammar']"
/>
</xsl:call-template>
<xsl:text>&#10;&#10;</xsl:text>
<xsl:apply-templates select="terminals"/>
<xsl:apply-templates select="nonterminals"/>
</xsl:template>
<xsl:template name="style-rule-set">
<xsl:param name="rule-set"/>
<xsl:for-each select="$rule-set">
<xsl:apply-templates select=".">
<xsl:with-param name="pad" select="'3'"/>
<xsl:with-param name="prev-lhs">
<xsl:if test="position()>1">
<xsl:variable name="position" select="position()"/>
<xsl:value-of select="$rule-set[$position - 1]/lhs"/>
</xsl:if>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<xsl:template match="grammar/terminals">
<xsl:text>Terminals, with rules where they appear&#10;&#10;</xsl:text>
<xsl:apply-templates select="terminal"/>
<xsl:text>&#10;&#10;</xsl:text>
</xsl:template>
<xsl:template match="grammar/nonterminals">
<xsl:text>Nonterminals, with rules where they appear&#10;&#10;</xsl:text>
<xsl:apply-templates select="nonterminal[@usefulness!='useless-in-grammar']"/>
</xsl:template>
<xsl:template match="terminal">
<xsl:value-of select="@name"/>
<xsl:call-template name="line-wrap">
<xsl:with-param name="first-line-length">
<xsl:choose>
<xsl:when test="string-length(@name) &gt; 66">0</xsl:when>
<xsl:otherwise>
<xsl:value-of select="66 - string-length(@name)" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="line-length" select="66" />
<xsl:with-param name="text">
<xsl:value-of select="concat(' (', @token-number, ')')"/>
<xsl:for-each select="key('bison:ruleByRhs', @name)">
<xsl:value-of select="concat(' ', @number)"/>
</xsl:for-each>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template match="nonterminal">
<xsl:value-of select="@name"/>
<xsl:value-of select="concat(' (', @symbol-number, ')')"/>
<xsl:text>&#10;</xsl:text>
<xsl:variable name="output">
<xsl:call-template name="line-wrap">
<xsl:with-param name="line-length" select="66" />
<xsl:with-param name="text">
<xsl:text> </xsl:text>
<xsl:if test="key('bison:ruleByLhs', @name)">
<xsl:text>on@left:</xsl:text>
<xsl:for-each select="key('bison:ruleByLhs', @name)">
<xsl:value-of select="concat(' ', @number)"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="key('bison:ruleByRhs', @name)">
<xsl:if test="key('bison:ruleByLhs', @name)">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:text>on@right:</xsl:text>
<xsl:for-each select="key('bison:ruleByRhs', @name)">
<xsl:value-of select="concat(' ', @number)"/>
</xsl:for-each>
</xsl:if>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="translate($output, '@', ' ')" />
</xsl:template>
<xsl:template match="automaton" mode="conflicts">
<xsl:variable name="conflict-report">
<xsl:apply-templates select="state" mode="conflicts"/>
</xsl:variable>
<xsl:if test="string-length($conflict-report) != 0">
<xsl:value-of select="$conflict-report"/>
<xsl:text>&#10;&#10;</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="state" mode="conflicts">
<xsl:variable name="conflict-counts">
<xsl:apply-templates select="." mode="bison:count-conflicts" />
</xsl:variable>
<xsl:variable
name="sr-count" select="substring-before($conflict-counts, ',')"
/>
<xsl:variable
name="rr-count" select="substring-after($conflict-counts, ',')"
/>
<xsl:if test="$sr-count > 0 or $rr-count > 0">
<xsl:value-of select="concat('State ', @number, ' conflicts:')"/>
<xsl:if test="$sr-count > 0">
<xsl:value-of select="concat(' ', $sr-count, ' shift/reduce')"/>
<xsl:if test="$rr-count > 0">
<xsl:value-of select="(',')"/>
</xsl:if>
</xsl:if>
<xsl:if test="$rr-count > 0">
<xsl:value-of select="concat(' ', $rr-count, ' reduce/reduce')"/>
</xsl:if>
<xsl:value-of select="'&#10;'"/>
</xsl:if>
</xsl:template>
<xsl:template match="automaton">
<xsl:apply-templates select="state">
<xsl:with-param name="pad" select="'3'"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="automaton/state">
<xsl:param name="pad"/>
<xsl:text>&#10;&#10;</xsl:text>
<xsl:text>State </xsl:text>
<xsl:value-of select="@number"/>
<xsl:text>&#10;&#10;</xsl:text>
<xsl:apply-templates select="itemset/item">
<xsl:with-param name="pad" select="$pad"/>
</xsl:apply-templates>
<xsl:apply-templates select="actions/transitions">
<xsl:with-param name="type" select="'shift'"/>
</xsl:apply-templates>
<xsl:apply-templates select="actions/errors"/>
<xsl:apply-templates select="actions/reductions"/>
<xsl:apply-templates select="actions/transitions">
<xsl:with-param name="type" select="'goto'"/>
</xsl:apply-templates>
<xsl:apply-templates select="solved-conflicts"/>
</xsl:template>
<xsl:template match="actions/transitions">
<xsl:param name="type"/>
<xsl:if test="transition[@type = $type]">
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates select="transition[@type = $type]">
<xsl:with-param name="pad">
<xsl:call-template name="max-width-symbol">
<xsl:with-param name="node" select="transition[@type = $type]"/>
</xsl:call-template>
</xsl:with-param>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
<xsl:template match="actions/errors">
<xsl:if test="error">
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates select="error">
<xsl:with-param name="pad">
<xsl:call-template name="max-width-symbol">
<xsl:with-param name="node" select="error"/>
</xsl:call-template>
</xsl:with-param>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
<xsl:template match="actions/reductions">
<xsl:if test="reduction">
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates select="reduction">
<xsl:with-param name="pad">
<xsl:call-template name="max-width-symbol">
<xsl:with-param name="node" select="reduction"/>
</xsl:call-template>
</xsl:with-param>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
<xsl:template match="item">
<xsl:param name="pad"/>
<xsl:param name="prev-rule-number"
select="preceding-sibling::item[1]/@rule-number"/>
<xsl:apply-templates
select="key('bison:ruleByNumber', current()/@rule-number)"
>
<xsl:with-param name="itemset" select="'true'"/>
<xsl:with-param name="pad" select="$pad"/>
<xsl:with-param
name="prev-lhs"
select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
/>
<xsl:with-param name="point" select="@point"/>
<xsl:with-param name="lookaheads">
<xsl:apply-templates select="lookaheads"/>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="rule">
<xsl:param name="itemset"/>
<xsl:param name="pad"/>
<xsl:param name="prev-lhs"/>
<xsl:param name="point"/>
<xsl:param name="lookaheads"/>
<xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])">
<xsl:text>&#10;</xsl:text>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:call-template name="lpad">
<xsl:with-param name="str" select="string(@number)"/>
<xsl:with-param name="pad" select="number($pad)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<!-- LHS -->
<xsl:choose>
<xsl:when test="$itemset != 'true' and $prev-lhs = lhs[text()]">
<xsl:call-template name="lpad">
<xsl:with-param name="str" select="'|'"/>
<xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$itemset = 'true' and $prev-lhs = lhs[text()]">
<xsl:call-template name="lpad">
<xsl:with-param name="str" select="'|'"/>
<xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="lhs"/>
<xsl:text>:</xsl:text>
</xsl:otherwise>
</xsl:choose>
<!-- RHS -->
<xsl:for-each select="rhs/*">
<xsl:if test="position() = $point + 1">
<xsl:text> .</xsl:text>
</xsl:if>
<xsl:if test="$itemset = 'true' and name(.) != 'empty'">
<xsl:apply-templates select="."/>
</xsl:if>
<xsl:if test="$itemset != 'true'">
<xsl:apply-templates select="."/>
</xsl:if>
<xsl:if test="position() = last() and position() = $point">
<xsl:text> .</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:if test="$lookaheads">
<xsl:value-of select="$lookaheads"/>
</xsl:if>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="symbol">
<xsl:text> </xsl:text>
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="empty">
<xsl:text> %empty</xsl:text>
</xsl:template>
<xsl:template match="lookaheads">
<xsl:text> [</xsl:text>
<xsl:apply-templates select="symbol"/>
<xsl:text>]</xsl:text>
</xsl:template>
<xsl:template match="lookaheads/symbol">
<xsl:value-of select="."/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="transition">
<xsl:param name="pad"/>
<xsl:text> </xsl:text>
<xsl:call-template name="rpad">
<xsl:with-param name="str" select="string(@symbol)"/>
<xsl:with-param name="pad" select="number($pad) + 2"/>
</xsl:call-template>
<xsl:choose>
<xsl:when test="@type = 'shift'">
<xsl:text>shift, and go to state </xsl:text>
<xsl:value-of select="@state"/>
</xsl:when>
<xsl:when test="@type = 'goto'">
<xsl:text>go to state </xsl:text>
<xsl:value-of select="@state"/>
</xsl:when>
</xsl:choose>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="error">
<xsl:param name="pad"/>
<xsl:text> </xsl:text>
<xsl:call-template name="rpad">
<xsl:with-param name="str" select="string(@symbol)"/>
<xsl:with-param name="pad" select="number($pad) + 2"/>
</xsl:call-template>
<xsl:text>error</xsl:text>
<xsl:text> (</xsl:text>
<xsl:value-of select="text()"/>
<xsl:text>)</xsl:text>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="reduction">
<xsl:param name="pad"/>
<xsl:text> </xsl:text>
<xsl:call-template name="rpad">
<xsl:with-param name="str" select="string(@symbol)"/>
<xsl:with-param name="pad" select="number($pad) + 2"/>
</xsl:call-template>
<xsl:if test="@enabled = 'false'">
<xsl:text>[</xsl:text>
</xsl:if>
<xsl:choose>
<xsl:when test="@rule = 'accept'">
<xsl:text>accept</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>reduce using rule </xsl:text>
<xsl:value-of select="@rule"/>
<xsl:text> (</xsl:text>
<xsl:value-of
select="key('bison:ruleByNumber', current()/@rule)/lhs[text()]"/>
<xsl:text>)</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="@enabled = 'false'">
<xsl:text>]</xsl:text>
</xsl:if>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="solved-conflicts">
<xsl:if test="resolution">
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates select="resolution"/>
</xsl:if>
</xsl:template>
<xsl:template match="resolution">
<xsl:text> Conflict between rule </xsl:text>
<xsl:value-of select="@rule"/>
<xsl:text> and token </xsl:text>
<xsl:value-of select="@symbol"/>
<xsl:text> resolved as </xsl:text>
<xsl:if test="@type = 'error'">
<xsl:text>an </xsl:text>
</xsl:if>
<xsl:value-of select="@type"/>
<xsl:text> (</xsl:text>
<xsl:value-of select="."/>
<xsl:text>).&#10;</xsl:text>
</xsl:template>
<xsl:template name="max-width-symbol">
<xsl:param name="node"/>
<xsl:variable name="longest">
<xsl:for-each select="$node">
<xsl:sort data-type="number" select="string-length(@symbol)"
order="descending"/>
<xsl:if test="position() = 1">
<xsl:value-of select="string-length(@symbol)"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="$longest"/>
</xsl:template>
<xsl:template name="lpad">
<xsl:param name="str" select="''"/>
<xsl:param name="pad" select="0"/>
<xsl:variable name="diff" select="$pad - string-length($str)" />
<xsl:choose>
<xsl:when test="$diff &lt; 0">
<xsl:value-of select="$str"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="space">
<xsl:with-param name="repeat" select="$diff"/>
</xsl:call-template>
<xsl:value-of select="$str"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="rpad">
<xsl:param name="str" select="''"/>
<xsl:param name="pad" select="0"/>
<xsl:variable name="diff" select="$pad - string-length($str)"/>
<xsl:choose>
<xsl:when test="$diff &lt; 0">
<xsl:value-of select="$str"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$str"/>
<xsl:call-template name="space">
<xsl:with-param name="repeat" select="$diff"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="line-wrap">
<xsl:param name="line-length"/> <!-- required -->
<xsl:param name="first-line-length" select="$line-length"/>
<xsl:param name="text"/> <!-- required -->
<xsl:choose>
<xsl:when test="normalize-space($text) = ''" />
<xsl:when test="string-length($text) &lt;= $first-line-length">
<xsl:value-of select="concat($text, '&#10;')" />
</xsl:when>
<xsl:otherwise>
<xsl:variable name="break-pos">
<xsl:call-template name="ws-search">
<xsl:with-param name="text" select="$text" />
<xsl:with-param name="start" select="$first-line-length+1" />
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="substring($text, 1, $break-pos - 1)" />
<xsl:text>&#10;</xsl:text>
<xsl:call-template name="line-wrap">
<xsl:with-param name="line-length" select="$line-length" />
<xsl:with-param
name="text" select="concat(' ', substring($text, $break-pos+1))"
/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="ws-search">
<xsl:param name="text"/> <!-- required -->
<xsl:param name="start"/> <!-- required -->
<xsl:variable name="search-text" select="substring($text, $start)" />
<xsl:choose>
<xsl:when test="not(contains($search-text, ' '))">
<xsl:value-of select="string-length($text)+1" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of
select="$start + string-length(substring-before($search-text, ' '))"
/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,745 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
xml2html.xsl - transform Bison XML Report into XHTML.
Copyright (C) 2007-2013 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Written by Wojciech Polak <polak@gnu.org>.
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:bison="http://www.gnu.org/software/bison/">
<xsl:import href="bison.xsl"/>
<xsl:output method="xml" encoding="UTF-8"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
indent="yes"/>
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="bison-xml-report/filename"/>
<xsl:text> - GNU Bison XML Automaton Report</xsl:text>
</title>
<style type="text/css"><![CDATA[
body {
font-family: "Nimbus Sans L", Arial, sans-serif;
font-size: 9pt;
}
a:link {
color: #1f00ff;
text-decoration: none;
}
a:visited {
color: #1f00ff;
text-decoration: none;
}
a:hover {
color: red;
}
#menu a {
text-decoration: underline;
}
.i {
font-style: italic;
}
.pre {
font-family: monospace;
white-space: pre;
}
ol.decimal {
list-style-type: decimal;
}
ol.lower-alpha {
list-style-type: lower-alpha;
}
.point {
color: #cc0000;
}
#footer {
margin-top: 3.5em;
font-size: 7pt;
}
]]></style>
</head>
<body>
<xsl:apply-templates select="bison-xml-report"/>
<xsl:text>&#10;&#10;</xsl:text>
<div id="footer"><hr />This document was generated using
<a href="http://www.gnu.org/software/bison/" title="GNU Bison">
GNU Bison <xsl:value-of select="/bison-xml-report/@version"/></a>
XML Automaton Report.<br />
<!-- default copying notice -->
Verbatim copying and distribution of this entire page is
permitted in any medium, provided this notice is preserved.</div>
</body>
</html>
</xsl:template>
<xsl:template match="bison-xml-report">
<h1>GNU Bison XML Automaton Report</h1>
<p>
input grammar: <span class="i"><xsl:value-of select="filename"/></span>
</p>
<xsl:text>&#10;&#10;</xsl:text>
<h3>Table of Contents</h3>
<ul id="menu">
<li>
<a href="#reductions">Reductions</a>
<ul class="lower-alpha">
<li><a href="#nonterminals_useless_in_grammar">Nonterminals useless in grammar</a></li>
<li><a href="#terminals_unused_in_grammar">Terminals unused in grammar</a></li>
<li><a href="#rules_useless_in_grammar">Rules useless in grammar</a></li>
<xsl:if test="grammar/rules/rule[@usefulness='useless-in-parser']">
<li><a href="#rules_useless_in_parser">Rules useless in parser due to conflicts</a></li>
</xsl:if>
</ul>
</li>
<li><a href="#conflicts">Conflicts</a></li>
<li>
<a href="#grammar">Grammar</a>
<ul class="lower-alpha">
<li><a href="#grammar">Itemset</a></li>
<li><a href="#terminals">Terminal symbols</a></li>
<li><a href="#nonterminals">Nonterminal symbols</a></li>
</ul>
</li>
<li><a href="#automaton">Automaton</a></li>
</ul>
<xsl:apply-templates select="grammar" mode="reductions"/>
<xsl:apply-templates select="grammar" mode="useless-in-parser"/>
<xsl:apply-templates select="automaton" mode="conflicts"/>
<xsl:apply-templates select="grammar"/>
<xsl:apply-templates select="automaton"/>
</xsl:template>
<xsl:template match="grammar" mode="reductions">
<h2>
<a name="reductions"/>
<xsl:text> Reductions</xsl:text>
</h2>
<xsl:apply-templates select="nonterminals" mode="useless-in-grammar"/>
<xsl:apply-templates select="terminals" mode="unused-in-grammar"/>
<xsl:apply-templates select="rules" mode="useless-in-grammar"/>
</xsl:template>
<xsl:template match="nonterminals" mode="useless-in-grammar">
<h3>
<a name="nonterminals_useless_in_grammar"/>
<xsl:text> Nonterminals useless in grammar</xsl:text>
</h3>
<xsl:text>&#10;&#10;</xsl:text>
<xsl:if test="nonterminal[@usefulness='useless-in-grammar']">
<p class="pre">
<xsl:for-each select="nonterminal[@usefulness='useless-in-grammar']">
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>&#10;</xsl:text>
</xsl:for-each>
<xsl:text>&#10;&#10;</xsl:text>
</p>
</xsl:if>
</xsl:template>
<xsl:template match="terminals" mode="unused-in-grammar">
<h3>
<a name="terminals_unused_in_grammar"/>
<xsl:text> Terminals unused in grammar</xsl:text>
</h3>
<xsl:text>&#10;&#10;</xsl:text>
<xsl:if test="terminal[@usefulness='unused-in-grammar']">
<p class="pre">
<xsl:for-each select="terminal[@usefulness='unused-in-grammar']">
<xsl:sort select="@symbol-number" data-type="number"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>&#10;</xsl:text>
</xsl:for-each>
<xsl:text>&#10;&#10;</xsl:text>
</p>
</xsl:if>
</xsl:template>
<xsl:template match="rules" mode="useless-in-grammar">
<h3>
<a name="rules_useless_in_grammar"/>
<xsl:text> Rules useless in grammar</xsl:text>
</h3>
<xsl:text>&#10;</xsl:text>
<xsl:variable name="set" select="rule[@usefulness='useless-in-grammar']"/>
<xsl:if test="$set">
<p class="pre">
<xsl:call-template name="style-rule-set">
<xsl:with-param name="rule-set" select="$set"/>
</xsl:call-template>
<xsl:text>&#10;&#10;</xsl:text>
</p>
</xsl:if>
</xsl:template>
<xsl:template match="grammar" mode="useless-in-parser">
<xsl:variable
name="set" select="rules/rule[@usefulness='useless-in-parser']"
/>
<xsl:if test="$set">
<h2>
<a name="rules_useless_in_parser"/>
<xsl:text> Rules useless in parser due to conflicts</xsl:text>
</h2>
<xsl:text>&#10;</xsl:text>
<p class="pre">
<xsl:call-template name="style-rule-set">
<xsl:with-param name="rule-set" select="$set"/>
</xsl:call-template>
</p>
<xsl:text>&#10;&#10;</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="grammar">
<h2>
<a name="grammar"/>
<xsl:text> Grammar</xsl:text>
</h2>
<xsl:text>&#10;</xsl:text>
<p class="pre">
<xsl:call-template name="style-rule-set">
<xsl:with-param
name="rule-set" select="rules/rule[@usefulness!='useless-in-grammar']"
/>
</xsl:call-template>
</p>
<xsl:text>&#10;&#10;</xsl:text>
<xsl:apply-templates select="terminals"/>
<xsl:apply-templates select="nonterminals"/>
</xsl:template>
<xsl:template name="style-rule-set">
<xsl:param name="rule-set"/>
<xsl:for-each select="$rule-set">
<xsl:apply-templates select=".">
<xsl:with-param name="pad" select="'3'"/>
<xsl:with-param name="prev-lhs">
<xsl:if test="position()>1">
<xsl:variable name="position" select="position()"/>
<xsl:value-of select="$rule-set[$position - 1]/lhs"/>
</xsl:if>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<xsl:template match="automaton" mode="conflicts">
<h2>
<a name="conflicts"/>
<xsl:text> Conflicts</xsl:text>
</h2>
<xsl:text>&#10;&#10;</xsl:text>
<xsl:variable name="conflict-report">
<xsl:apply-templates select="state" mode="conflicts"/>
</xsl:variable>
<xsl:if test="string-length($conflict-report) != 0">
<p class="pre">
<xsl:copy-of select="$conflict-report"/>
<xsl:text>&#10;&#10;</xsl:text>
</p>
</xsl:if>
</xsl:template>
<xsl:template match="state" mode="conflicts">
<xsl:variable name="conflict-counts">
<xsl:apply-templates select="." mode="bison:count-conflicts" />
</xsl:variable>
<xsl:variable
name="sr-count" select="substring-before($conflict-counts, ',')"
/>
<xsl:variable
name="rr-count" select="substring-after($conflict-counts, ',')"
/>
<xsl:if test="$sr-count > 0 or $rr-count > 0">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('#state_', @number)"/>
</xsl:attribute>
<xsl:value-of select="concat('State ', @number)"/>
</a>
<xsl:text> conflicts:</xsl:text>
<xsl:if test="$sr-count > 0">
<xsl:value-of select="concat(' ', $sr-count, ' shift/reduce')"/>
<xsl:if test="$rr-count > 0">
<xsl:value-of select="(',')"/>
</xsl:if>
</xsl:if>
<xsl:if test="$rr-count > 0">
<xsl:value-of select="concat(' ', $rr-count, ' reduce/reduce')"/>
</xsl:if>
<xsl:value-of select="'&#10;'"/>
</xsl:if>
</xsl:template>
<xsl:template match="grammar/terminals">
<h3>
<a name="terminals"/>
<xsl:text> Terminals, with rules where they appear</xsl:text>
</h3>
<xsl:text>&#10;&#10;</xsl:text>
<p class="pre">
<xsl:apply-templates select="terminal"/>
</p>
<xsl:text>&#10;&#10;</xsl:text>
</xsl:template>
<xsl:template match="grammar/nonterminals">
<h3>
<a name="nonterminals"/>
<xsl:text> Nonterminals, with rules where they appear</xsl:text>
</h3>
<xsl:text>&#10;&#10;</xsl:text>
<p class="pre">
<xsl:apply-templates
select="nonterminal[@usefulness!='useless-in-grammar']"
/>
</p>
</xsl:template>
<xsl:template match="terminal">
<b><xsl:value-of select="@name"/></b>
<xsl:value-of select="concat(' (', @token-number, ')')"/>
<xsl:for-each select="key('bison:ruleByRhs', @name)">
<xsl:apply-templates select="." mode="number-link"/>
</xsl:for-each>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="nonterminal">
<b><xsl:value-of select="@name"/></b>
<xsl:value-of select="concat(' (', @symbol-number, ')')"/>
<xsl:text>&#10; </xsl:text>
<xsl:if test="key('bison:ruleByLhs', @name)">
<xsl:text>on left:</xsl:text>
<xsl:for-each select="key('bison:ruleByLhs', @name)">
<xsl:apply-templates select="." mode="number-link"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="key('bison:ruleByRhs', @name)">
<xsl:if test="key('bison:ruleByLhs', @name)">
<xsl:text>&#10; </xsl:text>
</xsl:if>
<xsl:text>on right:</xsl:text>
<xsl:for-each select="key('bison:ruleByRhs', @name)">
<xsl:apply-templates select="." mode="number-link"/>
</xsl:for-each>
</xsl:if>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="rule" mode="number-link">
<xsl:text> </xsl:text>
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('#rule_', @number)"/>
</xsl:attribute>
<xsl:value-of select="@number"/>
</a>
</xsl:template>
<xsl:template match="automaton">
<h2>
<a name="automaton"/>
<xsl:text> Automaton</xsl:text>
</h2>
<xsl:apply-templates select="state">
<xsl:with-param name="pad" select="'3'"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="automaton/state">
<xsl:param name="pad"/>
<xsl:text>&#10;&#10;</xsl:text>
<h3>
<a>
<xsl:attribute name="name">
<xsl:value-of select="concat('state_', @number)"/>
</xsl:attribute>
</a>
<xsl:text>state </xsl:text>
<xsl:value-of select="@number"/>
</h3>
<xsl:text>&#10;&#10;</xsl:text>
<p class="pre">
<xsl:apply-templates select="itemset/item">
<xsl:with-param name="pad" select="$pad"/>
</xsl:apply-templates>
<xsl:apply-templates select="actions/transitions">
<xsl:with-param name="type" select="'shift'"/>
</xsl:apply-templates>
<xsl:apply-templates select="actions/errors"/>
<xsl:apply-templates select="actions/reductions"/>
<xsl:apply-templates select="actions/transitions">
<xsl:with-param name="type" select="'goto'"/>
</xsl:apply-templates>
<xsl:apply-templates select="solved-conflicts"/>
</p>
</xsl:template>
<xsl:template match="actions/transitions">
<xsl:param name="type"/>
<xsl:if test="transition[@type = $type]">
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates select="transition[@type = $type]">
<xsl:with-param name="pad">
<xsl:call-template name="max-width-symbol">
<xsl:with-param name="node" select="transition[@type = $type]"/>
</xsl:call-template>
</xsl:with-param>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
<xsl:template match="actions/errors">
<xsl:if test="error">
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates select="error">
<xsl:with-param name="pad">
<xsl:call-template name="max-width-symbol">
<xsl:with-param name="node" select="error"/>
</xsl:call-template>
</xsl:with-param>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
<xsl:template match="actions/reductions">
<xsl:if test="reduction">
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates select="reduction">
<xsl:with-param name="pad">
<xsl:call-template name="max-width-symbol">
<xsl:with-param name="node" select="reduction"/>
</xsl:call-template>
</xsl:with-param>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
<xsl:template match="item">
<xsl:param name="pad"/>
<xsl:param name="prev-rule-number"
select="preceding-sibling::item[1]/@rule-number"/>
<xsl:apply-templates
select="key('bison:ruleByNumber', current()/@rule-number)"
>
<xsl:with-param name="itemset" select="'true'"/>
<xsl:with-param name="pad" select="$pad"/>
<xsl:with-param name="prev-lhs"
select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
/>
<xsl:with-param name="point" select="@point"/>
<xsl:with-param name="lookaheads">
<xsl:apply-templates select="lookaheads"/>
</xsl:with-param>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="rule">
<xsl:param name="itemset"/>
<xsl:param name="pad"/>
<xsl:param name="prev-lhs"/>
<xsl:param name="point"/>
<xsl:param name="lookaheads"/>
<xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])">
<xsl:text>&#10;</xsl:text>
</xsl:if>
<xsl:if test="$itemset != 'true'">
<a>
<xsl:attribute name="name">
<xsl:value-of select="concat('rule_', @number)"/>
</xsl:attribute>
</a>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="$itemset = 'true'">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('#rule_', @number)"/>
</xsl:attribute>
<xsl:call-template name="lpad">
<xsl:with-param name="str" select="string(@number)"/>
<xsl:with-param name="pad" select="number($pad)"/>
</xsl:call-template>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="lpad">
<xsl:with-param name="str" select="string(@number)"/>
<xsl:with-param name="pad" select="number($pad)"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text>
<!-- LHS -->
<xsl:choose>
<xsl:when test="$itemset != 'true' and $prev-lhs = lhs[text()]">
<xsl:call-template name="lpad">
<xsl:with-param name="str" select="'|'"/>
<xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 2"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$itemset = 'true' and $prev-lhs = lhs[text()]">
<xsl:call-template name="lpad">
<xsl:with-param name="str" select="'|'"/>
<xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 2"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<span class="i">
<xsl:value-of select="lhs"/>
</span>
<xsl:text> &#8594;</xsl:text>
</xsl:otherwise>
</xsl:choose>
<!-- RHS -->
<xsl:for-each select="rhs/*">
<xsl:if test="position() = $point + 1">
<xsl:text> </xsl:text>
<span class="point">.</span>
</xsl:if>
<xsl:if test="$itemset = 'true' and name(.) != 'empty'">
<xsl:apply-templates select="."/>
</xsl:if>
<xsl:if test="$itemset != 'true'">
<xsl:apply-templates select="."/>
</xsl:if>
<xsl:if test="position() = last() and position() = $point">
<xsl:text> </xsl:text>
<span class="point">.</span>
</xsl:if>
</xsl:for-each>
<xsl:if test="$lookaheads">
<xsl:value-of select="$lookaheads"/>
</xsl:if>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="symbol">
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="name(key('bison:symbolByName', .)) = 'nonterminal'">
<span class="i"><xsl:value-of select="."/></span>
</xsl:when>
<xsl:otherwise>
<b><xsl:value-of select="."/></b>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="empty">
<xsl:text> &#949;</xsl:text>
</xsl:template>
<xsl:template match="lookaheads">
<xsl:text> [</xsl:text>
<xsl:apply-templates select="symbol"/>
<xsl:text>]</xsl:text>
</xsl:template>
<xsl:template match="lookaheads/symbol">
<xsl:value-of select="."/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="transition">
<xsl:param name="pad"/>
<xsl:text> </xsl:text>
<xsl:call-template name="rpad">
<xsl:with-param name="str" select="string(@symbol)"/>
<xsl:with-param name="pad" select="number($pad) + 2"/>
</xsl:call-template>
<xsl:choose>
<xsl:when test="@type = 'shift'">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('#state_', @state)"/>
</xsl:attribute>
<xsl:value-of select="concat('shift, and go to state ', @state)"/>
</a>
</xsl:when>
<xsl:when test="@type = 'goto'">
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('#state_', @state)"/>
</xsl:attribute>
<xsl:value-of select="concat('go to state ', @state)"/>
</a>
</xsl:when>
</xsl:choose>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="error">
<xsl:param name="pad"/>
<xsl:text> </xsl:text>
<xsl:call-template name="rpad">
<xsl:with-param name="str" select="string(@symbol)"/>
<xsl:with-param name="pad" select="number($pad) + 2"/>
</xsl:call-template>
<xsl:text>error</xsl:text>
<xsl:text> (</xsl:text>
<xsl:value-of select="text()"/>
<xsl:text>)</xsl:text>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="reduction">
<xsl:param name="pad"/>
<xsl:text> </xsl:text>
<xsl:call-template name="rpad">
<xsl:with-param name="str" select="string(@symbol)"/>
<xsl:with-param name="pad" select="number($pad) + 2"/>
</xsl:call-template>
<xsl:if test="@enabled = 'false'">
<xsl:text>[</xsl:text>
</xsl:if>
<xsl:choose>
<xsl:when test="@rule = 'accept'">
<xsl:text>accept</xsl:text>
</xsl:when>
<xsl:otherwise>
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('#rule_', @rule)"/>
</xsl:attribute>
<xsl:value-of select="concat('reduce using rule ', @rule)"/>
</a>
<xsl:text> (</xsl:text>
<xsl:value-of
select="key('bison:ruleByNumber', current()/@rule)/lhs[text()]"
/>
<xsl:text>)</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="@enabled = 'false'">
<xsl:text>]</xsl:text>
</xsl:if>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="solved-conflicts">
<xsl:if test="resolution">
<xsl:text>&#10;</xsl:text>
<xsl:apply-templates select="resolution"/>
</xsl:if>
</xsl:template>
<xsl:template match="resolution">
<xsl:text> Conflict between </xsl:text>
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('#rule_', @rule)"/>
</xsl:attribute>
<xsl:value-of select="concat('rule ',@rule)"/>
</a>
<xsl:text> and token </xsl:text>
<xsl:value-of select="@symbol"/>
<xsl:text> resolved as </xsl:text>
<xsl:if test="@type = 'error'">
<xsl:text>an </xsl:text>
</xsl:if>
<xsl:value-of select="@type"/>
<xsl:text> (</xsl:text>
<xsl:value-of select="."/>
<xsl:text>).&#10;</xsl:text>
</xsl:template>
<xsl:template name="max-width-symbol">
<xsl:param name="node"/>
<xsl:variable name="longest">
<xsl:for-each select="$node">
<xsl:sort data-type="number" select="string-length(@symbol)"
order="descending"/>
<xsl:if test="position() = 1">
<xsl:value-of select="string-length(@symbol)"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="$longest"/>
</xsl:template>
<xsl:template name="lpad">
<xsl:param name="str" select="''"/>
<xsl:param name="pad" select="0"/>
<xsl:variable name="diff" select="$pad - string-length($str)" />
<xsl:choose>
<xsl:when test="$diff &lt; 0">
<xsl:value-of select="$str"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="space">
<xsl:with-param name="repeat" select="$diff"/>
</xsl:call-template>
<xsl:value-of select="$str"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="rpad">
<xsl:param name="str" select="''"/>
<xsl:param name="pad" select="0"/>
<xsl:variable name="diff" select="$pad - string-length($str)"/>
<xsl:choose>
<xsl:when test="$diff &lt; 0">
<xsl:value-of select="$str"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$str"/>
<xsl:call-template name="space">
<xsl:with-param name="repeat" select="$diff"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="space">
<xsl:param name="repeat">0</xsl:param>
<xsl:param name="fill" select="' '"/>
<xsl:if test="number($repeat) &gt;= 1">
<xsl:call-template name="space">
<xsl:with-param name="repeat" select="$repeat - 1"/>
<xsl:with-param name="fill" select="$fill"/>
</xsl:call-template>
<xsl:value-of select="$fill"/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More