summaryrefslogtreecommitdiff
path: root/bin/update_pch
AgeCommit message (Collapse)Author
2021-04-14Revert "update Skia to chrome/m91" (tdf#141680)Luboš Luňák
The m91 snapshot seems to cause a number of Vulkan problems. My commit already worked around one, but there are apparently others, such as very slow startup, or a failed Skia assertion triggered by VCL Skia's copyArea(). This reverts commit 09d850e46903a528d4b08d3fdf03c3964d79fbc5. Change-Id: I4f1832ba76db15cab8eccbe115d21c989da3c841 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114089 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-04-12update Skia to chrome/m91Luboš Luňák
Change-Id: I82050e9695b9aa49c33ee16d345bb64595b00bbc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113978 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-04-08allow more trivial #if's for including headers in PCHsLuboš Luňák
Change-Id: I734ac1832bafe0f4e5710b9b27bd03833179e2d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113800 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-04-08make update_pch.sh aware of '#pragma once'Luboš Luňák
Headers are allowed to have one #if block that is not ignored, on the assumption that it is the include guard. This shouldn't be the case if the header uses #pragma once, obviously. Change-Id: Ib0aa0933ce224ca4e3ecf209593852da0f4ca5ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113799 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-04-08make update_pch.sh abort on an errorLuboš Luňák
The script depends also on generated sources in workdir, which it may fail to find if they haven't been built before running the script. Prefer to fail on errors rather than ignoring them. Note that when using builddir != srcdir, the script requires $WORKDIR to be set (done e.g. by the recommended 'make cmd cmd="./bin/update_pch.sh [..]"'). Change-Id: I93429c133bd0876730a850d944707880848201f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113798 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-03-09Make sal/config.h the first in pchMike Kaganski
By convention, it should be the first include in C/CXX files; so use of pch should not break that. Change-Id: Ic329c5f39e8f48ad1778724368e262e48972342b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112123 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-03-03update Skia to chrome/m90Luboš Luňák
Including chrome/m89, which wasn't included before because of tdf#140023. Change-Id: I64f1de8e10eab2d92a9383ce8104be5afca40101 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111792 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-08-26Remove outdated comment lineAndrea Gelmini
Please see Julien comment here: https://gerrit.libreoffice.org/c/core/+/100871 Change-Id: I8188d2b26cab24f39630151d256104f633252b98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100920 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2020-07-22weld PatternControlCaolán McNamara
Change-Id: Ie84778c2f127a6b393edbfa08e61b135ec3bcbc0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99174 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-07-13Don't rely on Python's treatment of unrecognized escape sequencesMike Kaganski
According to [1]: > Changed in version 3.6: Unrecognized escape sequences produce a DeprecationWarning. > In a future Python version they will be a SyntaxWarning and eventually a SyntaxError. [1] https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals Change-Id: Ia4f79f17ccb121f423f35b1e1306d5ae285e8762 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98321 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-07-04reduce number of framework librariesNoel Grandin
Change-Id: I18bfdba3d26593f796d8b0bda87720e31066d5e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97968 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-04reduce number of framework librariesNoel Grandin
Change-Id: If2bf85301eb1523a636d031f6e5a9f78cb1ee06b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97871 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-01update Skia to chrome/m85 snapshotLuboš Luňák
Change-Id: I3af3517c9c213e0db8365aecd0a008d817ca4dcf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97592 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-02-07Remove erroneous whitespace in update_pchMuhammet Kara
This was causing generation of code in violation of clang-format conformance in these files: * xmlsecurity/inc/pch/precompiled_xsec_xmlsec.hxx * connectivity/inc/pch/precompiled_ado.hxx Also remove these 2 files from the clang-format blacklist. Change-Id: I882028c0553a3ff7fb356611f498d50dea984a7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88143 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-02-01make update_pch also consider files in <module>/src/**/incLuboš Luňák
With --enable-pch=full there's not much difference between a "public" header in <module>/inc and a private one in <module>/src/somewhere/inc . And since the script searches recursively, this apparently helps to find even more headers for lower pch levels. Change-Id: I8483d0aa5b4fea5a59107c20a8aa5f1ef694af0a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87799 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-12-01make update_pch work againCaolán McNamara
Change-Id: I8ab1bd9068027b907da7b95a16c6c72d019a9e69 Reviewed-on: https://gerrit.libreoffice.org/84163 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-27update PCH for SkiaLuboš Luňák
Change-Id: Iece4d90774890576bd3d84ed2218de56def96077
2019-11-27add PCH to SkiaLuboš Luňák
Change-Id: I0aa96bec7319010ff4749e3ab5c0ceef3dc55766
2019-11-11make bin/update_pch work with srcdir != builddirLuboš Luňák
I guess I'm tired of symlinking builddir/workdir to srcdir. Change-Id: I6192bb981d6727479cd2ce4b3ac75bb0a71c3fe9 Reviewed-on: https://gerrit.libreoffice.org/82397 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-10-18make bin/update_pch.s always include code in trivial #if'sLuboš Luňák
E.g. #ifdef LIBO_INTERNAL_ONLY is always true for code that builds with our PCHs. Change-Id: I3cf311ea3621b909105754cfea2cb0116b8b67f5 Reviewed-on: https://gerrit.libreoffice.org/80961 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-10-14add PCHs for more external libsLuboš Luňák
I think this is all external libs where it makes sense for them to have their own PCH and be worth it. Maybe some smaller externals can also use the common system PCH, but unfortunately many externals use all kinds of defines that affect system headers, which is a problem for the common system PCH. Change-Id: I2c589ac55d93728daf3b158df110722e5f055d45 Reviewed-on: https://gerrit.libreoffice.org/80728 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-08-31[API CHANGE] remove MacroMigrationWizardCaolán McNamara
https://wiki.openoffice.org/wiki/Macros_in_Database_Documents Prior to OpenOffice 3 (2008) base didn't support macros, but subdocuments might have had macros. since OOo3 base supported macros and subdocuments not, and a migration wizard is available to update pre OOo3 documents to the new scheme. Here I presume whatever is going to get migrated has been migrated at this point and drop the migration wizard This undoes the addition of the idl for sdb::application::MacroMigrationWizard of commit 5b982b69363f0f067fe4a0f679528ce1c5a2eafc Date: Mon Mar 11 17:51:56 2013 +0200 so flag as an api change, though not to anything published Change-Id: I37271752234dda4e7e8f033e0136825fd356439b Reviewed-on: https://gerrit.libreoffice.org/78326 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-19support also StaticLibrary in update_pchLuboš Luňák
Change-Id: I02127cd8a023e87482eff4071eb81b30f39870fd Reviewed-on: https://gerrit.libreoffice.org/72526 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-19port update_pch to python3Luboš Luňák
Change-Id: Ib0676472e5fe2b2f789dba62e9e1d985adb3ed23 Reviewed-on: https://gerrit.libreoffice.org/72525 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-19add PCH for pdfiumLuboš Luňák
It's an external library, but it's a large C++ lib and it's built using gbuild, so this helps too. Here with Clang it cuts build time from ~2:40 to ~1:25 (and about halves the CPU user time). Hopefully it also helps to reduce the build time for Windows gerrit builds. Change-Id: Ieef0ea28e0fe1fd216592fca70410075d95ddc54 Reviewed-on: https://gerrit.libreoffice.org/72517 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-19make update_pch also work with libs in external/Luboš Luňák
Change-Id: I65b3461fd227e7e997b82a84631bbd5d00b28eb6 Reviewed-on: https://gerrit.libreoffice.org/72520 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-12with pch level 2 (base), a module still shouldn't pch its own headersLuboš Luňák
Change-Id: I9c7f7d2f266950fac683bf5148dec741d7652585 Reviewed-on: https://gerrit.libreoffice.org/72194 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-12check module include prefix correctly in update_pchLuboš Luňák
Change-Id: I3417f80621584553041eeb504d35cb4241a19b61 Reviewed-on: https://gerrit.libreoffice.org/72203 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-09support different levels of PCH usageLuboš Luňák
There are now 4 levels of PCH support, the previous 'full' level adding to PCH whatever the update_pch script finds useful, and new levels 'system', which adds only external headers, 'base', which is 'system' and LO basic headers (sal, osl, rtl, vcl) and 'normal', which is 'full' without headers from the module built itself. With Clang/GCC even 'system' still saves some time (10-15%) and since external headers should rarely if even change, it should be without most of the disadvantages of PCH. And even 'base' should be pretty easy to use, as those headers should be rarely changed while developing, thus avoiding the need for massive rebuilds. Using 'normal' or 'full' does not seem to be worth it with Clang or GCC, but with MSVC that still makes a difference, so keep(?) 'full' the default there. The update_pch script unfortunately does not include as many system headers as it could, since it includes only what is directly included by the .cxx, but not what's included indirectly by .hxx files. https://lists.freedesktop.org/archives/libreoffice/2019-May/082685.html Change-Id: If83a07a1fc9b77d0134502b0d89348944f82806b Reviewed-on: https://gerrit.libreoffice.org/71580 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-09better is_c_runtime() detection in update_pchLuboš Luňák
config_xxx.h headers are not system headers, and some module headers as such helpids.h or scdllapi.h are neither. Change-Id: I7ae1a3f1ada43de88eefe34c60e19f7ac703769d Reviewed-on: https://gerrit.libreoffice.org/71579 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2018-11-01gbuild: rename value OS=IOS to OS=iOSMichael Stahl
This gets rid of the horrible hack in gbuild.mk to accomodate the case-incorrect iOS platform makefiles that cannot be renamed without upsetting git on file systems that sadly lack the case sensitivity feature. Keep the macro defined to IOS though. Change-Id: I1022bfef4900da00e75fc1ccce786b20f8673234 Reviewed-on: https://gerrit.libreoffice.org/62705 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-07-17remove the GL based 3D chartsMarkus Mohrhard
Change-Id: Ia578c71ae70aa0a85b49fa50138edf90f961b1e9 Reviewed-on: https://gerrit.libreoffice.org/57533 Tested-by: Jenkins Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-02-08xmlsecurity: fold Library_xsec_fw into Library_xmlsecurityMiklos Vajna
That little amount of code hardly justifies a separate library. Change-Id: Idbb039f38258bc12759fcf6d29328e1afe7443ab Reviewed-on: https://gerrit.libreoffice.org/49391 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2018-01-05remove dead eeitemid.hxxNoel Grandin
and inline the couple of constants still in use from it Change-Id: Icb9f5690b5649140bc0503a8917e6a0f764e3d9c Reviewed-on: https://gerrit.libreoffice.org/47404 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-22Windows: avoid dependence on UNICODE define; prefer W functionsMike Kaganski
Change-Id: I95b90128e93f0d88ed73601bcc5a7ca9279d4cf1 Reviewed-on: https://gerrit.libreoffice.org/42560 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-22Put definition of _CRT_RAND_S into bin/update_pchMike Kaganski
so it doesn't get removed again from sal/inc/pch/precompiled_sal.hxx (see commit 4af9612f2be9e023e762831207cbdb1d5f25906f). Also make necessary changes to some of the files that start to fail building after running bin/update_pch.sh, so that the patch is self-contained and leaves the tree in fully functional state. tools namespace had to be prepended with :: to disambiguate from drawinglayer::tools vcl/inc/window.h includes were amended, because ExtTextInputAttr is from vcl/commandevent.hxx, and enum class ShowTrackFlags is from vcl/window.hxx Change-Id: I47179622350754cba2f95d26a1bafd3dfbbc935b Reviewed-on: https://gerrit.libreoffice.org/42559 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-07-15emfplus: create a wmf/emf/emf+ primitive based importerArmin Le Grand
First steps to organize an importer that can read/interpret wmf/emf/emf+ and deliver a primitive representation for the content by parsing it. Use the same mechanisms as already applied for Svg, so to reuse abilities to keep original binary data to allow save again and embedding in files and have an implemented replacement bitmap based representation. For this, unify the used helper classes to handle more than just Svg. For 1st try, add test code and static bool switches Change-Id: I6e0a82943541d811a8f8d65a84115569fcd8cee7
2017-03-04gpg4libre: List and view GPG keysSamuel Mehrbrodt
* Add GPG implementation of css::xml::crypto UNO interfaces (part of that is only stub atm) * List gpg keys along with other certificates * Viewing gpg certificates: Not all properties are implemented yet Change-Id: I7f60b26efe949a94bf8fe1b8d4d428002c2995b1 Reviewed-on: https://gerrit.libreoffice.org/33843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Siegmund Gorr <siegmund.gorr@cib.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-01-18there's no need for this nutso redefineCaolán McNamara
both BMP_PLUGIN resources point to the same plugin.png ultimately Change-Id: Ifa1cc00698f749ba84f17a79074c73e080e1d356
2016-12-21Merge tbunosearchcontrollers.hxx into .cxxStephan Bergmann
Change-Id: Ic577e2dd4d6cc1d62c3c6f54e73ba891f8bad4a2
2016-03-01Exclude xmlsec headers from precompiled headersAshod Nakashian
Internal headers should not be exposed, rather xmlsec-wrapper.h should be used. Unfortunately, the latter causes undefined symbols on Linux when pch is enabled. Change-Id: Id68f1cde5090f1a8ba9530894e08edbeb3ad4165 Reviewed-on: https://gerrit.libreoffice.org/22811 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-02-17use consistent #define checks for the Windows platformNoel Grandin
stage 2 of replacing usage of various checks for the windows platform with the compiler-defined '_WIN32' macro In this stage we focus on replacing usage of the WIN macro Change-Id: Ie8a4a63198a6de96bd158ecd707dadafb9c8ea84 Reviewed-on: https://gerrit.libreoffice.org/22393 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-01-22GCC PCH says -Werror=unused-macros BOOST_SPIRIT_DEBUGMichael Stahl
... so try to blacklist that boost::spirit header, it is fortunately included only in one cxx file per library anyway. Change-Id: I95752540d33b2b20d7a185c05c4d4d15e660d956
2016-01-11PCH support on LinuxAshod Nakashian
Fixes and improvements to support Precompiled Headers on Linux. Change-Id: I8145c146b0dba56c7a4d0fdf9c330164b67ada53 Reviewed-on: https://gerrit.libreoffice.org/21307 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-10Undef RGB where it was defined, not where it gets usedStephan Bergmann
Change-Id: I274958964292f78c802748e17fca7f265ae5a4b8 Reviewed-on: https://gerrit.libreoffice.org/20429 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2015-12-04Wingdi RGB macro handling improvedAshod Nakashian
Improved the isolation of windows headers. Specifically, RGB macro is better handled now. Change-Id: I0eeea16d0de9da3455810c80b0715f7b54ae8c3f Reviewed-on: https://gerrit.libreoffice.org/20039 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian
Ported update_pch.sh to Python with improved performance and features. The new script is invoked from the same update_pch.sh which calls it for each library in parallel, although it can be invoked directly. The ported script (update_pch) updates all PCH files in ~15 seconds where the old script took ~4500 seconds. In addition, the new script supports 3-tiered headers (system, module, and local) and is very flexible to support other improvement. It has a per-library optimal configuration settings that can be updated using another new scripts (update_pch_autotune.sh) which finds optimal per-PCH settings. PCH files have been generated using the new scripts which builds significantly faster (2-3x, depending on module and configuration) and the intermediate binaries are noticably smaller (by several GBs). The new script stamps each generated PCH file with the command that generated it to make it trivial for users to update them, and also adds the command to invoke another script (update_pch_bisect) that helps find missing headers or conflicting headers that may break the build after updating the PCH. Finally update_pch has built-in unit-tests for makefile parsing and other core functionality. Change-Id: Ib933b50e50374d7e2e7e3e95ba8799b0cc8a27fa Reviewed-on: https://gerrit.libreoffice.org/19965 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>