# Copyright (c) 2013 The Chromium 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/config/jumbo.gni")
import("//testing/test.gni")
import("//testing/libfuzzer/fuzzer_test.gni")

jumbo_static_library("gn_lib") {
  configs += [ "//build/config:precompiled_headers" ]

  sources = [
    "action_target_generator.cc",
    "action_target_generator.h",
    "action_values.cc",
    "action_values.h",
    "analyzer.cc",
    "analyzer.h",
    "args.cc",
    "args.h",
    "binary_target_generator.cc",
    "binary_target_generator.h",
    "build_settings.cc",
    "build_settings.h",
    "builder.cc",
    "builder.h",
    "builder_record.cc",
    "builder_record.h",
    "bundle_data.cc",
    "bundle_data.h",
    "bundle_data_target_generator.cc",
    "bundle_data_target_generator.h",
    "bundle_file_rule.cc",
    "bundle_file_rule.h",
    "c_include_iterator.cc",
    "c_include_iterator.h",
    "command_analyze.cc",
    "command_args.cc",
    "command_check.cc",
    "command_clean.cc",
    "command_desc.cc",
    "command_format.cc",
    "command_format.h",
    "command_gen.cc",
    "command_help.cc",
    "command_ls.cc",
    "command_path.cc",
    "command_refs.cc",
    "commands.cc",
    "commands.h",
    "config.cc",
    "config.h",
    "config_values.cc",
    "config_values.h",
    "config_values_extractors.cc",
    "config_values_extractors.h",
    "config_values_generator.cc",
    "config_values_generator.h",
    "copy_target_generator.cc",
    "copy_target_generator.h",
    "create_bundle_target_generator.cc",
    "create_bundle_target_generator.h",
    "deps_iterator.cc",
    "deps_iterator.h",
    "desc_builder.cc",
    "desc_builder.h",
    "eclipse_writer.cc",
    "eclipse_writer.h",
    "err.cc",
    "err.h",
    "escape.cc",
    "escape.h",
    "exec_process.cc",
    "exec_process.h",
    "filesystem_utils.cc",
    "filesystem_utils.h",
    "function_exec_script.cc",
    "function_foreach.cc",
    "function_forward_variables_from.cc",
    "function_get_label_info.cc",
    "function_get_path_info.cc",
    "function_get_target_outputs.cc",
    "function_process_file_template.cc",
    "function_read_file.cc",
    "function_rebase_path.cc",
    "function_set_default_toolchain.cc",
    "function_set_defaults.cc",
    "function_template.cc",
    "function_toolchain.cc",
    "function_write_file.cc",
    "functions.cc",
    "functions.h",
    "functions_target.cc",
    "group_target_generator.cc",
    "group_target_generator.h",
    "header_checker.cc",
    "header_checker.h",
    "import_manager.cc",
    "import_manager.h",
    "inherited_libraries.cc",
    "inherited_libraries.h",
    "input_conversion.cc",
    "input_conversion.h",
    "input_file.cc",
    "input_file.h",
    "input_file_manager.cc",
    "input_file_manager.h",
    "item.cc",
    "item.h",
    "json_project_writer.cc",
    "json_project_writer.h",
    "label.cc",
    "label.h",
    "label_pattern.cc",
    "label_pattern.h",
    "label_ptr.h",
    "lib_file.cc",
    "lib_file.h",
    "loader.cc",
    "loader.h",
    "location.cc",
    "location.h",
    "ninja_action_target_writer.cc",
    "ninja_action_target_writer.h",
    "ninja_binary_target_writer.cc",
    "ninja_binary_target_writer.h",
    "ninja_build_writer.cc",
    "ninja_build_writer.h",
    "ninja_bundle_data_target_writer.cc",
    "ninja_bundle_data_target_writer.h",
    "ninja_copy_target_writer.cc",
    "ninja_copy_target_writer.h",
    "ninja_create_bundle_target_writer.cc",
    "ninja_create_bundle_target_writer.h",
    "ninja_group_target_writer.cc",
    "ninja_group_target_writer.h",
    "ninja_target_writer.cc",
    "ninja_target_writer.h",
    "ninja_toolchain_writer.cc",
    "ninja_toolchain_writer.h",
    "ninja_utils.cc",
    "ninja_utils.h",
    "ninja_writer.cc",
    "ninja_writer.h",
    "operators.cc",
    "operators.h",
    "output_file.cc",
    "output_file.h",
    "parse_node_value_adapter.cc",
    "parse_node_value_adapter.h",
    "parse_tree.cc",
    "parse_tree.h",
    "parser.cc",
    "parser.h",
    "path_output.cc",
    "path_output.h",
    "pattern.cc",
    "pattern.h",
    "pool.cc",
    "pool.h",
    "qt_creator_writer.cc",
    "qt_creator_writer.h",
    "runtime_deps.cc",
    "runtime_deps.h",
    "scheduler.cc",
    "scheduler.h",
    "scope.cc",
    "scope.h",
    "scope_per_file_provider.cc",
    "scope_per_file_provider.h",
    "settings.cc",
    "settings.h",
    "setup.cc",
    "setup.h",
    "source_dir.cc",
    "source_dir.h",
    "source_file.cc",
    "source_file.h",
    "source_file_type.cc",
    "source_file_type.h",
    "standard_out.cc",
    "standard_out.h",
    "string_utils.cc",
    "string_utils.h",
    "substitution_list.cc",
    "substitution_list.h",
    "substitution_pattern.cc",
    "substitution_pattern.h",
    "substitution_type.cc",
    "substitution_type.h",
    "substitution_writer.cc",
    "substitution_writer.h",
    "switches.cc",
    "switches.h",
    "target.cc",
    "target.h",
    "target_generator.cc",
    "target_generator.h",
    "template.cc",
    "template.h",
    "token.cc",
    "token.h",
    "tokenizer.cc",
    "tokenizer.h",
    "tool.cc",
    "tool.h",
    "toolchain.cc",
    "toolchain.h",
    "trace.cc",
    "trace.h",
    "unique_vector.h",
    "value.cc",
    "value.h",
    "value_extractors.cc",
    "value_extractors.h",
    "variables.cc",
    "variables.h",
    "visibility.cc",
    "visibility.h",
    "visual_studio_utils.cc",
    "visual_studio_utils.h",
    "visual_studio_writer.cc",
    "visual_studio_writer.h",
    "xcode_object.cc",
    "xcode_object.h",
    "xcode_writer.cc",
    "xcode_writer.h",
    "xml_element_writer.cc",
    "xml_element_writer.h",
  ]

  deps = [
    "//base",
    "//base/third_party/dynamic_annotations",
  ]
}

action("last_commit_position") {
  script = "last_commit_position.py"

  # This dependency forces a re-run when the code is synced.
  inputs = [
    "//build/util/LASTCHANGE",
  ]

  outfile = "$target_gen_dir/last_commit_position.h"
  outputs = [
    outfile,
  ]

  args = [
    rebase_path("//", root_build_dir),
    rebase_path(outfile, root_build_dir),
    "TOOLS_GN_LAST_COMMIT_POSITION_H_",
  ]
}

# Note for Windows debugging: GN is super-multithreaded and uses a lot of STL.
# Iterator debugging on Windows does locking for every access, which ends up
# slowing down debug runtime from 0:36 to 9:40. If you want to run debug builds
# of GN over the large Chrome build, you will want to set the arg:
#   enable_iterator_debugging = false
executable("gn") {
  defines = [ "GN_BUILD" ]
  sources = [
    "gn_main.cc",
  ]

  deps = [
    ":gn_lib",
    ":last_commit_position",
    "//base",
    "//build/config:exe_and_shlib_deps",
    "//build/win:default_exe_manifest",
  ]
}

test("gn_unittests") {
  deps = [
    ":gn_unittests_sources",
  ]

  data = [
    "format_test_data/",
  ]
}

jumbo_source_set("gn_unittests_sources") {
  testonly = true

  sources = [
    "action_target_generator_unittest.cc",
    "analyzer_unittest.cc",
    "args_unittest.cc",
    "builder_unittest.cc",
    "c_include_iterator_unittest.cc",
    "command_format_unittest.cc",
    "config_unittest.cc",
    "config_values_extractors_unittest.cc",
    "escape_unittest.cc",
    "exec_process_unittest.cc",
    "filesystem_utils_unittest.cc",
    "function_foreach_unittest.cc",
    "function_forward_variables_from_unittest.cc",
    "function_get_label_info_unittest.cc",
    "function_get_path_info_unittest.cc",
    "function_get_target_outputs_unittest.cc",
    "function_process_file_template_unittest.cc",
    "function_rebase_path_unittest.cc",
    "function_template_unittest.cc",
    "function_toolchain_unittest.cc",
    "function_write_file_unittest.cc",
    "functions_target_unittest.cc",
    "functions_unittest.cc",
    "header_checker_unittest.cc",
    "inherited_libraries_unittest.cc",
    "input_conversion_unittest.cc",
    "label_pattern_unittest.cc",
    "label_unittest.cc",
    "loader_unittest.cc",
    "ninja_action_target_writer_unittest.cc",
    "ninja_binary_target_writer_unittest.cc",
    "ninja_build_writer_unittest.cc",
    "ninja_bundle_data_target_writer_unittest.cc",
    "ninja_copy_target_writer_unittest.cc",
    "ninja_create_bundle_target_writer_unittest.cc",
    "ninja_group_target_writer_unittest.cc",
    "ninja_target_writer_unittest.cc",
    "ninja_toolchain_writer_unittest.cc",
    "operators_unittest.cc",
    "parse_tree_unittest.cc",
    "parser_unittest.cc",
    "path_output_unittest.cc",
    "pattern_unittest.cc",
    "runtime_deps_unittest.cc",
    "scope_per_file_provider_unittest.cc",
    "scope_unittest.cc",
    "source_dir_unittest.cc",
    "source_file_unittest.cc",
    "string_utils_unittest.cc",
    "substitution_pattern_unittest.cc",
    "substitution_writer_unittest.cc",
    "target_unittest.cc",
    "template_unittest.cc",
    "test_with_scheduler.cc",
    "test_with_scheduler.h",
    "test_with_scope.cc",
    "test_with_scope.h",
    "tokenizer_unittest.cc",
    "unique_vector_unittest.cc",
    "value_unittest.cc",
    "visibility_unittest.cc",
    "visual_studio_utils_unittest.cc",
    "visual_studio_writer_unittest.cc",
    "xcode_object_unittest.cc",
    "xml_element_writer_unittest.cc",
  ]

  public_deps = [
    ":gn_lib",
    "//base/test:run_all_unittests",
    "//base/test:test_support",
    "//testing/gtest",
  ]
}

fuzzer_test("gn_parser_fuzzer") {
  sources = [
    "parser_fuzzer.cc",
  ]
  deps = [
    ":gn_lib",
  ]
}
