scala.scalanative.build

Type members

Classlikes

object Build

Utility methods for building code using Scala Native.

Utility methods for building code using Scala Native.

final class BuildException(message: String) extends Exception

Exception that is thrown when a Scala Native build fails.

Exception that is thrown when a Scala Native build fails.

sealed trait Config

An object describing how to configure the Scala Native toolchain.

An object describing how to configure the Scala Native toolchain.

Companion:
object
object Config
Companion:
class
object Discover

Utilities for discovery of command-line tools and settings required to build Scala Native applications.

Utilities for discovery of command-line tools and settings required to build Scala Native applications.

sealed abstract class GC

Garbage Collector. Application is going to be automatically linked with corresponding libraries that implement given collector. One of the:

Garbage Collector. Application is going to be automatically linked with corresponding libraries that implement given collector. One of the:

  • None GC. Never frees allocated memory.

  • Boehm GC. Conservative mark-and-sweep garbage collector.

  • Immix GC. Mostly-precise mark-region garbage collector.

  • Commix GC. Mostly-precise mark-region garbage collector running concurrently.

Additional GCs might be added to the list in the future.

Value parameters:
dir

name of the gc

links

linking dependencies of the gc

Companion:
object
object GC
Companion:
class
sealed abstract class LTO

Link Time Optimization (LTO) mode to be used when during a release build.

Link Time Optimization (LTO) mode to be used when during a release build.

Companion:
object
object LTO
Companion:
class
trait Logger

Interface to report and/or collect messages given by the toolchain.

Interface to report and/or collect messages given by the toolchain.

Companion:
object
object Logger
Companion:
class
sealed abstract class Mode

Compilation mode. Either of the two:

Compilation mode. Either of the two:

  • Debug mode. Most optimizations are turned off to get the best linking speed. This mode is the default and is preferred for iterative development.

  • Release mode. Runs all the optimizations but may take substantially longer to link the application.

Additional compilation modes might be added in the future.

Value parameters:
name

name of the compilation mode

Companion:
object
object Mode
Companion:
class
sealed trait NativeConfig

An object describing how to configure the Scala Native toolchain.

An object describing how to configure the Scala Native toolchain.

Companion:
object
Companion:
class
object Platform