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 Params
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 Params
name

name of the compilation mode

Companion
object
object Mode
Companion
class
sealed

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