# Copyright 2022 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/go/go_library.gni")
import("//build/go/go_test.gni")

assert(is_host)

go_library("docgen") {
  sources = [
    "index.go",
    "read_header.go",
    "read_header_test.go",
    "write.go",
    "write_comment.go",
    "write_comment_test.go",
    "write_define.go",
    "write_define_test.go",
    "write_enum.go",
    "write_function.go",
    "write_function_test.go",
    "write_header.go",
    "write_header_test.go",
    "write_index.go",
    "write_record.go",
    "write_record_test.go",
    "write_test.go",
    "write_toc.go",
    "write_typedef.go",
  ]
  deps = [ "../clangdoc" ]
}

# This target appears in the output directory as "host_x64/docgen_test" and can be built and run
# using that path.
go_test("test") {
  library = ":docgen"
  output_name = "docgen_test"
  deps = [ "../clangdoc" ]
}
