summaryrefslogtreecommitdiff
path: root/solenv/gbuild/gbuild.mk
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2019-03-09 23:19:10 +0100
committerLuboš Luňák <l.lunak@collabora.com>2019-05-09 11:01:38 +0200
commita3e92f9bcf72ebe94da181c0b1dd873ebbc2c9cc (patch)
tree8b0f555ff82a2070e2d2d0a17830a4adeef0a601 /solenv/gbuild/gbuild.mk
parenta0ff28ea8c10a4a897330c64aa3db6af88285994 (diff)
support different levels of PCH usage
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>
Diffstat (limited to 'solenv/gbuild/gbuild.mk')
-rw-r--r--solenv/gbuild/gbuild.mk6
1 files changed, 1 insertions, 5 deletions
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 6aa83c5903ed..889041172000 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -142,11 +142,7 @@ ifeq ($(gb_ENABLE_SYMBOLS_FOR),no)
gb_ENABLE_SYMBOLS_FOR :=
endif
-ifneq ($(strip $(ENABLE_PCH)),)
-gb_ENABLE_PCH := $(true)
-else
-gb_ENABLE_PCH := $(false)
-endif
+gb_ENABLE_PCH := $(ENABLE_PCH)
ifneq ($(nodep)$(ENABLE_PRINT_DEPS),)
gb_FULLDEPS := $(false)