summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Remove separately maintained patches from repositoryAndras Becsi2014-06-051-53/+0
| | | | | | | | | | | | | | We maintain them on top of the Chromium snapshot. A new script tools/scripts/patch_upstream.py replaced patches/patch-chromium.sh with the recent snapshot update. The patches that we have on top of the baseline version are prepared from the chromium snapshot and applied on the upstream chromium checkout. A consequence of this is that init-repository.py -u from now on requires a snapshot checkout as well. Change-Id: I639c45904b72952804e5227ebc948a8859cf74dd Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Update ninja and bump Chromium version to 33.0.1750.170Andras Becsi2014-06-052-1/+127
| | | | | | | | | | | | | | | | | | | This patch also changes the way we handle our patches. We'll always take a new snapshot without patching Chromium and rebase our patches on top of the snapshot. This removes the need for separate patch files for the ustream repository since we can use the patches of the snapshot and apply them on the upstream checkout if we want to use an upstream build. This makes it easier for us to have branches for the release and maintain and minimize the number of patches we need on top of upstream Chromium. For now a snapshot checkout is needed to be able to prepare the patches for an upstream build but in future we cold improve this to fetch the patches from the remote snapshot repository if needed. Change-Id: I6280ffbe2d50d25d252734bc76d19bfaaa081637 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Define mac_sdk_min and mac_deployment_target instead of mac_sdk_pathAndras Becsi2014-06-041-0/+3
| | | | | | | | | | With Qt 5.3 mac_sdk_path ends up being empty, so make sure to set the proper flags for chromium to pick the right sdk. Also add clang_use_chrome_plugins=0 so we can remove it as well from the Mac-Use-libc-instead-of-stdlibc patch. Change-Id: Ia132f079f905761644ad26c728f7116f538ea62d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add update_change_ids.py to update Change-Ids of a set of patchesAndras Becsi2014-06-041-0/+86
| | | | | | | | This will be useful when updating the snapshot and rebasing patches. These patches need updated IDs to keep the gerrit database happy. Change-Id: I62e9fc11a902f57497a2693cc59b873f13cfce12 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Also moc cpp files in gyp integrationPierre Rossi2014-05-221-5/+6
| | | | | | | | We had the logic in place to detect mocable cpp files all along, but only used it for headers. Change-Id: I00ea4e3ba081c5c7d37fe35ec78233e4961481e3 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Remove Cygwin from blacklist in snapshot creationZoltan Arvai2014-05-211-1/+0
| | | | | | | | | | Cygwin is still required for build on Windows. It was accidentally blacklisted. Utils in cygwin used by third_party/WebKit build and gyp uses cygwin for wrapping linux style commands on Windows. Change-Id: Ifac069c67ebd1bef2f41618e7688d3b64028517b Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the Chromium upstream initialization on Windows.Adam Kallai2014-05-121-2/+6
| | | | | | | | | The Windows git version is not able to check out some extra_os dependencies but since they are not relevant on Windows we can just skip them. Change-Id: I552e0c3a3bf2f26a8e44901ee700d6e19c138b45 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Un-blacklist files needed for WebRTC from chromePierre Rossi2014-04-221-0/+3
| | | | | | | We want to include those in the snapshot in the future. Change-Id: Iee49f64781dba9fb6b7a16eebdf6b2013d410feb Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Run cygwin configurator before build on WindowsZoltan Arvai2014-04-031-0/+10
| | | | | | | | | Running setup_mount will ensure that every build uses it's own cygwin and prevents mixup with other instance. Update 3rdparty's shasum. Change-Id: Ic8f25ce7c6077318bac36b15cfe23a5a27ed51b9 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Disable cyclic dependency checking when cross-compiling on macArvid Nilsson2014-04-011-4/+4
| | | | | Change-Id: I49415512d9eb152a2c9a20bcc5adf9065717b124 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add SurfaceFactoryQt and OzonePlatformEglfs.Zeno Albisser2014-03-311-5/+6
| | | | | | | | | | | | | | | | | | | SurfaceFactoryQt::loadEGLGLES2Bindings is needed to find and load EGL and GLES2 libraries on embedded linux. It also provides a function to query the native display. We are using qmake variables at compile time to detect where we should look for the libraries at runtime. For EGLFS we query the native display through PlatformNativeInterface. If the resource is not exposed by Qt (pre 5.4), then we assume EGL_DEFAULT_DISPLAY, which is the right parameter for close to 100% of the cases anyway. OzonePlatformEglfs is just boiler plate code. Change-Id: I3ad08a56c50d6160be653ffb168b3f1f791e5245 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add Windows support to snapshot creationZoltan Arvai2014-03-282-8/+36
| | | | | | | | | Extend extra_os with Windows in git_submodule script. Update blacklist in take_snapshot script. This also updates take_snapshot.py for branch 1750. Change-Id: Ie8a1e58534e9f5c2635ed4103d0ae62f804dd5d0 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update patches to stable branch 1750Andras Becsi2014-03-282-6/+16
| | | | | | Change-Id: I85149bf4405420813d07bee5259f11a192e86a73 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu>
* Adapt to API changes in new stable branch 1750Andras Becsi2014-03-281-7/+1
| | | | | | Change-Id: If0cc263f36d396fd505c1d8b026e2493bfc29cc4 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* [Mac] Print XCode and clang++ versions for debugging.Zeno Albisser2014-03-271-0/+5
| | | | | Change-Id: I179093362c550479361fe63680818dcd7d8a462a Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Improve sanity checking of the parsed DEPS submodulesAndras Becsi2014-03-202-35/+41
| | | | | | | | | | | | | This is in preparation of updating to the new stable branch 1750 (Chromium version 33.0.1750.x) Move the sanityCheckModules function to version_resolver.py and check if the parsed svn refs exist in the remote git repository. If they do not exist fall back to the git shasum we parsed from the .DEPS.git file. This patch also removes the unused parseFile function. Change-Id: Ie0c11fdd9326ee87e9dcc670c0a7c26f9a498fd5 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Always disable tcmalloc.Zeno Albisser2014-03-111-2/+6
| | | | | | | | | | | | | | | We cannot enable tcmalloc as otherwise we would have to use it for all of Qt as well. If we allocate with tcmalloc and free without (or the other way round) this leads to errors. Specifically it led to something that looked like a double free corruption on embedded linux for an event that is created in qtwebengine code but deleted within Qt. Change-Id: Ia8c8da09e78968648046761e34f7f674769cfdc2 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Do not use the system ninjaJocelyn Turcotte2014-03-071-14/+7
| | | | | | | | | | | | | | Always bootstrap and use the bundled ninja to avoid incompatibilities between our bundled gyp and the system ninja, which might be quite old. This patch also removes the ninja location caching, as updating the cache would trigger a re-run of qmake and gyp on all the project, while the benefit of using the cache in this case are low. Change-Id: I843cbe20e1153caecbda00ab3d45a34d560b2423 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu>
* Fix debug_and_release buildsJocelyn Turcotte2014-03-071-2/+0
| | | | | | | | | | | | | | | This makes sure that gyp_run.pro follows the same behavior as core_module.pro and that ninja is run for each config, in the appropriate directory. A special .NOTPARALLEL make fake target is added to avoid running ninja for both configurations in parallel (this would cause build failures). This target will be ignored by nmake, but might cause issues if trying to build with jom. Change-Id: Ibaa5f6aa4972cb24c83cc7a63e496938a5c16a3f Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use the shadow build directory for the ninja outputJocelyn Turcotte2014-03-072-16/+7
| | | | | | | | | | | | The gyp/ninja build is moved from out/(Debug|Release) to src/core/(Debug|Release). The ninja build as well as generated gyp files and python intermediate files all stay in the source tree for the moment. Change-Id: I6948380c45896540fe508238ceef9fe48e41f5af Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Do not pass linking information from qmake to gyp and to qmake againJocelyn Turcotte2014-03-071-33/+0
| | | | | | | | | | | | | Instead make sure that the QT and QT_PRIVATE variables are identical in both core_gyp_generator.pro and core_module.pro, the former for compilation and the later for linking. This allows working around issues of qmake when handling -l switches in libs. Some features on Windows append version numbers, while this is not done when linking to Qt libraries via the QT variable. Change-Id: I04b58a313335daeffc9510471553517c63908852 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Do not disable RTTI for module librariesJocelyn Turcotte2014-02-211-5/+0
| | | | | | | | | | This would prevent QWebEnginePage to be subclassed in applications built with RTTI enabled. We don't need this anymore since all classes inherited from exported core classes are pure virtual and completely defined in their header. Change-Id: I4ce19f893626e9bcb5cd4b11b7264e43ddcbac31 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the Mac build with a -no-framework QtJocelyn Turcotte2014-02-201-1/+1
| | | | | | | | | | If QMAKE_FRAMEWORKPATH is empty, this would add an empty entry to the list and would end up with a -F with no argument added to the clang command line. This would fail the build since the next switch would be eaten by the -F. Change-Id: I42657e781278fd56d6664a42fb4222eb83b3cd73 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix Qt5WebEngineCore linking on WindowsZoltan Arvai2014-02-111-2/+0
| | | | | | | | | | BUILDING_CHROMIUM define have to be moved to the related project in core from default_pre.prf. Otherwise dllexport would be used instead of dllimport while linking to webengine and webenginewidgets. Change-Id: Ifed117f420591dcb7f97f12924b83ab86ead6216 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>