# Copyright 2018 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("//third_party/abseil-cpp/absl.gni")

absl_source_set("memory") {
  public = [ "memory.h" ]
  deps = [
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/meta:type_traits",
  ]
}

absl_source_set("memory_test") {
  testonly = true

  # TODO(https://crbug.com/1116473): memory_test.cc fails to build in
  # standalone ANGLE on Windows
  if (!build_with_chromium && !is_win) {
    sources = [ "memory_test.cc" ]
    deps = [
      ":memory",
      "//third_party/abseil-cpp/absl/base:core_headers",
      "//third_party/googletest:gmock",
      "//third_party/googletest:gtest",
    ]
  }
}
