| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Package profile defines types for the implementation of Vanadium profiles. |
| package profile |
| |
| import "v.io/v23/services/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 { |
| // Label is a human-friendly concise label for the profile, |
| // e.g. "linux-media". |
| Label string |
| // Description is a human-friendly description of the profile. |
| Description string |
| // Arch is the target hardware architecture of the profile. |
| Arch build.Architecture |
| // Os is the target operating system of the profile. |
| Os build.OperatingSystem |
| // Format is the file format supported by the profile. |
| Format build.Format |
| // Libraries is a set of libraries the profile requires. |
| Libraries set[Library] |
| } |