This is a library for managing targets for compilers and related tools.
Currently, the main feature is support for decoding “triples”, which are strings that identify a particular target configuration. They‘re named “triples” because historically they contained three fields, though over time they’ve added additional fields. This library provides a Triple
struct containing enums for each of fields of a triple. Triple
implements FromStr
and fmt::Display
so it can be converted to and from the conventional string representation of a triple.
Triple
also has functions for querying a triple's endianness, pointer bit width, and binary format.
And, Triple
and the enum types have host()
constructors, for targeting the host.
It supports all triples currently used by rustc and rustup.
It does not support reading JSON target files itself. To use it with a JSON target file, construct a Triple
using the value of the “llvm-target” field.