• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2009-2021, Google LLC
2# All rights reserved.
3#
4# Use of this source code is governed by a BSD-style
5# license that can be found in the LICENSE file or at
6# https://developers.google.com/open-source/licenses/bsd
7
8load("//upb/bazel:build_defs.bzl", "UPB_DEFAULT_COPTS")
9
10package(default_applicable_licenses = ["//:license"])
11
12cc_library(
13    name = "mem",
14    srcs = [
15        "alloc.c",
16        "arena.c",
17    ],
18    hdrs = [
19        "alloc.h",
20        "arena.h",
21        "arena.hpp",
22    ],
23    copts = UPB_DEFAULT_COPTS,
24    visibility = ["//visibility:public"],
25    deps = [
26        ":internal",
27        "//upb:port",
28    ],
29)
30
31cc_library(
32    name = "internal",
33    hdrs = [
34        "internal/arena.h",
35    ],
36    copts = UPB_DEFAULT_COPTS,
37    visibility = ["//visibility:public"],
38    deps = [
39        "//upb:port",
40    ],
41)
42
43cc_test(
44    name = "arena_test",
45    srcs = ["arena_test.cc"],
46    deps = [
47        ":mem",
48        "//upb:port",
49        "@com_google_absl//absl/random",
50        "@com_google_absl//absl/random:distributions",
51        "@com_google_absl//absl/synchronization",
52        "@com_google_absl//absl/time",
53        "@com_google_googletest//:gtest",
54        "@com_google_googletest//:gtest_main",
55    ],
56)
57
58filegroup(
59    name = "source_files",
60    srcs = glob(
61        [
62            "**/*.c",
63            "**/*.h",
64            "**/*.hpp",
65        ],
66    ),
67    visibility = [
68        "//python/dist:__pkg__",
69        "//upb/cmake:__pkg__",
70    ],
71)
72
73filegroup(
74    name = "test_srcs",
75    srcs = glob(
76        [
77            "**/*test.cc",
78        ],
79    ),
80    visibility = ["//upb:__pkg__"],
81)
82