# Copyright 2020 The Pigweed Authors # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. load( "//pw_build:pigweed.bzl", "pw_cc_library", "pw_cc_test", ) package(default_visibility = ["//visibility:public"]) licenses(["notice"]) pw_cc_library( name = "headers", hdrs = [ "public/pw_malloc_freelist/freelist_malloc.h", ], includes = [ "public", ], ) pw_cc_library( name = "pw_malloc_freelist", srcs = [ "freelist_malloc.cc", ], linkopts = [ # Link options that replace dynamic memory operations in standard # library with the pigweed malloc. "-Wl,--wrap=malloc", "-Wl,--wrap=free", "-Wl,--wrap=realloc", "-Wl,--wrap=calloc", "-Wl,--wrap=_malloc_r", "-Wl,--wrap=_realloc_r", "-Wl,--wrap=_free_r", "-Wl,--wrap=_calloc_r", ], deps = [ ":headers", "//pw_allocator:block", "//pw_allocator:freelist_heap", "//pw_malloc:facade", "//pw_preprocessor", ], ) pw_cc_test( name = "freelist_malloc_test", srcs = [ "freelist_malloc_test.cc", ], # TODO(b/257530518): Get this test to work with Bazel. tags = ["manual"], deps = [ ":headers", ":pw_malloc_freelist", "//pw_unit_test", ], )