blob: 1e12ec809245e020a7d0d9e3282329e504b8e257 [file] [log] [blame]
// Package profile contains implementation and internal interfaces and
// types used by the implementation of Veyron profiles.
package profile
import "v.io/core/veyron2/services/mgmt/build"
// Library describes a shared library that applications may use.
type Library struct {
// Name is the name of the library.
Name string
// MajorVersion is the major version of the library.
MajorVersion string
// MinorVersion is the minor version of the library.
MinorVersion string
}
// Specification is how we represent a profile internally. It should
// provide enough information to allow matching of binaries to devices.
type Specification struct {
// Arch is the target hardware architecture of the profile.
Arch build.Architecture
// Description is a human-friendly description of the profile.
Description string
// Format is the file format supported by the profile.
Format build.Format
// Libraries is a set of libraries the profile requires.
Libraries set[Library]
// Label is a human-friendly concise label for the profile,
// e.g. "linux-media".
Label string
// OS is the target operating system of the profile.
OS build.OperatingSystem
}