office-gobmx/distro-configs
Stephan Bergmann 5ab0f79748 Add --disable-compiler-plugins-analyzer-pch for Jenkins/linux_clang_dbgutil_64
<https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/54883/> had been a
case I noticed of a "Gerrit Linux clang/dbgutil" build failing due to stale PCH
information:

[...]
> [build GEN] compilerplugins/clang/sharedvisitor/makeshared.plugininfo
> fatal error: file '/usr/include/asm-generic/errno.h' has been modified since the precompiled header '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/compilerplugins/clang/sharedvisitor/clang.pch' was built
> note: please rebuild precompiled header '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/compilerplugins/clang/sharedvisitor/clang.pch'
[...]

and this issue had apparently caused all those Gerrit Jenkins builds to fail for
at least a day.  For unmaintained builds like those, I think it is better to
have a more robust setup, where stale PCH information cannot break the build.
Also, as those builds do not make compilerplugins.clean and rather share it
across builds, there should not be much of a performance impact when disabling
PCH in the analyzer.

(It turns out that compilerplugins/clang/sharedvisitor/analyzer.cxx would always
have enabled PCH, as compilerplugins/Makefile-clang.mk always passes in some
definition of LO_CLANG_USE_ANALYZER_PCH.  Fixed that now.)

Change-Id: I7b8b24c1049c501634bd59c5fb482bec72427cf6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90211
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
2020-03-09 13:48:35 +01:00
..
Jenkins Add --disable-compiler-plugins-analyzer-pch for Jenkins/linux_clang_dbgutil_64 2020-03-09 13:48:35 +01:00
CPAndroid.conf
CPAndroidAarch64.conf
CPAndroidBranding.conf
LibreOfficeAndroid.conf
LibreOfficeAndroidAarch64.conf
LibreOfficeAndroidX86.conf
LibreOfficeAndroidX86_64.conf
LibreOfficeCoverity.conf
LibreOfficeFlatpak.conf
LibreOfficeHaiku.conf
LibreOfficeiOS.conf
LibreOfficeiOS_Sim.conf
LibreOfficeLinux.conf
LibreOfficeMacOSX.conf
LibreOfficeOnline.conf
LibreOfficeOpenBSD.conf
LibreOfficeOssFuzz.conf
LibreOfficeVanillaMacAppStore.conf
LibreOfficeWin32.conf
LibreOfficeWin64.conf
README

Pre-canned distribution configurations

These files are supposed to correspond to the options used when
creating the Document Foundation (or other "canonical") builds of
LibreOffice for various platforms. They are *not* supposed to
represent the "most useful" options for developers in general. On the
contrary, the intent is that just running ./autogen.sh without any
options at all should produce a buildable configuration for developers
with interest in working on the most commonly used parts of the code.

See [[https://wiki.documentfoundation.org/Development/ReleaseBuilds]] for how
TDF builds make use of these switches.  (Especially, since --with-package-format
now triggers whether or not installation sets are built, all the relevant *.conf
files specify it, except for LibreOfficeLinux.conf, where the TDF build
instructions pass an explicit --with-package-format="rpm deb" in addition to
--with-distro=LibreOfficeLinux.)

(Possibly the above is a misunderstanding, or maybe there never even
has been any clear consensus what situations these files actually are
intended for.)

The files contain sets of configuration parameters, and can be passed
on the autogen.sh command line thus:

./autogen.sh --with-distro=LibreOfficeFoo

Contrary to the above, in the Android case the amount of parameters
you just must use is so large, that for convenience it is always
easiest to use the corresponding distro-configs file. This is a bug
and needs to be fixed; also configuring for Android should ideally use
sane (or the only possible) defaults and work fine without any
parameters at all.