blob: bfa2420001ae58b9b6d96fd2d45b5ba36d6a9578 [file] [log] [blame]
# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
load(
":buildflags.bzl",
"buildflags",
)
package(default_visibility = ["//visibility:public"])
MINI_CHROMIUM_BASE_SOURCES = [
"src/base/compiler_specific.h",
"src/base/debug/alias.cc",
"src/base/debug/alias.h",
"src/base/files/file_path.cc",
"src/base/files/file_util.h",
"src/base/files/scoped_file.cc",
"src/base/logging.cc",
"src/base/memory/scoped_policy.h",
"src/base/numerics/checked_math_impl.h",
"src/base/numerics/clamped_math_impl.h",
"src/base/numerics/safe_math_clang_gcc_impl.h",
"src/base/numerics/safe_math_shared_impl.h",
"src/base/process/memory.cc",
"src/base/process/memory.h",
"src/base/rand_util.cc",
"src/base/strings/string_number_conversions.cc",
"src/base/strings/stringprintf.cc",
"src/base/strings/sys_string_conversions.h",
"src/base/strings/utf_string_conversion_utils.cc",
"src/base/strings/utf_string_conversion_utils.h",
"src/base/strings/utf_string_conversions.cc",
"src/base/synchronization/condition_variable.h",
"src/base/synchronization/lock.cc",
"src/base/synchronization/lock_impl.h",
"src/base/template_util.h",
"src/base/third_party/icu/icu_utf.cc",
"src/base/third_party/icu/icu_utf.h",
"src/base/threading/thread_local_storage.cc",
]
MINI_CHROMIUM_BASE_HEADERS = [
"src/base/atomicops.h",
"src/base/auto_reset.h",
"src/base/bit_cast.h",
"src/base/check.h",
"src/base/check_op.h",
"src/base/compiler_specific.h",
"src/base/cxx17_backports.h",
"src/base/files/file_path.h",
"src/base/files/scoped_file.h",
"src/base/format_macros.h",
"src/base/logging.h",
"src/base/memory/free_deleter.h",
"src/base/memory/page_size.h",
"src/base/metrics/histogram_functions.h",
"src/base/metrics/histogram_macros.h",
"src/base/metrics/persistent_histogram_allocator.h",
"src/base/notreached.h",
"src/base/numerics/checked_math.h",
"src/base/numerics/clamped_math.h",
"src/base/numerics/safe_conversions.h",
"src/base/numerics/safe_math.h",
"src/base/posix/eintr_wrapper.h",
"src/base/rand_util.h",
"src/base/scoped_clear_last_error.h",
"src/base/scoped_generic.h",
"src/base/strings/string_number_conversions.h",
"src/base/strings/string_piece.h",
"src/base/strings/string_util.h",
"src/base/strings/stringprintf.h",
"src/base/strings/utf_string_conversions.h",
"src/base/synchronization/lock.h",
"src/base/threading/thread_local_storage.h",
"src/build/build_config.h",
"src/build/buildflag.h",
":chromeos_buildflags",
]
MINI_CHROMIUM_BASE_POSIX_SOURCES = [
"src/base/files/file_util_posix.cc",
"src/base/memory/page_size_posix.cc",
"src/base/posix/safe_strerror.cc",
"src/base/strings/string_util_posix.h",
"src/base/synchronization/condition_variable_posix.cc",
"src/base/synchronization/lock_impl_posix.cc",
"src/base/threading/thread_local_storage_posix.cc",
]
MINI_CHROMIUM_BASE_POSIX_HEADERS = [
"src/base/posix/safe_strerror.h",
]
MINI_CHROMIUM_BASE_FUCHSIA_SOURCES = [
"src/base/fuchsia/fuchsia_logging.cc",
]
MINI_CHROMIUM_BASE_FUCHSIA_HEADERS = [
"src/base/fuchsia/fuchsia_logging.h",
]
cc_library(
name = "base",
srcs = MINI_CHROMIUM_BASE_SOURCES +
select({
"@platforms//os:osx": MINI_CHROMIUM_BASE_POSIX_SOURCES,
"@platforms//os:fuchsia": MINI_CHROMIUM_BASE_FUCHSIA_SOURCES + MINI_CHROMIUM_BASE_POSIX_SOURCES,
"//conditions:default": MINI_CHROMIUM_BASE_POSIX_SOURCES,
}),
hdrs = MINI_CHROMIUM_BASE_HEADERS +
select({
"@platforms//os:osx": MINI_CHROMIUM_BASE_POSIX_HEADERS,
"@platforms//os:fuchsia": MINI_CHROMIUM_BASE_FUCHSIA_HEADERS + MINI_CHROMIUM_BASE_POSIX_HEADERS,
"//conditions:default": MINI_CHROMIUM_BASE_POSIX_HEADERS,
}),
copts = select({
"@platforms//os:osx": [
"-DNOMINMAX",
"-DUNICODE",
"-DWIN32_LEAN_AND_MEAN",
"-D_CRT_SECURE_NO_WARNINGS",
"-D_HAS_EXCEPTIONS=0",
"-D_UNICODE",
],
"//conditions:default": [],
}),
includes = ["src"],
linkopts = select({
"@platforms//os:osx": [
"-framework ApplicationServices",
"-framework CoreFoundation",
"-framework Foundation",
"-framework IOKit",
"-framework Security",
],
"//conditions:default": [],
}),
textual_hdrs = [
"src/base/atomicops_internals_atomicword_compat.h",
"src/base/atomicops_internals_portable.h",
"src/base/numerics/safe_conversions_impl.h",
"src/base/numerics/safe_math_arm_impl.h",
"src/base/numerics/safe_conversions_arm_impl.h",
"src/base/sys_byteorder.h",
],
deps = select(
{
"@platforms//os:fuchsia": ["@fuchsia_sdk//pkg/syslog"],
"//conditions:default": [],
},
),
)
buildflags(
name = "chromeos_buildflags",
out = "src/build/chromeos_buildflags.h",
flags = {
"IS_CHROMEOS_ASH": "0",
"IS_CHROMEOS_LACROS": "0",
},
)