blob: 4067d7cb3ec4ef8352054df5287c5de7886da8f4 [file] [log] [blame]
<%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",
]
}