You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.2 KiB
118 lines
3.2 KiB
{
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"id": "http://fuchsia.com/schemas/sdk/cc_prebuilt_library.json",
|
|
"description": "A prebuilt C/C++ library",
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "common.json#/definitions/sdk_element"
|
|
},
|
|
{
|
|
"properties": {
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "common.json#/definitions/type"
|
|
},
|
|
{
|
|
"enum": [
|
|
"cc_prebuilt_library"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"description": "Name of the library",
|
|
"$ref": "common.json#/definitions/cc_library_name"
|
|
},
|
|
"root": {
|
|
"description": "The root of the element in the SDK",
|
|
"type": "string"
|
|
},
|
|
"format": {
|
|
"description": "The distribution format of the binaries",
|
|
"type": "string",
|
|
"enum": [
|
|
"shared",
|
|
"static"
|
|
]
|
|
},
|
|
"headers": {
|
|
"description": "List of public headers",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "common.json#/definitions/file"
|
|
}
|
|
},
|
|
"include_dir": {
|
|
"description": "Path to the base directory for includes",
|
|
"$ref": "common.json#/definitions/file"
|
|
},
|
|
"deps": {
|
|
"description": "List of C/C++ libraries this library depends on",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "common.json#/definitions/cc_library_name"
|
|
}
|
|
},
|
|
"binaries": {
|
|
"description": "The binary files for the library, per architecture",
|
|
"type": "object",
|
|
"properties": {
|
|
"x64": {
|
|
"description": "Binaries for the x64 architecture",
|
|
"$ref": "#/definitions/binaryGroup"
|
|
},
|
|
"arm64": {
|
|
"description": "Binaries for the arm64 architecture",
|
|
"$ref": "#/definitions/binaryGroup"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"minProperties": 1,
|
|
"maxProperties": 2
|
|
}
|
|
},
|
|
"required": [
|
|
"binaries",
|
|
"deps",
|
|
"format",
|
|
"headers",
|
|
"include_dir",
|
|
"root",
|
|
|
|
"name",
|
|
"type"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
],
|
|
"definitions": {
|
|
"binaryGroup": {
|
|
"description": "A set of binary files compiled for a given architecture",
|
|
"type": "object",
|
|
"properties": {
|
|
"link": {
|
|
"description": "The link-time version of the library",
|
|
"$ref": "common.json#/definitions/file"
|
|
},
|
|
"dist": {
|
|
"description": "The version of the library to add to Fuchsia packages",
|
|
"$ref": "common.json#/definitions/file"
|
|
},
|
|
"dist_path": {
|
|
"description": "Path where the library should be installed in Fuchsia packages",
|
|
"$ref": "common.json#/definitions/file"
|
|
},
|
|
"debug": {
|
|
"description": "The unstripped version of the library",
|
|
"$ref": "common.json#/definitions/file"
|
|
}
|
|
},
|
|
"required": [
|
|
"link"
|
|
]
|
|
}
|
|
}
|
|
}
|