blob: 66c36a9c64bdca41f20eed195a4b10ac0ab76ac4 [file] [edit]
# Copyright 2018 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# TODO(crbug.com/983008): Unify build rule of generate_dbus_proxies and
# generate_dbus_adaptors for easy to maintain.
template("generate_dbus_adaptors") {
forward_variables_from(invoker,
[
"dbus_adaptors_out_dir",
"dbus_service_config",
])
h_dir = "${root_gen_dir}/${dbus_adaptors_out_dir}"
if (!defined(dbus_service_config) || dbus_service_config == "") {
service_config = ""
} else {
service_config = rebase_path(dbus_service_config)
}
# TODO(crbug.com/983008): Use action to simplify the bindings by unifying
# with proxy generator.
action_foreach(target_name) {
sources = invoker.sources
inputs = [ "/usr/bin/go-generate-chromeos-dbus-bindings" ]
script = "//common-mk/file_generator_wrapper.py"
outputs = [ "${h_dir}/{{source_name_part}}.h" ]
args = [
"go-generate-chromeos-dbus-bindings",
"-adaptor=${h_dir}/{{source_name_part}}.h",
"-service-config=${service_config}",
]
# Note: the feature is not yet completely working yet. Investigation
# is on-going.
if (defined(invoker.use_adaptor_method) && invoker.use_adaptor_method) {
args += [ "-use-adaptor-method" ]
}
args += [ "{{source}}" ]
}
}