struct

Quartz::Build::Toolchain

Inherits Struct < Value < Object

Locates the arm-none-eabi toolchain on the host. Three strategies tried in order; the first that yields a working arm-none-eabi-gcc wins:

  1. Reuse ufbt's cached toolchain under ~/.ufbt/current/toolchain/*/bin/
  2. Use Quartz's own cached toolchain at ~/.quartz/toolchain/*/bin/
  3. Fall back to whatever arm-none-eabi-gcc is on PATH

Strategy 2 isn't populated by anything yet — it's a hook for a future quartz sdk toolchain install subcommand that mirrors ufbt's download. Until then, strategies 1 and 3 cover realistic users.

Constructors

new(gcc : String, gpp : String, ld : String, objcopy : String, ar : String, strip : String, version : String, source : Quartz::Build::Toolchain::Source)
Source
resolve

Resolve the best available toolchain. Raises ToolchainMissing if none of the strategies produce a usable arm-none-eabi-gcc.

Source

Class methods

from_bin_dir(bin : String, source : Source) : Toolchain | Nil

Build a Toolchain from a bin/ directory that contains the usual arm-none-eabi-* tools. Returns nil if the required tools are missing.

Source

Instance methods

objcopy
Source
source
Source
strip
Source
version
Source

Nested types