Thank you for your thoughtful reply.

The current system already does builds incrementally.

That’s true.
However, Bazel provides a built-in caching mechanism that makes incremental builds much more effective by default.


I think the wording should be "legacy Perl and awk scripts /have to be/ replaced" and this is the same requirement as for Meson.

I may have caused a misunderstanding here — *my proposal is not about simply /replacing/ Perl or awk, but rather /rewriting/ the entire logic into a cleaner and more maintainable form.* Even if we move from Perl or awk to Python, if we retain the same complex gbuild architecture, then the migration loses much of its purpose. The goal is to simplify and clarify the build structure itself, not just change the scripting language.


Have you evaluated Meson against Bazel for LibreOffice?
I have not conducted a full evaluation of Meson versus Bazel specifically for LibreOffice yet. My initial reason for suggesting Bazel was mainly based on its design features and long-term scalability, including:

 * platform(), toolchain(), and select() for abstracting platform
   differences across Windows, Linux, and macOS
 * Proven scalability for large, multi-language monorepos and
   distributed builds
 * Built-in support for mobile platforms (Android, iOS)


There is inertia in continuing the build system migration because the current autoconf-based system is one of the cleanest implementations you will find in any project, works fine and the maintenance is not really a burden. So the benefits of moving to something else are not that significant.
I fully agree that the current autoconf-based system is extremely well-engineered and reliable — it’s impressive that it continues to work consistently across so many environments with |autogen.sh| and |make|. However, looking forward, I think developer /accessibility and maintainability/ will become increasingly important if LibreOffice wants to remain competitive with modern alternatives such as ONLYOFFICE.
At the moment:

 * The build scripts are complex and difficult for new contributors to
   modify safely.
 * Cross-build configurations are scattered and not always intuitive.

With Bazel, we could achieve:

 * A unified, declarative configuration that spans multiple platforms
   and languages
 * Hermetic (fully reproducible) builds with isolated environment

This would reduce the long-term maintenance cost and make the build system more approachable for new contributors and CI pipelines alike.


Thank you again for your thoughtful input.


Best regards,
Haruhiko Nishizaki


On 2025/10/13 15:59, Ilmari Lauhakangas wrote:
On 10/13/25 05:29, jijinbei wrote:
Dear LibreOffice developers and contributors,

I recently openedBug 168776 <https://bugs.documentfoundation.org/ show_bug.cgi?id=168776> (https://bugs.documentfoundation.org/ show_bug.cgi?id=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.

The current system already does builds incrementally.

    *Modern Build Language:* Legacy Perl scripts could be replaced by
    the modern, Python-like Starlark language.

I think the wording should be "legacy Perl and awk scripts *have to be* replaced" and this is the same requirement as for Meson.

Have you evaluated Meson against Bazel for LibreOffice? There has already been a significant amount of work done in making LibreOffice build on Meson and this included rewriting many Perl scripts in Python. One part of this was creating a WiX-based Windows installer (not yet in production).

There is inertia in continuing the build system migration because the current autoconf-based system is one of the cleanest implementations you will find in any project, works fine and the maintenance is not really a burden. So the benefits of moving to something else are not that significant.

Support was added recently for building HarfBuzz with Meson and the long process revealed some problematic things and assumptions in Meson itself, mainly on Windows if I recall correctly. Probably there would be an equal amount of surprising problems in Bazel.

Ilmari

Reply via email to