summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* take_snapshot.py should only clear directories.Zeno Albisser2014-12-031-1/+1
| | | | | | | | Specifically we want to keep the file src/3rdparty/.gitattributes. Change-Id: I76f3fe6d6f8b8477834e31a4806f23928a0ca010 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Whitelist/Blacklist several files for the snapshot based on Chromium ↵Zeno Albisser2014-12-031-2/+10
| | | | | | | | | | | | | | | | | | | 40.0.2214.5. Include files related to: - components_strings - chrome_version.rc.version - error_page - *.grdp files within components Exclude files related to: - junit - polymer - google_input_tools - cython Change-Id: I2388ec7694890d573cbea843de23471c6a5395a6 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* do proper escaping before replacingStephan Binner2014-12-021-3/+5
| | | | | Change-Id: I9d11038779494a3bb14107369b54c06baead96a9 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Print a more descriptive warning when a build is skipped.Michael Brüning2014-10-291-1/+8
| | | | | | | | | This should help users understand which prerequisites are missing from their system and may also help find invalid CI configuration quicker. Change-Id: If564825c11782b6e760f016893010008d9a551fa Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fixing quotation mark usage for WindowsAdam Kallai2014-10-291-2/+2
| | | | | | | | | The Windows command shell try to interpret the single quotation mark as a command. Change-Id: I4dc4382bdbe0c90565f6ac56c33a80971669344c Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Use the correct comment syntax.Michael Brüning2014-10-281-1/+1
| | | | | | | | This fixes 7639513f94fe45b5202349d2891e46b2295606a0. Change-Id: I512ca97d8b4fc8b7c48f03ab32d476bb3a791157 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Add checks for python and GCC versions.Michael Brüning2014-10-281-0/+16
| | | | | | The GCC version check is only run on Linux. Change-Id: I524508d763005190764526ce337dc348e5ba4fcb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Enable build on all supported linux platforms.Michael Brüning2014-10-211-1/+1
| | | | | | | | | | The build did not work when configuring to linux-g++-64, although the platform is supported. Task-number: QTBUG-41918 Change-Id: If2c8a5722d7d6b0ca28a99763531d8ffd9534de7 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Look for the NINJA_PATH env var and prefer that over the bootstrapped ninjaJarred Nicholls2014-10-161-4/+9
| | | | | | | | | The snapshot ninja may cause issues in some environments, where a different ninja version may work. If the user has NINJA_PATH set in their environment, prefer that over bootstrapping our own. Change-Id: I4c6d2f479aeae1f5137705ed2deb995b59ea287a Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Allow building on boot2qt.Zeno Albisser2014-10-161-1/+1
| | | | | Change-Id: I91ce455ac5e3992e50d13c14f4035f91baad85bf Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Include QMAKE_CC when extracting C compiler flagsJonathan Liu2014-10-151-1/+1
| | | | | | | | | This fixes cross-compile settings detection for cross-compilation environments where the C compiler cross-compilation flags are set in CC/QMAKE_CC instead of CFLAGS/QMAKE_CFLAGS (e.g. OpenEmbedded). Change-Id: I0a7b0f6c47a00775ec18073a16359c8351363285 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix localization on OS XAndras Becsi2014-10-131-9/+1
| | | | | | | | | We did not load any localization data on OS X until now, so the error page did not have any strings, and some tests asserted because of missing localization. Change-Id: Icb6de1f7e3aaa6815483d379efaf00e8ed6a1dbf Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Revert "Allow more generic platform names for linux based platforms."Zeno Albisser2014-10-101-2/+2
| | | | | | | | | We need a better solution to find out if we are building on a 64bit system. This reverts commit 58806890b496aef7c2880e651a8bb73b090cd72a. Change-Id: I43c48b5cbc5e96f93b65165b0445670a832b0206 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Allow more generic platform names for linux based platforms.Zeno Albisser2014-10-081-2/+2
| | | | | | | | | | | | | Embedded platforms are not always called exactly linux-g++ only. A platform may also be called linux-arm-gnueabi-g++ or similar. Fail gracefully if the host architecture is not x86_64. We require 64bit for linking QtWebEngineCore. Change-Id: I62c32606517bed6ed4307720d3c95e8019ec134b Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Prevent OS X from picking a wrong version of clang from the envAndras Becsi2014-09-261-7/+0
| | | | | | | | | | | Until now we relied on the PATH to pick the right clang version on OS X which turned out to be a source of issues on build nodes that have a lot of old cruft lying around which was picked up by gyp. Set make_clang_dir so that gyp uses the configured clang version from Qt and remove the env manipulation from our gyp script. Change-Id: I4ac679ea56fa874eecaa578aad77b462445c0caa Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Add Desktop OpenGL backend for WindowsKai Koehne2014-09-251-1/+0
| | | | | | | | Enabling rendering into a WGL backbuffer, in addition to the EGL/angle one. Change-Id: I8f2e3f5ecf52b6db22712b1129059f462725a256 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the build for embedded androidAndras Becsi2014-09-151-0/+1
| | | | | Change-Id: I1edd16e6875198d7480897e7b2e2fbf68b245883 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* init-repository: clean up upstream repository checkout even moreAndras Becsi2014-09-113-47/+23
| | | | | | | | | | | | | | Remove unneeded codepaths now that we can trust the git shasums found in the .DEPS.git file. No need for parsing and verifying remote branches, we can simply fetch the specified sha1 from origin. This patch also unifies the 'shasum' and 'ref' members of the Submodule python class since the 'ref' member can represent both chromium's version tag and the sha1s of the submodules, there is no need for a separate codepath for these. Change-Id: I1300b5b74f4d2e6984943570963b2f813b1b1679 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* take_snapshot: check if dos2unix is in the path before using itAndras Becsi2014-09-111-2/+6
| | | | | Change-Id: If696de316dd7b3b801ba46d1a54c37eafa901bf1 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Do a minor update to Chromium 37.0.2062.103Jocelyn Turcotte2014-09-101-1/+1
| | | | | | Change-Id: Ie9334cc9cdd240b2f5ceea0e31d82258045ea18c Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Run dos2unix on all files when taking snapshotsJocelyn Turcotte2014-09-101-7/+24
| | | | | | | | | | | This fixes Qt's packaging scripts that use the --to-crlf switch of zip, which doesn't work when files already contain CRLF. The script now takes much longer to run and a progress indicator was added to the console. Change-Id: I459c0d95f67b40ab57ff3b337210847cc60debc7 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Prepare scripts for the .103 snapshotJocelyn Turcotte2014-09-102-60/+6
| | | | | | | | | | | | Chromium is now relying on git for its releases and isn't creating release DEPS files anymore. This patch makes sure that we ignore any deps not starting with src/ to exclude the script repositories outside of the Chromium sources and it removes all the svn-related logic. Change-Id: I24b1839f919821382b8c5993c71251dbd6108d4f Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Clean up the module root directoryJocelyn Turcotte2014-09-101-0/+145
| | | | | | | | | | | | This moves init-repository.py to tools/scripts since it should now mainly be used by Qt WebEngine developers after our integration with qt5.git. Also remove the README file since most of the information is no as relevant for the Qt module audience as it was for a labs project. Change-Id: Iad9f6582d0ec0834cdaf38d0551d24f2c273badf Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Generate moc and rcc files in the gyp build directoryJocelyn Turcotte2014-09-081-10/+12
| | | | | | | | | | | | | | | | | | The real problem that this patch fixes is that moc and rcc generated files are added to the gyp sources variable with an absolute path, which for some reason triggers gyp to place the output file in the same directory as the source instead of the Release or Debug directories. This causes the last compiled file to be shared by both the release and debug builds when building debug-and-release, and MSVC will fail linking if the linked files have incompatible CRTs. This patch fixes the issue by moving both the generated cpp files and their compiled objects under <(SHARED_INTERMEDIATE_DIR), which points to (Release|Debug)/gen. Change-Id: I4143340acf56c3c7ed665aaae8f6221c310aafa9 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Bump the Xcode minimum version to 5.1v5.4.0-alpha1Jocelyn Turcotte2014-09-051-1/+1
| | | | | | | | | Upstream Chromium hasn't been building with the version of clang available in Xcode 5.0 for a while and we have to disable the build until we see a benefit to maintain this build environment. Change-Id: Ia91844dc7f3be1b1623610be417409d0d065c623 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Split QMAKE_FRAMEWORKPATH in case there are multiple paths.Zeno Albisser2014-09-051-1/+1
| | | | | Change-Id: If391781604861961387019ea15e9c29b6a1e3e1a Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* [Win64] Do not skip 64 bit builds on Windows.Michael Brüning2014-09-051-11/+2
| | | | | | | | Chromium has enabled this in the 37 based branch and it worked with Qt WebEngine as well. Change-Id: Idb1f9a2133be645cd044c9f0163cc87f6ae8e474 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [Win] Add gnuwin32\bin directory to PATH.Michael Brüning2014-09-031-0/+5
| | | | | | | | | This is necessary for finding gperf, bison, yacc, etc. on Windows. Works only if the gnuwin32 directory is on the same level as the qtwebengine root directory, which is the case with a qt checkout. Change-Id: I09fe1523d4e4baca6612f1039bbba2e2ff9d87c0 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [Win64] Make sure ninja is built in 64bit mode as well.Zeno Albisser2014-08-261-1/+5
| | | | | | Change-Id: If1665b5bb7a6db07ca737aa00d0ddba964e418aa Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* When comparing paths in python we have to use normcase.Zeno Albisser2014-08-262-5/+5
| | | | | | | | | | | | Chromium requires relative paths for output-dir and for generator-output. Also output-dir is expected to be a subdirectory of generator-output. This now allows building on windows without running qmake in recursive mode. Change-Id: Ie0f9965c1fbfd63eb3cb9c360b29f210128a5c3e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Enable 64 bit builds on Windows.Michael Brüning2014-08-261-0/+5
| | | | | | | | Ninja needs to have an _x64 appended to the configuration in order to build the 64 bit targets on Windows, as opposed to Linux and OS X. Change-Id: Idc9888c9f80ccb27d26fb86588ed39fba92a2c71 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Disable the Windows build on 64bit or non-angle configured QtJocelyn Turcotte2014-08-221-0/+4
| | | | | | | | Those configurations should be re-enabled once we support them properly. Change-Id: Id8019df8e0b34a2fb1a411780689f28def50546f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Disable the build on XCode < 5Jocelyn Turcotte2014-08-191-0/+2
| | | | | | | | | | | | Chromium itself requires XCode 5 to build and would require a few modifications to build with the version of libc++ that ships with XCode 4. Disable the build on that environment to at least get passed the Qt5 CI. Change-Id: I296055ac1880a9e09e2c0e8343058ff5add837c0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Update the gyp variable used to disable tcmallocPierre Rossi2014-08-191-1/+1
| | | | | | | | This changed with chrome 37. We only need to define it unconditionally in gyp_qtwebengine as tcmalloc is never an option for us. Change-Id: I8b21eb1114582c1d9a8aa61c5f15fc8469721395 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Disable QtWebEngine if Qt is configured with -staticJocelyn Turcotte2014-08-181-0/+1
| | | | | | | We currently don't support this configuration. Change-Id: Ibd6ad9e1ffc993a2224fb814109467bd7b65f0fc Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Use the toolchain from PATH on WindowsJocelyn Turcotte2014-08-141-0/+4
| | | | | | | | | | | | | | We don't want to fetch the compiler path from the mkspec on Windows the same way that we do on linux/embedded. Qt usually let the build environment decide the MSVC toolchain, as it is usually done on Windows. This patch also passes the ninja_use_custom_environment_files ninja generator option to make sure that gyp doesn't try to construct the build environment by running the env scripts itself. Change-Id: I6e04471eb994b81a9f1b8b5f149b4dbddbb320a8 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the build on Windows due to backslashesJocelyn Turcotte2014-08-141-4/+9
| | | | | | | | | | | | | | | | A gyp variable containing backslashes would be evaluated twice when passed through grit_action.gypi in src/core/chrome_qt.gyp. For some reason, gyp would end up reducing the escaping of backslashes once for each variable evaluation, which would completely remove backslashes from the value. Fix the issue by making sure that we pass paths to gyp with slashes instead of backslashes. Python will know what to do with them regardless. Change-Id: Id38866fd63a2ba1524a8c998fe577f7f50fca059 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the build on windows when qtwebengine.chromiumsrcdir isn't setJocelyn Turcotte2014-08-142-6/+9
| | | | | | | | | | | | | | | qtwe_chromium_obj_dir wasn't falling back to src/3rdparty if the config couldn't be found in git. Move the fallback logic to a getChromiumSrcDir qmake function, and use it in both places. The build system will now also print that the Chromium sources will follow the git config if found instead of the other way around, since this should now be the normal case as part of Qt5. Change-Id: I5ab972ab53156c1bd033518e2eb51013559491ac Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update the QtWebEngineCore library to run on top of Chromium 37Jocelyn Turcotte2014-08-142-14/+6
| | | | | | | | | | | | | | | Most of the patch is about upstream classes/methods that changed. Other important details: - icu data files are now used by default - cygwin is no longer required to build on Windows - RenderFrameHost has been replacing RenderViewHost in a few places, following the separate process iframes support in Chromium - The user agent is accessed through ContentClient::GetUserAgent instead of from the command line switches Change-Id: I86cc93aff7ce31176a80b0b4a5d54025674a451c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update the scripts for the snapshot of 37Jocelyn Turcotte2014-08-143-61/+72
| | | | | | | | | | | | | | | - The svn repo string would be something like: ...branches/2062/path_suffix and I want only the branch number in this case. Updated git_submodule.py to support that case and use regexp instead to keep thing a bit simpler. - .isolate are gyp files, moved the exception at the top - Changed some inclusions/exclusions - tools/ is now all excluded by default with exception instead of all included. We don't need most of it. Change-Id: I6d0666d9af7fc6a0f3c4fe866adf2744f13f7c35 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Opt-out of the build on platforms where we won't build successfullyJocelyn Turcotte2014-08-121-0/+5
| | | | | | | | | | | To allow the qt5.git integration, allow the build to succeed if the repository is checked out on a platform that we don't maintain. This is the initial list of platforms that we want the integration to succeed and we can add new ones once we start maintaining them. Change-Id: Idce2a84eb8d5b1ef7f14d399fe013f666b479108 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use VisitedLinks component.Pierre Rossi2014-08-081-0/+2
| | | | | | | | | This allows to resolve visited links in the render process. The newly introduced API at the Core layer should allow exposing this functionality to our widgets and Qt quick API layers. Change-Id: I256376afcfe79014dc274e2dddbac1986a884a93 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Expose better error information in loadRequest.Pierre Rossi2014-08-042-0/+11
| | | | | | | | | | | | Use the chromium localized error strings for that purpose, otherwise the error description is always empty. While we're at it, let's tap into the chromium error pages, which should hopefully make sense for most errors, and add some static asserts to check that the qt quick enum and the core one are in sync. Change-Id: Icf8fa7c3bf4a674c60a10950422135fb6930447a Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* init-repository: pass regexp in raw string to git log --grepAndras Becsi2014-07-181-2/+2
| | | | | | | | | | This prevents python from escaping the special characters that resulted in git not finding the proper shasum for the git-svn-id regular expression line. Change-Id: Ic5449db6319b638cf692d2b4427ce5de7cbac66e Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Adam Kallai <kadam@inf.u-szeged.hu>
* init-repository: fix checkout of pure git repositoriesAndras Becsi2014-07-161-7/+8
| | | | | | | | | | Since some projects are maintained in git repositories only even the 'svn' DEPS file has some git shasums instead of svn revisions. Check the current shasum and tag outside of the ref block so we actually end up checking out the parsed shasum for non-git-svn repositories. Change-Id: Iabc4a5b15e50a0f0df84179a65929352ee2addb7 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Use the version tag when checking out chromiumAndras Becsi2014-07-151-17/+23
| | | | | | | | | | Instead of grepping for the VERSION file update in the git log check out the sha1 that has been tagged with the requested version. Also harden the regexp we use to translate svn revisions to git sha1's and further clean up the findShaAndCheckout function. Change-Id: Iaeb7ebee558b7ebadaf3428e06626736601198cf Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* tools: add reset option to patch_upstream.pyAndras Becsi2014-07-033-1/+41
| | | | | | | | This patch makes it possible to reset the upstream chromium repository to its baseline state. Change-Id: Idff94a0f873e994716f77c83f4c5b79bcd48aec5 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* tools: add check_patches.py script for checking patch annotationsAndras Becsi2014-07-031-0/+108
| | | | | | | | | | | | | | | | This script should be ran whenever adding new patches to our chromium snapshot and makes sure we keep the upstream build functional. Having clean patches is beneficial to keep it possible to upstream patches to the Chromium project, and to keep an overview of our changes. An annotation is not needed if the patch is adding files to the chromium snapshot that were removed by take_snapshot.py, thus are already present in the upstream repository. In these cases the non-annotated patch will be ignored by the scripts. Change-Id: I46605c559825d9da2653036e9a12a2a5730330a0 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* tools: move upstream repo utility functions to version_resolver.pyAndras Becsi2014-07-032-50/+61
| | | | | | | This makes it possible to use them in other scripts as well. Change-Id: I8aa76c1a9be91c56fd232a592ac41de5079eb3c7 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix patch_upstream script on WindowsZoltan Arvai2014-06-171-2/+9
| | | | | | | | | | | Preventing failure while applying patches on submodules that are skipped on Windows. Non Windows related submodules are not checked out from upstream repository. This behavior is a workaround for git issues. Change-Id: If34d9d2916829f87c7397a07803f79c156c05c57 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>