# 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/allocator.gni")

# Only executables and not libraries should depend on the allocator target;
# only the application (the final executable) knows what allocator makes sense.
# This "allocator" meta-target will forward to the default allocator according
# to the build settings.
group("allocator") {
  if (use_allocator == "tcmalloc") {
    deps = [ ":tcmalloc" ]
  }
}

# This config and libc modification are only used on Windows.
if (is_win) {
  import("//build/config/win/visual_studio_version.gni")

  config("nocmt") {
    ldflags = [
      "/NODEFAULTLIB:libcmt",
      "/NODEFAULTLIB:libcmtd",
    ]
    libs = [ rebase_path("$target_gen_dir/allocator/libcmt.lib") ]
  }

  action("prep_libc") {
    script = "prep_libc.py"
    outputs = [ "$target_gen_dir/allocator/libcmt.lib" ]
    args = [
      visual_studio_path + "/vc/lib",
      rebase_path("$target_gen_dir/allocator"),
      cpu_arch,
    ]
  }
}

if (!is_android) {
  # tcmalloc currently won't compile on Android.
  source_set("tcmalloc") {
    tcmalloc_dir = "//third_party/tcmalloc/chromium"

    sources = [
      # Generated for our configuration from tcmalloc"s build
      # and checked in.
      "$tcmalloc_dir/src/config.h",
      "$tcmalloc_dir/src/config_android.h",
      "$tcmalloc_dir/src/config_linux.h",
      "$tcmalloc_dir/src/config_win.h",

      # tcmalloc native and forked files.
      "$tcmalloc_dir/src/base/abort.cc",
      "$tcmalloc_dir/src/base/abort.h",
      "$tcmalloc_dir/src/base/arm_instruction_set_select.h",
      # We don't list dynamic_annotations.c since its copy is already
      # present in the dynamic_annotations target.
      "$tcmalloc_dir/src/base/elf_mem_image.cc",
      "$tcmalloc_dir/src/base/elf_mem_image.h",
      "$tcmalloc_dir/src/base/linuxthreads.cc",
      "$tcmalloc_dir/src/base/linuxthreads.h",
      "$tcmalloc_dir/src/base/logging.cc",
      "$tcmalloc_dir/src/base/logging.h",
      "$tcmalloc_dir/src/base/low_level_alloc.cc",
      "$tcmalloc_dir/src/base/low_level_alloc.h",
      "$tcmalloc_dir/src/base/spinlock.cc",
      "$tcmalloc_dir/src/base/spinlock.h",
      "$tcmalloc_dir/src/base/spinlock_internal.cc",
      "$tcmalloc_dir/src/base/spinlock_internal.h",
      "$tcmalloc_dir/src/base/synchronization_profiling.h",
      "$tcmalloc_dir/src/base/sysinfo.cc",
      "$tcmalloc_dir/src/base/sysinfo.h",
      "$tcmalloc_dir/src/base/thread_lister.c",
      "$tcmalloc_dir/src/base/thread_lister.h",
      "$tcmalloc_dir/src/base/vdso_support.cc",
      "$tcmalloc_dir/src/base/vdso_support.h",
      "$tcmalloc_dir/src/central_freelist.cc",
      "$tcmalloc_dir/src/central_freelist.h",
      "$tcmalloc_dir/src/common.cc",
      "$tcmalloc_dir/src/common.h",
      # #included by debugallocation_shim.cc
      #"$tcmalloc_dir/src/debugallocation.cc",
      "$tcmalloc_dir/src/deep-heap-profile.cc",
      "$tcmalloc_dir/src/deep-heap-profile.h",
      "$tcmalloc_dir/src/free_list.cc",
      "$tcmalloc_dir/src/free_list.h",
      "$tcmalloc_dir/src/heap-profile-table.cc",
      "$tcmalloc_dir/src/heap-profile-table.h",
      "$tcmalloc_dir/src/heap-profiler.cc",
      "$tcmalloc_dir/src/internal_logging.cc",
      "$tcmalloc_dir/src/internal_logging.h",
      "$tcmalloc_dir/src/linked_list.h",
      "$tcmalloc_dir/src/malloc_extension.cc",
      "$tcmalloc_dir/src/malloc_hook-inl.h",
      "$tcmalloc_dir/src/malloc_hook.cc",
      "$tcmalloc_dir/src/maybe_threads.cc",
      "$tcmalloc_dir/src/maybe_threads.h",
      "$tcmalloc_dir/src/memory_region_map.cc",
      "$tcmalloc_dir/src/memory_region_map.h",
      "$tcmalloc_dir/src/page_heap.cc",
      "$tcmalloc_dir/src/page_heap.h",
      "$tcmalloc_dir/src/profile-handler.cc",
      "$tcmalloc_dir/src/profile-handler.h",
      "$tcmalloc_dir/src/profiledata.cc",
      "$tcmalloc_dir/src/profiledata.h",
      "$tcmalloc_dir/src/profiler.cc",
      "$tcmalloc_dir/src/raw_printer.cc",
      "$tcmalloc_dir/src/raw_printer.h",
      "$tcmalloc_dir/src/sampler.cc",
      "$tcmalloc_dir/src/sampler.h",
      "$tcmalloc_dir/src/span.cc",
      "$tcmalloc_dir/src/span.h",
      "$tcmalloc_dir/src/stack_trace_table.cc",
      "$tcmalloc_dir/src/stack_trace_table.h",
      "$tcmalloc_dir/src/stacktrace.cc",
      "$tcmalloc_dir/src/static_vars.cc",
      "$tcmalloc_dir/src/static_vars.h",
      "$tcmalloc_dir/src/symbolize.cc",
      "$tcmalloc_dir/src/symbolize.h",
      "$tcmalloc_dir/src/system-alloc.cc",
      "$tcmalloc_dir/src/system-alloc.h",
      # #included by debugallocation_shim.cc
      #"$tcmalloc_dir/src/tcmalloc.cc",
      "$tcmalloc_dir/src/thread_cache.cc",
      "$tcmalloc_dir/src/thread_cache.h",
      "$tcmalloc_dir/src/windows/port.cc",
      "$tcmalloc_dir/src/windows/port.h",

      "allocator_shim.cc",
      "allocator_shim.h",
      "debugallocation_shim.cc",

      # These are both #included by allocator_shim for maximal linking.
      #"generic_allocators.cc",
      #"win_allocator.cc",
    ]

    # Disable the heap checker in tcmalloc.
    defines = [ "NO_HEAP_CHECK" ]

    include_dirs = [
      ".",
      "$tcmalloc_dir/src/base",
      "$tcmalloc_dir/src",
    ]

    configs -= [ "//build/config/compiler:chromium_code" ]
    configs += [ "//build/config/compiler:no_chromium_code" ]

    deps = []

    if (is_win) {
      sources -= [
        "$tcmalloc_dir/src/base/elf_mem_image.cc",
        "$tcmalloc_dir/src/base/elf_mem_image.h",
        "$tcmalloc_dir/src/base/linuxthreads.cc",
        "$tcmalloc_dir/src/base/linuxthreads.h",
        "$tcmalloc_dir/src/base/vdso_support.cc",
        "$tcmalloc_dir/src/base/vdso_support.h",
        "$tcmalloc_dir/src/maybe_threads.cc",
        "$tcmalloc_dir/src/maybe_threads.h",
        "$tcmalloc_dir/src/symbolize.h",
        "$tcmalloc_dir/src/system-alloc.cc",
        "$tcmalloc_dir/src/system-alloc.h",

        # included by allocator_shim.cc
        "debugallocation_shim.cc",

        # cpuprofiler
        "$tcmalloc_dir/src/base/thread_lister.c",
        "$tcmalloc_dir/src/base/thread_lister.h",
        "$tcmalloc_dir/src/profiledata.cc",
        "$tcmalloc_dir/src/profiledata.h",
        "$tcmalloc_dir/src/profile-handler.cc",
        "$tcmalloc_dir/src/profile-handler.h",
        "$tcmalloc_dir/src/profiler.cc",
      ]
      defines += [ "PERFTOOLS_DLL_DECL=" ]

      configs -= [
        # Tcmalloc defines this itself, and we don't want duplicate definition
        # warnings.
        "//build/config/win:nominmax",
      ]

      public_configs = [ ":nocmt" ]

      deps += [
        ":prep_libc",
      ]
    }

    if (is_linux || is_android) {
      sources -= [
        "$tcmalloc_dir/src/system-alloc.h",
        "$tcmalloc_dir/src/windows/port.cc",
        "$tcmalloc_dir/src/windows/port.h",

        # TODO(willchan): Support allocator shim later on.
        "allocator_shim.cc",
      ]

      # We enable all warnings by default, but upstream disables a few.
      # Keep "-Wno-*" flags in sync with upstream by comparing against:
      # http://code.google.com/p/google-perftools/source/browse/trunk/Makefile.am
      cflags = [
        "-Wno-sign-compare",
        "-Wno-unused-result",
      ]

      configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]

      ldflags = [
        # Don't let linker rip this symbol out, otherwise the heap&cpu
        # profilers will not initialize properly on startup.
        "-Wl,-uIsHeapProfilerRunning,-uProfilerStart",
        # Do the same for heap leak checker.
        "-Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi",
        "-Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl",
        "-Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv",
      ]
    }

    # Make sure the allocation library is optimized as much as possible when
    # we"re in release mode.
    if (!is_debug) {
      configs -= [ "//build/config/compiler:optimize" ]
      configs += [ "//build/config/compiler:optimize_max" ]
    }

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

    if (is_win) {
      ldflags = [ "/ignore:4006:4221" ]
    }
  }
}  # !is_android

source_set("allocator_extension_thunks") {
  visibility = [ "//base/*" ]
  sources = [
    "allocator_extension_thunks.cc",
    "allocator_extension_thunks.h",
  ]
  if (is_android && !is_debug) {
    configs -= [ "//build/config/compiler:optimize" ]
    configs += [ "//build/config/compiler:optimize_max" ]
  }
}
