summaryrefslogtreecommitdiff
path: root/bin/update_pch.sh
AgeCommit message (Collapse)Author
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>
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-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-10-04add "system" PCH that contains often used system headers such as STLLuboš Luňák
The idea is that this PCH will be used as a fallback for linktargets that do not explicitly set their own PCH. Change-Id: If05d3f04893a386e5d991f913e094f49249c8f44 Reviewed-on: https://gerrit.libreoffice.org/79363 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-19do not run update_pch.sh on all if it can't find PCH in the given dirLuboš Luňák
Change-Id: I9f86a6268c98a010585bd666e1ede66869c5d7ea Reviewed-on: https://gerrit.libreoffice.org/72523 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-08make update_pch.sh work with symlinked path or CDPATH setLuboš Luňák
Change-Id: I059393357c3b0d91e30c16df066fb6dd8ba28ab9
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>
2015-04-03Parallelized update precompiled headers.Ashod Nakashian
Each pch file is updated independently from the others, giving an opportunity to execute the update logic in parallel. The script uses xargs to run the update script in parallel. The total execution on my particular rig was reduced from ~420 minutes to under 75 mins, using 24 threads on Evo 850 SSD. Change-Id: Ifeb3947e756325756eb786e3025155481da1ea41 Reviewed-on: https://gerrit.libreoffice.org/14802 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-11-18pch: jpeg's headers conflict with INT32 typedef when in pch.Jan Holesovsky
Change-Id: I02b8fa22c11895d00e29d93b25397af676e3edae
2014-08-14xmlsecurity: remove NSS cert.h from PCHMichael Stahl
nssrenam.h is another horror... Change-Id: I166ac2ab1414e89d5cd4beae543670fdfa389adb
2014-06-04update_pch: add a bunch of pch filesThomas Arnhold
connectivity: 3m52s -> 2m47s cppcanvas: 28s -> 13s cppuhelper: 20s -> 14s dbaccess: 2m38s -> 2m01s hwpfilter: 16s -> 13s sot: 21s -> 16s Change-Id: I49286bfe6be73dd1b861be632b95e17a99e82f8a
2014-06-04update_pch: add a bunch of pch filesThomas Arnhold
desktop: 1m51s -> 54s framework: 1m55s -> 1m04s package: 32s -> 16s sdext: 1m31s -> 47s svgio: 32s -> 15s uui: 49s -> 20s vbahelper: 1m44s -> 27s xmlscript: 15s -> 10s xmlsecurity: 45s -> 23s Change-Id: Ia437969c091bf877983ababc5ea2d044bbc0bee0
2014-05-29update_pch: exclude OpenGLContext.hxx for nowThomas Arnhold
Change-Id: I80ce89351e2a8dbb1d9d928b673a8589fd651584
2014-05-20update_pch.sh: ignore a icu header fileThomas Arnhold
Change-Id: I2654933e1e6f50902be6b992767ab5caac273f9c
2013-11-05update_pch.sh: grep use extended regexThomas Arnhold
Set the flag explicitly, otherwise it's broken for me. Change-Id: Iedcbe610ca266bb9fd9b39b8accd274888ab2f15
2013-07-17remove gb_LinkTarget_add_noexception_objectBjoern Michaelsen
Change-Id: I44f7df6e5f816cfcf7a44c6c4c76e80924237d45 Reviewed-on: https://gerrit.libreoffice.org/4955 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2013-07-12PCH for more librariesLuboš Luňák
Change-Id: I6f9a1969605e0016b11157ddb5754ac77fd3966b
2013-03-15move update_pch.sh to a more obvious placePeter Foley
Change-Id: I379bfa8a8531c9ebc09d29ac789d70c8c5dafc79