blob: e176e113f934a1ea20bbb06f9a7c3c51be7c99a9 [file] [log] [blame]
<%include file="header.mako" />
import("//build/sdk/sdk_atom.gni")
_lib = "$target_out_dir/${data.lib_name}"
copy("${data.name}_copy_lib") {
sources = [
"${data.prebuilt}",
]
outputs = [
_lib,
]
}
config("${data.name}_config") {
include_dirs = [
% for include in sorted(data.include_dirs):
"${include}",
% endfor
]
libs = [
_lib,
]
visibility = [
":*",
]
}
group("${data.name}") {
public_deps = [
":${data.name}_copy_lib",
% for dep in sorted(data.deps):
"../${dep}",
% endfor
% for dep in sorted(data.fidl_deps):
"../../fidl/${dep}:${dep}_c",
% endfor
% for dep in sorted(data.banjo_deps):
"../../banjo/${dep}:${dep}",
% endfor
]
public_configs = [
":${data.name}_config",
]
}
file_base = "pkg/${data.name}"
prebuilt_base = "arch/$target_cpu"
binaries_content = {
link = "$prebuilt_base/lib/${data.lib_name}"
}
metadata = {
name = "${data.name}"
type = "cc_prebuilt_library"
root = file_base
format = "static"
include_dir = "$file_base/include"
headers = []
% for dest, _ in sorted(data.includes.iteritems()):
headers += [ "$file_base/include/${dest}" ]
% endfor
binaries = {}
if (target_cpu == "arm64") {
binaries.arm64 = binaries_content
} else if (target_cpu == "x64") {
binaries.x64 = binaries_content
} else {
assert(false, "Unknown CPU type: %target_cpu")
}
deps = []
% for dep in sorted(data.sdk_deps):
deps += [ "${dep}" ]
% endfor
}
sdk_atom("${data.name}_sdk") {
id = "sdk://pkg/${data.name}"
category = "partner"
meta = {
dest = "$file_base/meta.json"
schema = "cc_prebuilt_library"
value = metadata
}
files = [
% for dest, source in sorted(data.includes.iteritems()):
{
source = "${source}"
dest = "$file_base/include/${dest}"
},
% endfor
{
source = _lib
dest = "$prebuilt_base/lib/${data.lib_name}"
},
]
deps = [
% for dep in sorted(data.sdk_deps):
"../${dep}:${dep}_sdk",
% endfor
]
non_sdk_deps = [
":${data.name}",
]
}