blob: 96b608f60706b1b7b7e69f64b5410e5b4a98faad [file] [log] [blame]
# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Generates GLib bindings.
#
# Parameters:
# dbus_glib_out_dir: generated files' output directory.
# dbus_glib_prefix: the prefix of the functions in the generated output.
# dbus_glib_type (optional): 'client' (default) or 'server' specifying
# generated bindings mode.
# dbus_glib_header_stem (optional): the prefix of generated file names.
# Defaults to the corresponding source's name part.
#
template("generate_dbus_glib") {
forward_variables_from(invoker,
[
"dbus_glib_out_dir",
"dbus_glib_prefix",
"dbus_glib_type",
"dbus_glib_header_stem",
])
if (!defined(dbus_glib_type)) {
dbus_glib_type = "client"
}
if (!defined(dbus_glib_header_stem)) {
dbus_glib_header_stem = "{{source_name_part}}"
}
dbus_glib_output = "${root_gen_dir}/${dbus_glib_out_dir}/${dbus_glib_header_stem}.dbus${dbus_glib_type}.h"
action_foreach(target_name) {
sources = invoker.sources
script = "//common-mk/file_generator_wrapper.py"
outputs = [
"${dbus_glib_output}",
]
args = [
"dbus-binding-tool",
"{{source}}",
"--mode=glib-${dbus_glib_type}",
"--prefix=${dbus_glib_prefix}",
"--output=${dbus_glib_output}",
]
}
}