2e50b3850b
distros typically have their own set via C[XX]FLAGS, so make
this an optional argument
some notes on the options:
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2
https://www.redhat.com/en/blog/enhance-application-security-fortifysource
(I see Fedora has recently bumped to to 3 since Jan 2024
https://fedoraproject.org/wiki/Changes/Add_FORTIFY_SOURCE%3D3_to_distribution_build_flags
but here use 2 for now instead)
-Wp,-D_GLIBCXX_ASSERTIONS
https://fedoraproject.org/wiki/Changes/HardeningFlags28
-fstack-protector-strong
(We already apply this by default)
-fstack-clash-protection
https://fedoraproject.org/wiki/Changes/HardeningFlags28
-fcf-protection
https://fedoraproject.org/wiki/Changes/HardeningFlags28
https://cgit.freedesktop.org/libreoffice/core/commit/?id=af55dc3891f7950d392175004b2090cb0e54828e
and record the compiler flags in debuginfo
-grecord-gcc-switches
Change-Id: Ib05387bad8324b188bd4ed0ee327d6a7cf83973b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163312
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit
|
||
---|---|---|
.. | ||
Jenkins | ||
CPAndroid.conf | ||
CPAndroidAarch64.conf | ||
CPAndroidBranding.conf | ||
CPAndroidX86.conf | ||
CPAndroidX86_64.conf | ||
CPLinux-LOKit.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 | ||
LibreOfficeWASM32.conf | ||
LibreOfficeWin32.conf | ||
LibreOfficeWin64.conf | ||
LibreOfficeWinArm64.conf | ||
README.md |
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.