• Luboš Luňák's avatar
    support different levels of PCH usage · a3e92f9b
    Luboš Luňák yazdı
    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: 's avatarLuboš Luňák <l.lunak@collabora.com>
    a3e92f9b
PrecompiledHeaders.mk 3.16 KB