Compiler projects using llvm
# This file introduces a template for running lldb-tblgen.
#
# Parameters:
#
#   args (required)
#       [list of strings] Flags to pass to lldb-tblgen.
#
#   output_name (optional)
#       Basename of the generated output file.
#       Defaults to target name with ".inc" appended.
#
#   td_file (optional)
#       The .td file to pass to llvm-tblgen.
#       Defaults to target name with ".td" appended.
#
#   visibility (optional)
#       GN's regular visibility attribute, see `gn help visibility`.
#
# Example of usage:
#
#   lldb_tablegen("CorePropertiesEnum") {
#     args = [ "-gen-lldb-property-enum-defs" ]
#     td_file = "CoreProperties.td"
#   }

import("//llvm/utils/TableGen/tablegen.gni")

template("lldb_tablegen") {
  tablegen(target_name) {
    forward_variables_from(invoker,
                           [
                             "output_name",
                             "td_file",
                             "visibility",
                           ])

    args = [
             #"-I",
             #rebase_path("//lldb/include", root_build_dir),
           ] + invoker.args
    tblgen_target = "//lldb/utils/TableGen:lldb-tblgen"
  }
}