blob: b5db38323e0e194646581e6cffd5c113ce58d4ae [file] [log] [blame]
Wyatt Hepler2ad60672020-01-21 08:00:16 -08001# Copyright 2020 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15load(
16 "//pw_build:pigweed.bzl",
17 "pw_cc_library",
18 "pw_cc_test",
19)
20
21package(default_visibility = ["//visibility:public"])
22
23licenses(["notice"]) # Apache License 2.0
24
25pw_cc_library(
26 name = "pw_kvs",
27 srcs = [
Wyatt Hepler4da1fcb2020-01-30 17:32:18 -080028 "checksum.cc",
29 "flash_memory.cc",
Wyatt Hepler6e3a83b2020-02-04 07:36:45 -080030 "format.cc",
Wyatt Hepler2ad60672020-01-21 08:00:16 -080031 "key_value_store.cc",
Wyatt Hepler4da1fcb2020-01-30 17:32:18 -080032 "pw_kvs_private/format.h",
33 "pw_kvs_private/macros.h",
Wyatt Hepler2ad60672020-01-21 08:00:16 -080034 ],
35 hdrs = [
Wyatt Hepler4da1fcb2020-01-30 17:32:18 -080036 "public/pw_kvs/checksum.h",
Wyatt Heplerec4b9352020-01-31 15:51:50 -080037 "public/pw_kvs/crc16_checksum.h",
Wyatt Hepler2ad60672020-01-21 08:00:16 -080038 "public/pw_kvs/flash_memory.h",
Wyatt Hepler2ad60672020-01-21 08:00:16 -080039 "public/pw_kvs/key_value_store.h",
Wyatt Hepler2ad60672020-01-21 08:00:16 -080040 ],
41 includes = ["public"],
42 deps = [
43 "//pw_checksum",
Wyatt Hepler1c329ca2020-02-07 18:07:23 -080044 "//pw_containers",
Wyatt Hepler2ad60672020-01-21 08:00:16 -080045 "//pw_log",
46 "//pw_status",
Wyatt Hepler2ad60672020-01-21 08:00:16 -080047 ],
48)
49
Wyatt Heplerec4b9352020-01-31 15:51:50 -080050pw_cc_library(
51 name = "crc16",
52 hdrs = [
53 "public/pw_kvs/crc16_checksum.h",
54 ],
55 deps = [
56 ":pw_kvs",
57 "//pw_checksum",
58 ],
59)
60
Wyatt Heplerad684a12020-02-04 17:17:29 -080061pw_cc_library(
62 name = "in_memory_fake_flash",
63 hdrs = [
64 "public/pw_kvs/in_memory_fake_flash.h",
65 ],
66 visibility = ["//visibility:private"],
67 deps = [
68 "//pw_log",
69 "//pw_status",
70 ],
71)
72
Wyatt Heplerec4b9352020-01-31 15:51:50 -080073pw_cc_test(
74 name = "checksum_test",
75 srcs = ["checksum_test.cc"],
76 deps = [
77 ":crc16",
78 ":pw_kvs",
79 "//pw_checksum",
80 "//pw_log",
81 ],
82)
83
Wyatt Hepler2ad60672020-01-21 08:00:16 -080084pw_cc_test(
Wyatt Hepler97fc7942020-02-06 15:55:45 -080085 name = "entry_test",
86 srcs = [
87 "entry_test.cc",
88 ],
89 deps = [
90 ":pw_kvs",
91 ],
92)
93
94pw_cc_test(
Wyatt Hepler16b04522020-02-07 16:00:14 -080095 name = "key_value_store_fuzz_test",
96 srcs = ["key_value_store_fuzz_test.cc"],
97 deps = [
98 ":crc16",
99 ":in_memory_fake_flash",
100 ":pw_kvs",
101 "//pw_checksum",
102 ],
103)
104
105pw_cc_test(
Wyatt Hepler2ad60672020-01-21 08:00:16 -0800106 name = "key_value_store_test",
107 srcs = ["key_value_store_test.cc"],
108 deps = [
Wyatt Heplerec4b9352020-01-31 15:51:50 -0800109 ":crc16",
Wyatt Heplerad684a12020-02-04 17:17:29 -0800110 ":in_memory_fake_flash",
Wyatt Hepler2ad60672020-01-21 08:00:16 -0800111 ":pw_kvs",
112 "//pw_checksum",
113 "//pw_log",
114 ],
115)
Wyatt Heplerd6216822020-02-04 16:39:15 -0800116
117cc_binary(
118 name = "debug_cli",
119 srcs = ["debug_cli.cc"],
120 copts = ["-std=c++17"],
121 deps = [
122 ":crc16",
123 ":in_memory_fake_flash",
124 ":pw_kvs",
125 ],
126)