# 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.

template("genxml2cpp") {
  forward_variables_from(invoker,
                         [
                           "xml2cpp_type",
                           "xml2cpp_out_dir",
                         ])
  h_dir = "${root_gen_dir}/${xml2cpp_out_dir}"
  action_foreach(target_name) {
    sources = invoker.sources
    script = "//common-mk/file_generator_wrapper.py"
    outputs = [ "${h_dir}/{{source_name_part}}.h" ]
    args = [
      "dbusxx-xml2cpp",
      "{{source}}",
      "--${xml2cpp_type}=${h_dir}/{{source_name_part}}.h",
      "--sync",
      "--async",
    ]
  }
}
