bazel-contrib / bazel-contrib/rules_foreign_cc

Build ninja from source if prebuilt binary is absent for a platform

Open
#1,019 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
737
Forks
270
PR merge metrics
No merged PRs in 30d

Description

## The problem

ninja's prebuilt binaries are available for [a limited number of platforms](https://github.com/bazelbuild/rules_foreign_cc/blob/2c6262f8f487cd3481db27e2c509d9e6d30bfe53/toolchains/prebuilt_toolchains.py#L103-L116).

For example, if you pick a linux_aarch64, you'll get an error:
```bah
No matching toolchains found for types @rules_foreign_cc~0.9.0//toolchains:ninja_toolchain
```

## How to reproduce

Please, take a look at https://github.com/bazelbuild/rules_foreign_cc/issues/1018, section "How to reproduce".

## Expected behavour

ninja is built from source if there is no binary for a platform.

Contributor guide

Open the contributing guide

Research direction

Start with toolchains/prebuilt_toolchains.py, especially the platform list linked in the issue, and review the reproduction steps in issue 1018. The change is complete when a platform without a prebuilt ninja binary can use ninja built from source instead of producing a no-matching-toolchains error.

Written by the indexing model from the issue text.

Assessment

Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.