Jump to content

Development/ReleaseBuilds

From The Document Foundation Wiki

Release build config

Do not copy and use these settings as such. Especially, you are not allowed to use --with-vendor=The Document Foundation unless you are The Document Foundation.

Mac x86

--with-distro=LibreOfficeMacOSX
--with-lang=ALL
--disable-systray
--with-gdrive-client-id=xxxxxx
--with-gdrive-client-secret=yyyyyyy
--enable-macosx-code-signing
--disable-ext-wiki-publisher
--enable-release-build

Linux (same options for x86 & x86_64)

--with-distro=LibreOfficeLinux
--enable-release-build
--with-package-format=rpm deb
--with-lang=ALL
--disable-dependency-tracking
--with-vendor=The Document Foundation
--with-branding=/path/to/tdf-branding
--with-junit=/path/to/junit-4.10.jar
--with-ant-home=/path/to/apache-ant-1.9.4
--with-external-tar=/path/to/lo-externalsrc
--with-gdrive-client-id=tdf-specific-id
--with-gdrive-client-secret=tdf-specific-secret

Build Host is CentOS 5.x with manually updated zip, make, doxygen, flex, touch - compiled using gcc44 (export CC=gcc44 ; export CXX=g++44) - gdrive flags for 4.2.x and later.

For LibreOffice 4.4 & 5.0 gcc 4.8 from devtools repo is used.

For 5.1 til 6.1, build host ist CentOS 6.x with gcc 4.8 from devtools repo.

--enable-kde4 needs the following local change:

10:26 <@cloph> /usr/include/QtCore/qobjectdefs.h change to # define QLOCATION "\\0" __FILE__ ":" QTOSTRING(__LINE__)

For 6.2 build host for 64bit is CentOS 7 with devtoolset-7 (gcc 7.x) with --enable-gkt3 and --enable-kde5, for 32bit it is CentOS 6 with devtoolset-7. 32bit builds don't have support for gtk3 or the kde5 vclplugins.

For 6.3 and later 32bit build is dropped.

for current master / upcoming 24.2 release the build host is almalinux 8 with gcc-toolset-12. Full list of packages:

# enable the repositories for various -devel packages
dnf config-manager --set-enabled powertools
# add/enable the extra packages repo (primarily for debian packaging tools and kf5 support)
yum install epel-release
# enable eclipse module to "unhide" junit
dnf module enable eclipse
# the dependencies for a build
yum install ant automake avahi-devel bison byobu ccache cups-devel dbus-x11 dpkg-dev fakeroot flex gcc-toolset-12 git gperf gstreamer1-plugins-base-devel gtk3-devel java-17-openjdk-devel junit kf5-ki18n-devel kf5-kio-devel kf5-kwindowsystem-devel libXt-devel libxslt-devel make nss-devel perl-Archive-Zip python36-devel qt5-qtx11extras-devel rpm-build vim-enhanced wget xcb-util-wm-devel xorg-x11-server-Xvfb yasm
# for CI use/creating backtraces of failures
yum debuginfo-install platform-python-3.6.8
# also for CI/creating backtraces (for use with coredumpctl)
# yum install jq

Windows x86

--with-distro=LibreOfficeWin32
--enable-release-build
--enable-windows-build-signing
--with-lang=ALL
--disable-dependency-tracking
--with-vendor=The Document Foundation
--with-branding=/path/to/tdf-branding
--with-junit=/path/to/junit-4.10.jar
--with-ant-home=/path/to/apache-ant-1.9.4
--with-external-tar=/path/to/lo-externalsrc
--with-gdrive-client-id=tdf-specific-id
--with-gdrive-client-secret=tdf-specific-secret
--with-windows-sdk=7.1A
--enable-symbols
# used previously:
# --enable-pch (now part of distro-config)
# --with-nss-build-tools=/path/to/mozilla-build (obsolete)

Windows x86_64 (since 5.0)

Same as Windows x86 except no --with-windows-sdk=7.1A and obviously with --enable-64-bit and --with-distro=LibreOfficeWin64

Build Host is Windows Server 2012 R2 with Visual Studio 2015 (for LibreOffice 5.4 and later).

Previous configurations were the following: Windows Server 2008 R2 with Visual Studio 2010 (Windows Server 2012 with Visual Studio 2012 for LibreOffice 4.3 and later, Visual Studio 2013 for LibreOffice 5.0 and later), --with-gdrive for 4.2.x and later, --enable-symbols since 4.2.0rc1

Older builds

Mac PPC

  • --with-distro=LibreOfficeMacOSX --enable-release-build --disable-dependency-tracking --disable-build-mozilla --with-branding=/path/to/tdf-branding --with-external-tar=/path/to/lo-externalsrc

3.3.X

Mac x86

  • --enable-maintainer-mode --with-lang=ALL --with-num-cpus=2 --with-max-jobs=2 --no-create --no-recursion --disable-build-mozilla