mirror of
https://github.com/status-im/react-native.git
synced 2025-02-24 15:18:10 +00:00
Summary: `Better` is a trivial collection of basic tools borrowed from other low-level general purpose libraries (like Folly, Abseil or Boost). The main goals of Better: - Make the codebase more portable; - Make the dependency list explicit (by decoupling it as a dependency list of Better); - Make relying on modern C++ patterns and tools in code simple and easy. - Make executing experiments with different dependencies easier. As a first example usage, this diff replaces std::unordered_map with an efficient one from folly on the one of the hottest paths. Reviewed By: JoshuaGross Differential Revision: D13944565 fbshipit-source-id: 5fa2c4abe6c17f7361eddcc25f968b6440d5d9db
56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
load("@fbsource//tools/build_defs/apple:flag_defs.bzl", "get_debug_preprocessor_flags")
|
|
load(
|
|
"//tools/build_defs/oss:rn_defs.bzl",
|
|
"ANDROID",
|
|
"APPLE",
|
|
"get_apple_compiler_flags",
|
|
"get_apple_inspector_flags",
|
|
"rn_xplat_cxx_library",
|
|
"subdir_glob",
|
|
)
|
|
|
|
APPLE_COMPILER_FLAGS = get_apple_compiler_flags()
|
|
|
|
rn_xplat_cxx_library(
|
|
name = "better",
|
|
srcs = glob(
|
|
["**/*.cpp"],
|
|
exclude = glob(["tests/**/*.cpp"]),
|
|
),
|
|
headers = glob(
|
|
["**/*.h"],
|
|
exclude = glob(["tests/**/*.h"]),
|
|
),
|
|
header_namespace = "",
|
|
exported_headers = subdir_glob(
|
|
[
|
|
("", "*.h"),
|
|
],
|
|
prefix = "better",
|
|
),
|
|
compiler_flags = [
|
|
"-fexceptions",
|
|
"-frtti",
|
|
"-std=c++14",
|
|
"-Wall",
|
|
],
|
|
fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
|
|
fbobjc_preprocessor_flags = get_debug_preprocessor_flags() + get_apple_inspector_flags(),
|
|
force_static = True,
|
|
macosx_tests_override = [],
|
|
platforms = (ANDROID, APPLE),
|
|
preprocessor_flags = [
|
|
"-DLOG_TAG=\"ReactNative\"",
|
|
"-DWITH_FBSYSTRACE=1",
|
|
],
|
|
tests = [],
|
|
visibility = ["PUBLIC"],
|
|
deps = [
|
|
"xplat//fbsystrace:fbsystrace",
|
|
"xplat//folly:headers_only",
|
|
"xplat//folly:memory",
|
|
"xplat//folly:molly",
|
|
"xplat//third-party/glog:glog",
|
|
],
|
|
)
|