dart-lang / dart-lang/native

[native_toolchain_c] Tool variants

Open
#20 0 comments 0 reactions 0 assignees View on GitHub
P3 package:native_toolchain_c type-code-health type-enhancement
Dominant language
Dart
Stars
275
Forks
144
Avg merge
2d 10h
Merged PRs (30d)
47

Description

Currently, our `Tool`s are considered equal if they represent the same conceptual tool. E.g. `clang` is the same conceptual tool whether it's the one for the host OS and the one for Android. `ToolInstance`s are only equal if they point to the actual identical uri and identical version.

Some middle ground could be something like a `ToolVariant`.
Currently the only variants I have encountered have to do with the `Target` architecture and operating system:

* clang: for host and Android.
* GCC: for cross compiling.
* MSVC tools: per target architecture (also per _host_ architecture).

We might need to address this to do a better job in the Tool Recognizers when Dart/Flutter passes us just a Uri of an executable and we don't know which tool variant this is.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.