| # 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", |
| }, |
| ) |