struct ParseOptions [src]
Fields
arch_os_abi: []const u8 = "native"This is sometimes called a "triple". It looks roughly like this:
riscv64-linux-musl
The fields are, respectively:
CPU Architecture
Operating System (and optional version range)
C ABI (optional, with optional glibc version or Android API level)
The string "native" can be used for CPU architecture as well as Operating System.
If the CPU Architecture is specified as "native", then the Operating System and C ABI may be omitted.
cpu_features: ?[]const u8 = nullLooks like "name+a+b-c-d+e", where "name" is a CPU Model name, "a", "b", and "e"
are examples of CPU features to add to the set, and "c" and "d" are examples of CPU features
to remove from the set.
The following special strings are recognized for CPU Model name:
"baseline" - The "default" set of CPU features for cross-compiling. A conservative set
of features that is expected to be supported on most available hardware.
"native" - The native CPU model is to be detected when compiling.
If this field is not provided (null), then the value will depend on the
parsed CPU Architecture. If native, then this will be "native". Otherwise, it will be "baseline".
dynamic_linker: ?[]const u8 = nullAbsolute path to dynamic linker, to override the default, which is either a natively
detected path, or a standard path.
object_format: ?[]const u8 = null
diagnostics: ?*Diagnostics = nullIf this is provided, the function will populate some information about parsing failures,
so that user-friendly error messages can be delivered.
Members
- Diagnostics (struct)
Source
pub const ParseOptions = struct {
/// This is sometimes called a "triple". It looks roughly like this:
/// riscv64-linux-musl
/// The fields are, respectively:
/// * CPU Architecture
/// * Operating System (and optional version range)
/// * C ABI (optional, with optional glibc version or Android API level)
/// The string "native" can be used for CPU architecture as well as Operating System.
/// If the CPU Architecture is specified as "native", then the Operating System and C ABI may be omitted.
arch_os_abi: []const u8 = "native",
/// Looks like "name+a+b-c-d+e", where "name" is a CPU Model name, "a", "b", and "e"
/// are examples of CPU features to add to the set, and "c" and "d" are examples of CPU features
/// to remove from the set.
/// The following special strings are recognized for CPU Model name:
/// * "baseline" - The "default" set of CPU features for cross-compiling. A conservative set
/// of features that is expected to be supported on most available hardware.
/// * "native" - The native CPU model is to be detected when compiling.
/// If this field is not provided (`null`), then the value will depend on the
/// parsed CPU Architecture. If native, then this will be "native". Otherwise, it will be "baseline".
cpu_features: ?[]const u8 = null,
/// Absolute path to dynamic linker, to override the default, which is either a natively
/// detected path, or a standard path.
dynamic_linker: ?[]const u8 = null,
object_format: ?[]const u8 = null,
/// If this is provided, the function will populate some information about parsing failures,
/// so that user-friendly error messages can be delivered.
diagnostics: ?*Diagnostics = null,
pub const Diagnostics = struct {
/// If the architecture was determined, this will be populated.
arch: ?Target.Cpu.Arch = null,
/// If the OS name was determined, this will be populated.
os_name: ?[]const u8 = null,
/// If the OS tag was determined, this will be populated.
os_tag: ?Target.Os.Tag = null,
/// If the ABI was determined, this will be populated.
abi: ?Target.Abi = null,
/// If the CPU name was determined, this will be populated.
cpu_name: ?[]const u8 = null,
/// If error.UnknownCpuFeature is returned, this will be populated.
unknown_feature_name: ?[]const u8 = null,
/// If error.UnknownArchitecture is returned, this will be populated.
unknown_architecture_name: ?[]const u8 = null,
};
}