blob: 6c358441718b60e09cbe8b3fb26985a89ef8f6cb [file] [log] [blame]
# Copyright 2021 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT
import("//build/cpp/library_headers.gni")
declare_args() {
# Set the page size shift of the host. This is used when running the allocator
# in a host environment where page size constants may not exist. If this does
# not much the actual host page size then a run time error will occur.
virtual_alloc_host_size_shift = 12
}
library_headers("virtual_alloc_headers") {
headers = [ "lib/virtual_alloc.h" ]
public_deps = [
"//zircon/system/ulib/bitmap",
"//zircon/system/ulib/zircon-internal",
"//zircon/system/ulib/zx",
]
}
source_set("virtual_alloc") {
sources = [ "virtual_alloc.cc" ]
public_deps = [ ":virtual_alloc_headers" ]
deps = [ "//sdk/lib/fit" ]
if (is_host) {
# Building for the host implies we are running tests and so we want to force the assert level
# high to ensure any internal debug checks are enabled.
defines = [
"ZX_ASSERT_LEVEL=2",
"HOST_PAGE_SIZE_SHIFT=$virtual_alloc_host_size_shift",
]
} else if (is_kernel) {
deps += [ "tests" ]
# Crypto headers are needed as a transitive dependency on being able to include vm_aspace.h
public_deps += [ "//zircon/kernel/lib/crypto:headers" ]
}
}