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

# Chrome elf targets (excepting tests) should only link in kernel32.
# Please don't add dependencies on any other system libraries.

import("//build/config/compiler/compiler.gni")
import("//build/config/win/manifest.gni")
import("//chrome/process_version_rc_template.gni")
import("//testing/test.gni")

##------------------------------------------------------------------------------
## chrome_elf
##------------------------------------------------------------------------------

process_version_rc_template("chrome_elf_resources") {
  sources = [
    "chrome_elf.ver",
  ]
  output = "$target_gen_dir/chrome_elf_version.rc"
}

# This manifest matches what GYP produces. It may not even be necessary.
windows_manifest("chrome_elf_manifest") {
  sources = [
    as_invoker_manifest,
  ]
  type = "dll"
}

# We should move chrome_result_codes.h to another target which does not bring
# in the world.
shared_library("chrome_elf") {
  sources = [
    "chrome_elf.def",
    "chrome_elf_main.cc",
    "chrome_elf_main.h",
  ]
  deps = [
    ":blacklist",
    ":chrome_elf_manifest",
    ":chrome_elf_resources",
    ":constants",
    ":crash",
    ":hook_util",
    ":nt_registry",
    ":security",
    "//build/config/sanitizers:deps",
    "//chrome/install_static:install_static_util",
    "//chrome/install_static:primary_module",
  ]
  configs += [ "//build/config/win:windowed" ]
  configs -= [ "//build/config/win:console" ]

  # Delay loads in this list will prevent user32.dll
  # from loading too early.
  ldflags = [
    "/DELAYLOAD:advapi32.dll",
    "/DELAYLOAD:dbghelp.dll",
    "/DELAYLOAD:rpcrt4.dll",
    "/DELAYLOAD:winmm.dll",
  ]
  if (current_cpu == "x86") {
    # Don"t set an x64 base address (to avoid breaking HE-ASLR).
    ldflags += [ "/BASE:0x01c20000" ]
  }
}

##------------------------------------------------------------------------------
## source sets
##------------------------------------------------------------------------------

source_set("security") {
  sources = [
    "chrome_elf_security.cc",
    "chrome_elf_security.h",
  ]
  deps = [
    ":constants",
    ":nt_registry",
    "//chrome/install_static:install_static_util",
  ]
}

source_set("constants") {
  sources = [
    "chrome_elf_constants.cc",
    "chrome_elf_constants.h",
  ]
}

source_set("dll_hash") {
  deps = [
    "//base",
  ]
  sources = [
    "dll_hash/dll_hash.cc",
    "dll_hash/dll_hash.h",
  ]
}

##------------------------------------------------------------------------------
## chrome_elf sub targets
##------------------------------------------------------------------------------

executable("dll_hash_main") {
  sources = [
    "dll_hash/dll_hash_main.cc",
  ]
  deps = [
    ":dll_hash",
    "//build/config/sanitizers:deps",
    "//build/win:default_exe_manifest",
  ]
}

static_library("blacklist") {
  sources = [
    "blacklist/blacklist.cc",
    "blacklist/blacklist.h",
    "blacklist/blacklist_interceptions.cc",
    "blacklist/blacklist_interceptions.h",
  ]
  public_deps = [
    "//sandbox",
  ]
  deps = [
    ":constants",
    ":crash",
    ":hook_util",
    ":nt_registry",
    "//base:base_static",  # pe_image
    "//chrome/install_static:install_static_util",
  ]
}

static_library("crash") {
  sources = [
    "../chrome/app/chrome_crash_reporter_client_win.cc",
    "../chrome/app/chrome_crash_reporter_client_win.h",
    "../chrome/common/chrome_result_codes.h",
    "crash/crash_helper.cc",
    "crash/crash_helper.h",
  ]
  deps = [
    ":hook_util",
    "//base:base",  # This needs to go.  DEP of app, crash_keys, client.
    "//base:base_static",  # pe_image
    "//chrome/install_static:install_static_util",
    "//components/crash/content/app:app",
    "//components/crash/core/common",  # crash_keys
    "//components/version_info:channel",
    "//content/public/common:result_codes",
    "//third_party/crashpad/crashpad/client:client",  # DumpWithoutCrash
  ]
}

static_library("hook_util") {
  sources = [
    "../base/macros.h",
    "hook_util/hook_util.cc",
    "hook_util/hook_util.h",
  ]
  deps = [
    ":nt_registry",  # utils
    "//base:base_static",  # pe_image
    "//sandbox",
  ]
}

# This target contains utility functions which must only depend on
# kernel32. Please don't add dependencies on other system libraries.
static_library("nt_registry") {
  sources = [
    "../sandbox/win/src/nt_internals.h",
    "nt_registry/nt_registry.cc",
    "nt_registry/nt_registry.h",
  ]
  if (is_official_build && full_wpo_on_official == true) {
    # This library doen't build with WPO enabled due to a MSVC compiler bug.
    # TODO(pennymac|sebmarchand): Remove this once MS has fixed this compiler
    # bug: https://connect.microsoft.com/VisualStudio/feedback/details/3104499
    configs -= [ "//build/config/compiler:default_optimization" ]
    configs += [ "//build/config/compiler:optimize_no_wpo" ]
  }

  libs = [ "kernel32.lib" ]
}

##------------------------------------------------------------------------------
## tests
##------------------------------------------------------------------------------

test("chrome_elf_unittests") {
  output_name = "chrome_elf_unittests"
  sources = [
    "blacklist/test/blacklist_test.cc",
    "chrome_elf_util_unittest.cc",
    "elf_imports_unittest.cc",
    "hook_util/test/hook_util_test.cc",
    "nt_registry/nt_registry_unittest.cc",
    "run_all_unittests.cc",
  ]
  include_dirs = [ "$target_gen_dir" ]
  deps = [
    ":blacklist",
    ":blacklist_test_main_dll",
    ":constants",
    ":crash",
    ":hook_util",
    ":hook_util_test_dll",
    ":nt_registry",
    ":security",
    "//base",
    "//base/test:test_support",
    "//chrome",
    "//chrome/common:version_header",
    "//chrome/install_static:install_static_util",
    "//chrome/install_static/test:test_support",
    "//sandbox",
    "//testing/gtest",
  ]

  # It's not easily possible to have //chrome in data_deps without changing
  # the //chrome target to bundle up both initial/chrome.exe and chrome.exe.
  # As a workaround, explicitly include a data dep on just chrome.exe, and
  # add //chrome to deps above to make sure it's been built.
  data = [
    "$root_out_dir/chrome.exe",
  ]
  data_deps = [
    ":blacklist_test_dll_1",
    ":blacklist_test_dll_2",
    ":blacklist_test_dll_3",
    ":chrome_elf",
  ]

  # Don't want the test-specific dependencies to affect ChromeElfLoadSanityTest.
  # In particular, a few system DLLs cause user32 to be loaded, which is bad.
  ldflags = [
    "/DELAYLOAD:advapi32.dll",
    "/DELAYLOAD:ole32.dll",
    "/DELAYLOAD:shell32.dll",
    "/DELAYLOAD:user32.dll",
    "/DELAYLOAD:winmm.dll",
  ]
}

shared_library("blacklist_test_main_dll") {
  testonly = true
  sources = [
    "blacklist/test/blacklist_test_main_dll.cc",
    "blacklist/test/blacklist_test_main_dll.def",
    "blacklist/test/blacklist_test_main_dll.h",
  ]
  deps = [
    ":blacklist",
    ":nt_registry",
    "//base",
    "//build/config/sanitizers:deps",
    "//chrome/install_static:install_static_util",
  ]
}

loadable_module("blacklist_test_dll_1") {
  testonly = true
  sources = [
    "blacklist/test/blacklist_test_dll_1.cc",
    "blacklist/test/blacklist_test_dll_1.def",
  ]
  deps = [
    "//build/config/sanitizers:deps",
  ]
}

loadable_module("blacklist_test_dll_2") {
  testonly = true
  sources = [
    "blacklist/test/blacklist_test_dll_2.cc",
    "blacklist/test/blacklist_test_dll_2.def",
  ]
  deps = [
    "//build/config/sanitizers:deps",
  ]
}

# As-is, this does not generate a .lib file because there are no exports and no
# .def file. The current definition of loadable_module does not declare a .lib
# file as an output, so this is OK. If it did (or if this used shared_library
# which does), Ninja would get confused and always rebuild this target because
# it sees a declared output file but that file doesn't exist on disk.
loadable_module("blacklist_test_dll_3") {
  testonly = true
  sources = [
    "blacklist/test/blacklist_test_dll_3.cc",
  ]
  deps = [
    "//build/config/sanitizers:deps",
  ]
}

shared_library("hook_util_test_dll") {
  testonly = true
  sources = [
    "hook_util/test/hook_util_test_dll.cc",
    "hook_util/test/hook_util_test_dll.h",
  ]
  deps = [
    "//build/config/sanitizers:deps",
  ]
}
