blob: 39373cc4fd65788226f8f36c9693773d90c4a569 [file] [log] [blame]
<%include file="header.mako" />
import("//build/sdk/sdk_atom.gni")
_out_dir = get_label_info(":bogus", "target_out_dir")
<%def name="copy_target(path)">${"copy_%s" % path.replace('/', '_').replace('.', '_')}</%def>
% for path, file in sorted(data.files.iteritems()):
copy("${copy_target(path)}") {
sources = [
"${file}",
]
outputs = [
"$_out_dir/sysroot/${path}",
]
}
% endfor
group("sysroot") {
deps = [
% for path, file in sorted(data.files.iteritems()):
":${copy_target(path)}",
% endfor
]
}
file_base = "arch/$target_cpu/sysroot"
version_content = {
root = file_base
include_dir = "$file_base/include"
headers = []
% for header in sorted(data.headers):
headers += [ "$file_base/${header}" ]
% endfor
link_libs = []
% for lib in sorted(data.link_libs):
link_libs += [ "$file_base/${lib}" ]
% endfor
dist_libs = []
% for lib in sorted(data.dist_libs):
dist_libs += [ "$file_base/${lib}" ]
% endfor
}
metadata = {
type = "sysroot"
name = "sysroot"
root = "pkg/sysroot"
versions = {}
if (target_cpu == "arm64") {
versions.arm64 = version_content
} else if (target_cpu == "x64") {
versions.x64 = version_content
} else {
assert(false, "Unknown CPU type: %target_cpu")
}
}
base_meta_file = "$target_gen_dir/sysroot.base_meta.json"
write_file(base_meta_file, metadata, "json")
augmented_meta_file = "$target_gen_dir/sysroot.full_meta.json"
debug_mapping_file = "$target_gen_dir/sysroot.mapping.txt"
action("sysroot_meta") {
script = "//build/zircon/add_sysroot_debug_data.py"
inputs = [
base_meta_file,
% for lib in sorted(data.debug_source_libs):
"${lib}",
% endfor
]
outputs = [
augmented_meta_file,
]
args = [
"--base",
rebase_path(base_meta_file),
"--out",
rebase_path(augmented_meta_file),
"--debug-mapping",
rebase_path(debug_mapping_file),
% for lib in sorted(data.debug_source_libs):
"--lib-debug-file",
rebase_path("${lib}"),
% endfor
]
deps = [
":sysroot",
]
}
sdk_atom("sysroot_sdk") {
id = "sdk://pkg/sysroot"
category = "partner"
meta = {
dest = "pkg/sysroot/meta.json"
schema = "sysroot"
source = augmented_meta_file
}
files = [
% for path, file in sorted(data.sdk_files.iteritems()):
{
source = "${file}"
dest = "$file_base/${path}"
},
% endfor
]
file_list = debug_mapping_file
non_sdk_deps = [
":sysroot",
":sysroot_meta",
]
}