Dear LibreOffice developers and contributors,
I recently opened Bug
168776(https://bugs.documentfoundation.org/show_bug.cgi?id=168776) to
propose migrating the LibreOffice build system from Make, autotools, and
Perl to *Bazel*.
In the discussion there, I was advised to bring this topic to this
mailing list for broader feedback and discussion.
I believe such a migration could bring several benefits and
simplifications, including:
*
*Incremental Builds:* Bazel can significantly reduce compilation
time compared to the current Make-based system.
*
*Simplified File Structure:* As of October 2025, LibreOffice
contains about 2,581 Makefiles. This could be reduced to around 150
|BUILD.bazel| files (roughly one per module).
*
*Unified Testing:* |bazel test| would remove the need for separate
Makefiles for unit tests.
*
*Modern Build Language:* Legacy Perl scripts could be replaced by
the modern, Python-like Starlark language.
*
*Refactoring Opportunity:* The current integration among autotools,
gbuild, and Perl scripts makes refactoring legacy OpenOffice-era
code difficult.
*
*Module Management:* Bazel’s |MODULE.bazel| and |http_archive|
features can consolidate external dependencies into a single
configuration file, rather than the scattered |external/| directory.
*
*Cross-Platform Builds:* |select()| expressions can cleanly handle
platform-specific build options.
I understand that such a migration would involve a significant
transition period and changes to the CI infrastructure.
However, as LibreOffice continues to grow in complexity and scale,
modernizing the build system could improve maintainability,
reproducibility, and the onboarding experience for new developers.
In short, Bazel could modernize LibreOffice’s build process, reduce
maintenance burden, and improve reproducibility.
I’d like to ask whether there have been any previous attempts or
internal discussions on this topic, and whether a *partial or per-module
migration* could be considered as a starting point.
Thank you for your time and consideration.
Best regards,
Haruhiko Nishizaki
--
To unsubscribe e-mail to: discuss+unsubscribe@documentfoundation.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.documentfoundation.org/www/discuss/
Privacy Policy: https://www.documentfoundation.org/privacy
Context
- [tdf-discuss] Migrating LibreOffice Build System to Bazel · jijinbei
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.