| { |
| "$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" |
| ] |
| } |
| } |
| } |