blob: 042fa123630712277a0c99722bdaf864034befd5 [file] [log] [blame]
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
assert(is_fuchsia)
import("//build/config/fuchsia/fidl_library.gni")
# Templates for Fuchsia SDK packages.
# Declares a package specifying FIDL files and its dependencies.
#
# Parameters:
# package_name - Name of the library. target_name is used if name
# is not specified explicitly.
# namespace - FIDL namespace.
# sources - List of sources relative to sdk/fidl/${name}.
# deps - List of dependencies.
template("fuchsia_sdk_fidl_pkg") {
_package_name = target_name
if (defined(invoker.package_name)) {
_package_name = invoker.package_name
}
fidl_library(target_name) {
forward_variables_from(invoker,
[
"deps",
"public_deps",
"testonly",
"visibility",
])
library_name = _package_name
if (defined(invoker.namespace)) {
namespace = invoker.namespace
}
sources = invoker.sources
}
}
# Declares a package containing uncompiled code and/or precompiled libraries.
#
# Parameters:
# package_name - Name of the library. target_name is used if name
# is not specified explicitly.
# sources - List of sources relative to sdk/pkg/${name}.
# deps - List of dependencies.
# libs - List of precompiled libraries.
template("fuchsia_sdk_pkg") {
_package_name = target_name
if (defined(invoker.package_name)) {
_package_name = invoker.package_name
}
config("${target_name}_config") {
visibility = [ ":${invoker.target_name}" ]
include_dirs = [ "sdk/pkg/${_package_name}/include" ]
}
static_library(target_name) {
forward_variables_from(invoker,
[
"data",
"deps",
"public_deps",
"testonly",
"visibility",
])
sources = []
if (defined(invoker.sources)) {
foreach(src, invoker.sources) {
sources += [ "sdk/pkg/${_package_name}/${src}" ]
}
}
public_configs = [ ":${invoker.target_name}_config" ]
if (defined(invoker.libs)) {
configs += [ ":sdk_lib_dirs_config" ]
libs = invoker.libs
}
}
}