# Copyright 2016 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("//testing/test.gni")

component("common") {
  output_name = "discardable_memory_common"

  defines = [ "DISCARDABLE_MEMORY_IMPLEMENTATION" ]

  sources = [
    "discardable_memory_export.h",
    "discardable_shared_memory_heap.cc",
    "discardable_shared_memory_heap.h",
  ]

  deps = [
    "//base",
  ]
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "discardable_shared_memory_heap_unittest.cc",
  ]

  deps = [
    ":common",
    "//base",
    "//testing/gtest",
  ]
}
