| <%include file="header.mako" /> |
| |
| import("//build/cpp/verify_pragma_once.gni") |
| import("//build/sdk/sdk_atom.gni") |
| |
| config("${data.name}_config") { |
| include_dirs = [ |
| % for include in sorted(data.include_dirs): |
| "${include}", |
| % endfor |
| ] |
| |
| visibility = [ |
| ":*", |
| ] |
| } |
| |
| source_set("${data.name}") { |
| sources = [ |
| % for _, source in sorted(data.sources.iteritems()): |
| "${source}", |
| % endfor |
| % for _, source in sorted(data.includes.iteritems()): |
| "${source}", |
| % endfor |
| ] |
| |
| public_deps = [ |
| % 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 |
| ] |
| |
| libs = [ |
| % for lib in sorted(data.libs): |
| "${lib}", |
| % endfor |
| ] |
| |
| public_configs = [ |
| ":${data.name}_config", |
| ] |
| |
| % if data.depends_on_zircon: |
| if (is_fuchsia) { |
| libs += ["zircon"] |
| } else { |
| public_deps += [ "//zircon/system/public" ] |
| } |
| % endif |
| } |
| |
| file_base = "pkg/${data.name}" |
| metadata = { |
| name = "${data.name}" |
| type = "cc_source_library" |
| root = file_base |
| include_dir = "$file_base/include" |
| |
| sources = [] |
| % for dest, _ in sorted(data.sources.iteritems()): |
| sources += [ "$file_base/${dest}" ] |
| % endfor |
| |
| headers = [] |
| % for dest, _ in sorted(data.includes.iteritems()): |
| headers += [ "$file_base/include/${dest}" ] |
| % endfor |
| |
| deps = [] |
| % for dep in sorted(data.sdk_deps): |
| deps += [ "${dep}" ] |
| % endfor |
| |
| fidl_deps = [] |
| banjo_deps = [] |
| } |
| |
| verify_pragma_once("${data.name}_pragma") { |
| headers = [ |
| % for _, source in sorted(data.includes.iteritems()): |
| "${source}", |
| % endfor |
| ] |
| } |
| |
| sdk_atom("${data.name}_sdk") { |
| id = "sdk://pkg/${data.name}" |
| category = "partner" |
| |
| meta = { |
| dest = "$file_base/meta.json" |
| schema = "cc_source_library" |
| value = metadata |
| } |
| |
| files = [ |
| % for dest, source in sorted(data.includes.iteritems()): |
| { |
| source = "${source}" |
| dest = "$file_base/include/${dest}" |
| }, |
| % endfor |
| % for dest, source in sorted(data.sources.iteritems()): |
| { |
| source = "${source}" |
| dest = "$file_base/${dest}" |
| }, |
| % endfor |
| ] |
| |
| deps = [ |
| % for dep in sorted(data.sdk_deps): |
| "../${dep}:${dep}_sdk", |
| % endfor |
| ] |
| |
| non_sdk_deps = [ |
| ":${data.name}_pragma", |
| ] |
| } |