compilers

package
v0.0.0-...-937b75d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Rump = "rump"
)

Variables

View Source
var (
	//available compilers
	RUMP_C_XEN        = compilerName("rump", "c", "xen")
	RUMP_C_AWS        = compilerName("rump", "c", "aws")
	RUMP_C_VIRTUALBOX = compilerName("rump", "c", "virtualbox")
	RUMP_C_VSPHERE    = compilerName("rump", "c", "vsphere")
	RUMP_C_QEMU       = compilerName("rump", "c", "qemu")
	RUMP_C_PHOTON     = compilerName("rump", "c", "photon")
	RUMP_C_OPENSTACK  = compilerName("rump", "c", "openstack")

	RUMP_GO_XEN        = compilerName("rump", "go", "xen")
	RUMP_GO_AWS        = compilerName("rump", "go", "aws")
	RUMP_GO_VIRTUALBOX = compilerName("rump", "go", "virtualbox")
	RUMP_GO_VSPHERE    = compilerName("rump", "go", "vsphere")
	RUMP_GO_QEMU       = compilerName("rump", "go", "qemu")
	RUMP_GO_PHOTON     = compilerName("rump", "go", "photon")
	RUMP_GO_OPENSTACK  = compilerName("rump", "go", "openstack")
	RUMP_GO_GCLOUD     = compilerName("rump", "go", "gcloud")

	RUMP_NODEJS_XEN        = compilerName("rump", "nodejs", "xen")
	RUMP_NODEJS_AWS        = compilerName("rump", "nodejs", "aws")
	RUMP_NODEJS_VIRTUALBOX = compilerName("rump", "nodejs", "virtualbox")
	RUMP_NODEJS_VSPHERE    = compilerName("rump", "nodejs", "vsphere")
	RUMP_NODEJS_QEMU       = compilerName("rump", "nodejs", "qemu")
	RUMP_NODEJS_OPENSTACK  = compilerName("rump", "nodejs", "openstack")

	RUMP_PYTHON_XEN        = compilerName("rump", "python", "xen")
	RUMP_PYTHON_AWS        = compilerName("rump", "python", "aws")
	RUMP_PYTHON_VIRTUALBOX = compilerName("rump", "python", "virtualbox")
	RUMP_PYTHON_VSPHERE    = compilerName("rump", "python", "vsphere")
	RUMP_PYTHON_QEMU       = compilerName("rump", "python", "qemu")
	RUMP_PYTHON_OPENSTACK  = compilerName("rump", "python", "openstack")

	RUMP_JAVA_XEN        = compilerName("rump", "java", "xen")
	RUMP_JAVA_AWS        = compilerName("rump", "java", "aws")
	RUMP_JAVA_VIRTUALBOX = compilerName("rump", "java", "virtualbox")
	RUMP_JAVA_VSPHERE    = compilerName("rump", "java", "vsphere")
	RUMP_JAVA_QEMU       = compilerName("rump", "java", "qemu")
	RUMP_JAVA_OPENSTACK  = compilerName("rump", "java", "openstack")

	OSV_JAVA_XEN        = compilerName("osv", "java", "xen")
	OSV_JAVA_AWS        = compilerName("osv", "java", "aws")
	OSV_JAVA_VIRTUALBOX = compilerName("osv", "java", "virtualbox")
	OSV_JAVA_VSPHERE    = compilerName("osv", "java", "vsphere")
	OSV_JAVA_QEMU       = compilerName("osv", "java", "qemu")
	OSV_JAVA_OPENSTACK  = compilerName("osv", "java", "openstack")

	OSV_NODEJS_QEMU      = compilerName("osv", "nodejs", "qemu")
	OSV_NODEJS_OPENSTACK = compilerName("osv", "nodejs", "openstack")
	OSV_NODEJS_AWS       = compilerName("osv", "nodejs", "aws")

	OSV_NATIVE_QEMU      = compilerName("osv", "native", "qemu")
	OSV_NATIVE_OPENSTACK = compilerName("osv", "native", "openstack")
	OSV_NATIVE_AWS       = compilerName("osv", "native", "aws")

	INCLUDEOS_CPP_QEMU       = compilerName("includeos", "cpp", "qemu")
	INCLUDEOS_CPP_XEN        = compilerName("includeos", "cpp", "xen")
	INCLUDEOS_CPP_VIRTUALBOX = compilerName("includeos", "cpp", "virtualbox")
	INCLUDEOS_CPP_OPENSTACK  = compilerName("includeos", "cpp", "openstack")

	MIRAGE_OCAML_XEN  = compilerName("mirage", "ocaml", "xen")
	MIRAGE_OCAML_UKVM = compilerName("mirage", "ocaml", "ukvm")
	MIRAGE_OCAML_QEMU = compilerName("mirage", "ocaml", "qemu")

	FIRECRACKER_GO = compilerName("firecracker", "go", "firecracker")
)

Functions

func BuildBootableImage

func BuildBootableImage(kernel, cmdline string, usePartitionTables, noCleanup bool) (string, error)

Types

type Compiler

type Compiler interface {
	CompileRawImage(params types.CompileImageParams) (*types.RawImage, error)

	// Usage describes how to prepare project to run it with UniK
	// The returned text should describe what configuration files to
	// prepare and how.
	Usage() *CompilerUsage
}

type CompilerType

type CompilerType string

func ValidateCompiler

func ValidateCompiler(base, language, provider string) (CompilerType, error)

func (CompilerType) Base

func (c CompilerType) Base() string

func (CompilerType) Language

func (c CompilerType) Language() string

func (CompilerType) Provider

func (c CompilerType) Provider() string

func (CompilerType) String

func (c CompilerType) String() string

type CompilerUsage

type CompilerUsage struct {
	// PrepareApplication section briefly describes how user should
	// prepare her application PRIOR composing unikernel with UniK
	PrepareApplication string

	// ConfigurationFiles lists configuration files needed by UniK.
	// It is a map filename:content_description.
	ConfigurationFiles map[string]string

	// Other is arbitrary content that will be printed at the end.
	Other string
}

func (*CompilerUsage) ToString

func (c *CompilerUsage) ToString() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL