blob: c2b91a55925ead56a7d7dbc7ab0c137dd032e569 [file] [log] [blame]
Jiri Simsa756772c2015-03-25 15:40:54 -07001// Copyright 2015 The Vanadium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
Todd Wang8c4e5cc2015-04-09 11:30:52 -07005// Package profile defines types for the implementation of Vanadium profiles.
Jiri Simsa5293dcb2014-05-10 09:56:38 -07006package profile
7
Todd Wang94c9d0b2015-04-01 14:27:00 -07008import "v.io/v23/services/build"
Jiri Simsa5293dcb2014-05-10 09:56:38 -07009
10// Library describes a shared library that applications may use.
11type Library struct {
Jiri Simsaddbfebb2014-06-20 15:56:06 -070012 // Name is the name of the library.
13 Name string
14 // MajorVersion is the major version of the library.
15 MajorVersion string
16 // MinorVersion is the minor version of the library.
17 MinorVersion string
Jiri Simsa5293dcb2014-05-10 09:56:38 -070018}
19
20// Specification is how we represent a profile internally. It should
Bogdan Caprita2b219362014-12-09 17:03:33 -080021// provide enough information to allow matching of binaries to devices.
Jiri Simsa5293dcb2014-05-10 09:56:38 -070022type Specification struct {
Bogdan Caprita54ae80e2015-01-20 13:37:52 -080023 // Label is a human-friendly concise label for the profile,
24 // e.g. "linux-media".
25 Label string
Jiri Simsa2f8bc272014-07-16 12:29:15 -070026 // Description is a human-friendly description of the profile.
Jiri Simsaddbfebb2014-06-20 15:56:06 -070027 Description string
Bogdan Caprita54ae80e2015-01-20 13:37:52 -080028 // Arch is the target hardware architecture of the profile.
29 Arch build.Architecture
Todd Wang53a4e2e2015-03-18 10:54:54 -070030 // Os is the target operating system of the profile.
31 Os build.OperatingSystem
Jiri Simsa2f8bc272014-07-16 12:29:15 -070032 // Format is the file format supported by the profile.
33 Format build.Format
34 // Libraries is a set of libraries the profile requires.
35 Libraries set[Library]
Jiri Simsa5293dcb2014-05-10 09:56:38 -070036}