blob: cbb1af895a5e6a7424504c5456f3cbefbba251ed [file] [log] [blame]
{
"$schema": "http://json-schema.org/draft-07/schema#",
"allOf": [
{
"$ref": "common.json#/definitions/sdk_element"
},
{
"additionalProperties": false,
"properties": {
"name": {
"description": "Always 'sysroot'",
"enum": [
"sysroot"
],
"type": "string"
},
"type": {
"allOf": [
{
"$ref": "common.json#/definitions/kind"
},
{
"enum": [
"sysroot"
]
}
]
},
"ifs_files": {
"description": "List of LLVM IFS files used to describe the ABIs of libraries in the sysroot",
"items": {
"$ref": "common.json#/definitions/file"
},
"type": "array"
},
"versions": {
"additionalProperties": false,
"description": "The various versions of the sysroot, per architecture",
"properties": {
"arm64": {
"$ref": "#/definitions/version",
"description": "arm64 version"
},
"riscv64": {
"$ref": "#/definitions/version",
"description": "riscv64 version"
},
"x64": {
"$ref": "#/definitions/version",
"description": "x64 version"
}
},
"type": "object"
},
"variants": {
"additionalProperties": false,
"description": "The various variants of the sysroot, per architecture and API level",
"items": {
"$ref": "#/definitions/variant"
},
"type": "array"
}
},
"required": [
"name",
"type"
]
}
],
"definitions": {
"version": {
"additionalProperties": false,
"description": "Sysroot files for a given architecture",
"properties": {
"debug_libs": {
"description": "List of libraries for debugging",
"items": {
"$ref": "common.json#/definitions/file"
},
"type": "array"
},
"dist_dir": {
"$ref": "common.json#/definitions/file",
"description": "Path to the base directory for prebuilt libraries"
},
"dist_libs": {
"description": "List of libraries for inclusion in packages",
"items": {
"$ref": "common.json#/definitions/file"
},
"type": "array"
},
"headers": {
"description": "List of public headers",
"items": {
"$ref": "common.json#/definitions/file"
},
"type": "array"
},
"include_dir": {
"$ref": "common.json#/definitions/file",
"description": "Path to the base directory for includes"
},
"link_libs": {
"description": "List of link-time libraries",
"items": {
"$ref": "common.json#/definitions/file"
},
"type": "array"
},
"root": {
"$ref": "common.json#/definitions/file",
"description": "Path to the root of the sysroot"
}
},
"required": [
"root",
"headers",
"include_dir",
"link_libs",
"dist_libs",
"debug_libs",
"dist_dir"
],
"type": "object"
},
"variant": {
"additionalProperties": false,
"description": "Sysroot files 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": "sysroot files for a given constraint",
"properties": {
"sysroot_dir": {
"$ref": "common.json#/definitions/file",
"description": "Path to the base directory for prebuilt libraries"
},
"dist_libs": {
"description": "List of libraries for inclusion in packages",
"items": {
"$ref": "common.json#/definitions/file"
},
"type": "array"
},
"headers": {
"description": "List of public headers",
"items": {
"$ref": "common.json#/definitions/file"
},
"type": "array"
},
"include_dir": {
"$ref": "common.json#/definitions/file",
"description": "Path to the base directory for includes"
},
"link_libs": {
"description": "List of link-time libraries",
"items": {
"$ref": "common.json#/definitions/file"
},
"type": "array"
},
"root": {
"$ref": "common.json#/definitions/file",
"description": "Path to the root of the sysroot"
}
},
"required": [
"root",
"headers",
"include_dir",
"link_libs",
"dist_libs",
"debug_libs",
"sysroot_dir"
],
"type": "object"
}
},
"required": [
"constraints",
"values"
],
"type": "object"
}
},
"description": "The sysroot",
"id": "http://fuchsia.com/schemas/sdk/sysroot.json",
"type": "object"
}