| { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "allOf": [ |
| { |
| "$ref": "common.json#/definitions/sdk_element" |
| }, |
| { |
| "additionalProperties": false, |
| "properties": { |
| "binaries": { |
| "additionalProperties": false, |
| "description": "The binary files for the library, per architecture", |
| "properties": { |
| "arm64": { |
| "$ref": "#/definitions/binaryGroup", |
| "description": "Binaries for the arm64 architecture" |
| }, |
| "riscv64": { |
| "$ref": "#/definitions/binaryGroup", |
| "description": "Binaries for the riscv64 architecture" |
| }, |
| "x64": { |
| "$ref": "#/definitions/binaryGroup", |
| "description": "Binaries for the x64 architecture" |
| } |
| }, |
| "type": "object" |
| }, |
| "variants": { |
| "additionalProperties": false, |
| "description": "The various variants of the binary, per architecture and API level", |
| "items": { |
| "$ref": "#/definitions/variant" |
| }, |
| "type": "array" |
| }, |
| "deps": { |
| "description": "List of C/C++ libraries this library depends on", |
| "items": { |
| "$ref": "common.json#/definitions/cc_library_name" |
| }, |
| "type": "array" |
| }, |
| "format": { |
| "description": "The distribution format of the binaries", |
| "enum": [ |
| "shared", |
| "static" |
| ], |
| "type": "string" |
| }, |
| "headers": { |
| "description": "List of public headers", |
| "items": { |
| "$ref": "common.json#/definitions/file" |
| }, |
| "type": "array" |
| }, |
| "ifs": { |
| "description": "LLVM IFS file used to describe the ABI of the library", |
| "type": "string" |
| }, |
| "include_dir": { |
| "$ref": "common.json#/definitions/file", |
| "description": "Path to the base directory for includes" |
| }, |
| "name": { |
| "$ref": "common.json#/definitions/cc_library_name", |
| "description": "Name of the library" |
| }, |
| "root": { |
| "description": "The root of the element in the SDK", |
| "type": "string" |
| }, |
| "type": { |
| "allOf": [ |
| { |
| "$ref": "common.json#/definitions/kind" |
| }, |
| { |
| "enum": [ |
| "cc_prebuilt_library" |
| ] |
| } |
| ] |
| } |
| }, |
| "required": [ |
| "deps", |
| "format", |
| "headers", |
| "include_dir", |
| "root", |
| "name", |
| "type" |
| ] |
| } |
| ], |
| "definitions": { |
| "binaryGroup": { |
| "description": "A set of binary files compiled for a given architecture", |
| "properties": { |
| "debug": { |
| "$ref": "common.json#/definitions/file", |
| "description": "The unstripped version of the library" |
| }, |
| "dist": { |
| "$ref": "common.json#/definitions/file", |
| "description": "The version of the library to add to Fuchsia packages" |
| }, |
| "dist_path": { |
| "$ref": "common.json#/definitions/file", |
| "description": "Path where the library should be installed in Fuchsia packages" |
| }, |
| "link": { |
| "$ref": "common.json#/definitions/file", |
| "description": "The link-time version of the library" |
| } |
| }, |
| "required": [ |
| "link" |
| ], |
| "type": "object" |
| }, |
| "variant": { |
| "additionalProperties": false, |
| "description": "A set of binary files compiled for a given architecture and API level", |
| "properties": { |
| "constraints": { |
| "additionalProperties": false, |
| "description": "The architecture and API level information", |
| "properties": { |
| "api_level": { |
| "type": "integer", |
| "description": "API level" |
| }, |
| "arch": { |
| "$ref": "common.json#/definitions/target_arch", |
| "description": "architecture" |
| } |
| }, |
| "type": "object" |
| }, |
| "values": { |
| "additionalProperties": false, |
| "description": "binary files for a given constraint", |
| "properties": { |
| "debug": { |
| "$ref": "common.json#/definitions/file", |
| "description": "The unstripped version of the library" |
| }, |
| "dist_lib": { |
| "$ref": "common.json#/definitions/file", |
| "description": "The version of the library to add to Fuchsia packages" |
| }, |
| "dist_lib_dest": { |
| "$ref": "common.json#/definitions/file", |
| "description": "Path where the library should be installed in Fuchsia packages" |
| }, |
| "link_lib": { |
| "$ref": "common.json#/definitions/file", |
| "description": "The link-time version of the library" |
| } |
| }, |
| "required": [ |
| "link_lib" |
| ], |
| "type": "object" |
| } |
| }, |
| "required": [ |
| "constraints", |
| "values" |
| ], |
| "type": "object" |
| } |
| }, |
| "description": "A prebuilt C/C++ library", |
| "id": "http://fuchsia.com/schemas/sdk/cc_prebuilt_library.json", |
| "type": "object" |
| } |