1#
2# Copyright 2019 The Abseil Authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      https://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17load(
18    "//absl:copts/configure_copts.bzl",
19    "ABSL_DEFAULT_COPTS",
20    "ABSL_DEFAULT_LINKOPTS",
21    "ABSL_TEST_COPTS",
22)
23
24package(default_visibility = ["//visibility:public"])
25
26licenses(["notice"])
27
28cc_library(
29    name = "memory",
30    hdrs = ["memory.h"],
31    copts = ABSL_DEFAULT_COPTS,
32    linkopts = ABSL_DEFAULT_LINKOPTS,
33    deps = [
34        "//absl/base:core_headers",
35        "//absl/meta:type_traits",
36    ],
37)
38
39cc_test(
40    name = "memory_test",
41    srcs = ["memory_test.cc"],
42    copts = ABSL_TEST_COPTS,
43    linkopts = ABSL_DEFAULT_LINKOPTS,
44    deps = [
45        ":memory",
46        "//absl/base:core_headers",
47        "@com_google_googletest//:gtest_main",
48    ],
49)
50
51cc_test(
52    name = "memory_exception_safety_test",
53    srcs = [
54        "memory_exception_safety_test.cc",
55    ],
56    copts = ABSL_TEST_COPTS,
57    linkopts = ABSL_DEFAULT_LINKOPTS,
58    deps = [
59        ":memory",
60        "//absl/base:config",
61        "//absl/base:exception_safety_testing",
62        "@com_google_googletest//:gtest_main",
63    ],
64)
65