BurritoNg.Steps.Patch.RecompileNIFs (burrito_ng v1.0.0)

View Source

Summary

Functions

Returns the C toolchain used to cross-compile NIFs for target, as a map with :cc, :cxx, :ar and :ranlib commands.

Functions

nif_sniff()

toolchain!(target)

@spec toolchain!(BurritoNg.Builder.Target.t()) :: %{
  cc: String.t(),
  cxx: String.t(),
  ar: String.t(),
  ranlib: String.t()
}

Returns the C toolchain used to cross-compile NIFs for target, as a map with :cc, :cxx, :ar and :ranlib commands.

Each one can be overridden per-target with the :nif_cc, :nif_cxx, :nif_ar and :nif_ranlib qualifiers. Otherwise a cross toolchain is looked up in PATH:

  • Linux: musl cross compilers, <cpu>-unknown-linux-musl-gcc or <cpu>-linux-musl-gcc
  • Windows: MinGW-w64, <cpu>-w64-mingw32-gcc
  • macOS: Xcode's clang (only when building on macOS)