bug-gettext
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gettext] replacing autotools with meson?


From: Alexander Kanavin
Subject: Re: [bug-gettext] replacing autotools with meson?
Date: Wed, 16 Aug 2017 16:41:43 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

On 08/15/2017 10:14 PM, Bruno Haible wrote:
It does not make sense for a _distributor_ of software to replace its
build system. The main users of the build system are the maintainers;
it's them who decide about the build system.

As a distributor, you have to accept the build system of a package;
everything else is a maintenance nightmare. But why does it matter whether
it takes 15 minutes? Gettext releases don't come out more frequently than
once a month, and you surely don't have to build it for 30*24*4 = 2880
platforms?

I built a GCC 7.2.0 from source yesterday, which took ca. 8 hours, and
even that is acceptable!

Yocto is not a distribution, and it does not provide any pre-built binaries or images. It is a toolkit for creating Linux-based distributions aimed at embedded use cases. What this means is that anyone who wants to create such a distribution and produce images and packages that can be placed on their target devices needs to configure exactly what gets built and how, and then perform the build on their development machine iteratively, until they are happy with the outcome. So we aggressively parallelize and cache everything: when multiple software packages can be built at the same time, they are. Build artifacts are placed into a disk cache, and reused whenever possible. However, if a setting that influences how something gets build is changed, that triggers a rebuild of all dependencies.

Which brings us to gettext. It is on a critical path for almost anything (in the dependency tree it comes shortly after building the cross-compilation C toolchain, including cross-gcc, and is needed for almost anything else). So watching how it takes several minutes to configure itself, while nothing else can proceed in the build is not a good use of time, and we would like to solve this bottleneck. Similarly, we run automated builds (for multiple common architectures and scenarios) several times a day to establish that new changes don't cause breakage, and want to make those faster as well.

For what its worth we can build a complete Linux system, including the gcc cross toolchain used during the build in around 1-1.5 hours depending on the build hardware used.

Thanks.
Alex



reply via email to

[Prev in Thread] Current Thread [Next in Thread]