Packages

object Build

Utility methods for building code using Scala Native.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Build
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def build(config: Config, outpath: Path)(implicit scope: Scope): Path

    Run the complete Scala Native pipeline, LLVM optimizer and system linker, producing a native binary in the end.

    Run the complete Scala Native pipeline, LLVM optimizer and system linker, producing a native binary in the end.

    For example, to produce a binary one needs a classpath, a working directory and a main class entry point:

    val classpath: Seq[Path] = ...
    val workdir: Path        = ...
    val main: String         = ...
    
    val clang    = Discover.clang()
    val clangpp  = Discover.clangpp()
    val linkopts = Discover.linkingOptions()
    val compopts = Discover.compileOptions()
    
    val outpath  = workdir.resolve("out")
    
    val config =
      Config.empty
        .withCompilerConfig{
          NativeConfig.empty
          .withGC(GC.default)
          .withMode(Mode.default)
          .withClang(clang)
          .withClangPP(clangpp)
          .withLinkingOptions(linkopts)
          .withCompileOptions(compopts)
          .withLinkStubs(true)
        }
        .withMainClass(main)
        .withClassPath(classpath)
        .withWorkdir(workdir)
    
    Build.build(config, outpath)
    config

    The configuration of the toolchain.

    outpath

    The path to the resulting native binary.

    returns

    outpath, the path to the resulting native binary.

  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  10. def findAndCompileNativeSources(config: Config, linkerResult: Result): Seq[Path]
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped