[Buildroot] [PATCH 2/2] allow build infrastructure to pick up installed ninja tool

Thomas Petazzoni thomas.petazzoni at bootlin.com
Tue May 7 21:00:08 UTC 2019


Hello Norbert,

On Fri,  3 May 2019 15:18:51 +0200
Norbert Lange <nolange79 at gmail.com> wrote:

> From: Norbert Lange <nolange79 at gmail.com>
> 
> If a fitting ninja tool is detected it will be used,
> otherwise the tool will be built from source.
> 
> Replace the fixed dependencies to host-ninja,
> notably from the meson infrastructure.
> 
> Signed-off-by: Norbert Lange <nolange79 at gmail.com>

Since host-meson cannot be changed to use the system-provided meson, as
discussed with Peter Seiderer on PATCH 1/2, I don't think it's really
worth doing the effort for host-ninja, which requires the same thing as
host-meson: a host Python interpreter.

I think the approaches to reduce the build time are:

 - Make sure we only need to build one of host-python or host-python3,
   and not both. This is what Jörg Krause is proposing in
   http://patchwork.ozlabs.org/patch/1047119/.

 - Or perhaps, try to go one step further, and see if we can use the
   system-provided Python instead of a Python built by Buildroot. But
   that would only work if the system provides Python 3, since Meson
   requires Python 3.

> diff --git a/support/dependencies/check-host-ninja.mk b/support/dependencies/check-host-ninja.mk
> new file mode 100644
> index 0000000000..6d89255ee5
> --- /dev/null
> +++ b/support/dependencies/check-host-ninja.mk
> @@ -0,0 +1,14 @@
> +# Set this to either 1.8.2 or higher, depending on the highest minimum
> +# version required by any of the packages bundled in Buildroot. If a
> +# package is bumped or a new one added, and it requires a higher
> +# version, our ninja infra will catch it and build its own.

I know this comment is in other .mk files in the same directory, but it
doesn't make any sense. There is no such thing as a "ninja infra" in
Buildroot, and there is nothing that will "catch it" and build its own.
If we forget to update BR2_NINJA_VERSION_MIN to the oldest Ninja
version that is acceptable by all packages using Ninja in Buildroot, we
will never notice until a user hits the problem.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


More information about the buildroot mailing list