summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Fix the embedded buildAndras Becsi2014-02-051-1/+3
| | | | | | | | | | Adopt to toolchain changes and fix the build with the current snapshot. This patch adds some missing overrides and build system configurations. Change-Id: I488929500347bdb5a077ac14e9553cedfcaa605d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Make it easier to update patches and apply them manuallyJocelyn Turcotte2014-02-031-0/+53
| | | | | | | | | | | | | | Clean the way that we maintain patches by keeping them ordered by their number and let the shell order them when giving the list to git am. Provide a update-patches.sh that maintains the proper command lines to use and run a cleaning script on the resulting patch to avoid the SHA1 to be added to the file as it changes every time the patch is applied. Change-Id: Ia93cf4b35f5f847a8723a31fc476443864242737 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the build on embedded platformsAndras Becsi2014-01-281-9/+0
| | | | | | | | | | | | | | | We should not include chromium headers outside of core since they might depend on defines or other build options only set in the gyp/ninja environment. This patch removes the need to include net/base/net_errors.h in the API implementation of the QQuickWebEngineView and also removes the chromium source directory from the global include path. This prevents including chromium headers outside of core by mistake and also makes it possible to load the project in QtCreator without disabling indexing. Change-Id: Icd13b6caa52509ef2a1b6b44eaffb34d8ae4addf Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Support absolute path in chromiumsrcdirArvid Nilsson2014-01-272-3/+3
| | | | | | | | | | Use the second parameter of $$absolute_path to resolve the git config value qtwebengine.chromiumsrcdir, in case it's already absolute. Change-Id: I68caf5c2f208d3caae69c1f6f361c916ce3f3d93 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix package builds against release builds of QtSimon Hausmann2014-01-271-4/+25
| | | | | | | | | | | | | The Qt build system assumes that when building a module against a release build of Qt, syncqt was already run at package creation time. So we have to run syncqt when creating source packages. This patch changes the syntax to separate the file name base from the package version to use. Change-Id: I4ffb4a7d9d8e8e0a1d681dfb9d337b8ab9f76d9a Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Small fixes to the packaging scriptSimon Hausmann2014-01-271-2/+9
| | | | | | | | | | * Add a .tag file to the archive that contains the sha1 the package was created from. This is useful for diagnostics. * Use bash and enforce error handling (it's easy to accidentally include bashisms) Change-Id: I217942da2e985772567da91a7635e5e81533ca95 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix findMocables on WindowsZoltan Arvai2014-01-221-1/+1
| | | | | | | | | | Replace doesn't matches anything with QMAKE_DIR_SEP, that is backslash on Windows, because absolute_path and _PRO_FILE_PWD_ returns forward slashes. Change-Id: Ieba1684782d565885f4069f408cfb129476e301d Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix Qt's moc path on WindowsZoltan Arvai2014-01-221-1/+1
| | | | | | | | | Backslash from mocCmdBase is processed as an escape sequence in generated gyp file. E.g. Qt5\bin\moc.exe turns to Qt5[BS]in\moc.exe. Change-Id: I09a04b0e168e1139720c44307f192f7a9368ad43 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Mac: Add QMAKE_FRAMEWORKPATH to compiler command line as well.Zeno Albisser2014-01-141-0/+6
| | | | | | | | This is necessary for the compiler to find include files following the "#include <FRAMEWORK/file>" syntax. Change-Id: Ia40b6bbe571e2b275a502c2de60cceeecc9b0f6b Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix Qt5 libs linking to Qt5WebEngineCore.dll for WindowsZoltan Arvai2014-01-131-1/+2
| | | | | | | | | MSVC linker needs file extension, otherwise it searches for .obj files, but Qt has Qt5*.lib files. Change-Id: I4fd5e1d6001ea309da456c43ffc79cb5944a1ef3 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Add script to generate tarballs for releases.Zeno Albisser2014-01-131-0/+65
| | | | | | Change-Id: I14dbc2d4770cb0efe9a227e4f113e83c50e00283 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Minor correction of log message in qtwebengine_utils.py.Zeno Albisser2014-01-131-1/+1
| | | | | Change-Id: Id794add1267ebea804b050bb50e232bcf5f7dd13 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Handle exception thrown by subprocess.check_output.Michael BrĂ¼ning2014-01-131-2/+5
| | | | | | | | | The || true syntax does not work on Windows. Also, normalize the paths to the underlying OS style. Change-Id: Ie13d2646fe239fccb9ab7b558a6c8d56b779b206 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Little cleanup in take_snapshot.py scriptPierre Rossi2014-01-101-6/+0
| | | | | | | Removing some duplicate lines Change-Id: I92059eb42cedf5f912a595bbab4a73a1011d6dae Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add placeholders for missing repack_locales switchesAndras Becsi2014-01-101-0/+4
| | | | | | | | | | | | | On some embedded setups and Windows unittest targets bring in new locale repack actions which use the -g and -b switches of repack_locals.py with @pymod_do_main. Since we did not implement these options the script execution failed. Add placeholders for these options. Change-Id: Ie11928b025448bc059fb1e3f2e695fb7698a7937 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Improve init-repository.py to fetch up-to-date dependency listAndras Becsi2013-12-203-83/+303
| | | | | | | | | | | | | | | | | | | | | This patch introduces a new mechanism to retrieve submodules. The utilities in version_resolver.py provide means to download the upstream DEPS file for a specified Chromium version. This makes it possible to check out the needed svn branches and specific revisions used for the release. We still use the git repositories found in the upstream .DEPS.git file but since it is not regularly updated after the branch-off, we try to match the release svn revisions to git shasums which is possible since each commit includes git-svn-id's. Also add a maintenance tool get_version.py which reads the Chrome release information from http://omahaproxy.appspot.com. We now pin the latest stable channel Chromium release from branch 1650 with the version number 31.0.1650.63 and a branch-off date of Sept 23rd. Change-Id: I333ada4250999b442cd244821818bace9e6136f4 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Update take_snapshot.pyAndras Becsi2013-12-172-16/+73
| | | | | | | | | Add additional conditions to the blacklist function so that we include files needed for Boot2Qt-Android but exclude other files not needed for the build. Change-Id: I7cda448a943dc776ad6d29c872048cf256da599e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Revert "Improve init-repository.py to fetch up-to-date dependency list"Jocelyn Turcotte2013-12-163-303/+83
| | | | | | | | | Let's make sure that the submodule integration succeeds first. This reverts commit 584a8c3c637997fbb6772ab75aea1bd587b82a37. Change-Id: I972e5540031636489f0995ea864c4dcfc8e5cd7a Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Remove --android and download the android and mac files by defaultAndras Becsi2013-12-131-1/+1
| | | | | | | Later we can add 'win' here as well. Change-Id: I80ff9a2855b2a27e29146b2e6b30f55020f5de52 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>