| <%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" |
| 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", |
| ] |
| } |