mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
450fa4d1d3
Summary: Folly's molly target combines a number of targets that are supposed to be useable on mobile. Since we're trying to move away from folly, we should instead list explicitly which parts of folly we're using so we can remove them over time, and track which targets no longer have any folly dependencies. Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D38352060 fbshipit-source-id: 09d0d84793692f97f4d49390c99c38b23441df54
101 lines
3.3 KiB
Python
101 lines
3.3 KiB
Python
load(
|
|
"//tools/build_defs/oss:rn_defs.bzl",
|
|
"ANDROID",
|
|
"APPLE",
|
|
"CXX",
|
|
"YOGA_CXX_TARGET",
|
|
"fb_xplat_cxx_test",
|
|
"get_apple_compiler_flags",
|
|
"get_apple_inspector_flags",
|
|
"get_preprocessor_flags_for_build_mode",
|
|
"react_native_xplat_target",
|
|
"rn_xplat_cxx_library",
|
|
"subdir_glob",
|
|
)
|
|
|
|
APPLE_COMPILER_FLAGS = get_apple_compiler_flags()
|
|
|
|
rn_xplat_cxx_library(
|
|
name = "text",
|
|
srcs = glob(
|
|
["**/*.cpp"],
|
|
exclude = glob(["tests/**/*.cpp"]),
|
|
),
|
|
headers = glob(
|
|
["**/*.h"],
|
|
exclude = glob(["tests/**/*.h"]),
|
|
),
|
|
header_namespace = "",
|
|
exported_headers = subdir_glob(
|
|
[
|
|
("", "*.h"),
|
|
("basetext", "*.h"),
|
|
("paragraph", "*.h"),
|
|
("text", "*.h"),
|
|
("rawtext", "*.h"),
|
|
],
|
|
prefix = "react/renderer/components/text",
|
|
),
|
|
compiler_flags_pedantic = True,
|
|
cxx_tests = [":tests"],
|
|
fbandroid_deps = [
|
|
react_native_xplat_target("react/renderer/mapbuffer:mapbuffer"),
|
|
],
|
|
fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
|
|
fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
|
|
force_static = True,
|
|
labels = [
|
|
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
"supermodule:xplat/default/public.react_native.infra",
|
|
],
|
|
platforms = (ANDROID, APPLE, CXX),
|
|
preprocessor_flags = [
|
|
"-DLOG_TAG=\"ReactNative\"",
|
|
"-DWITH_FBSYSTRACE=1",
|
|
],
|
|
visibility = ["PUBLIC"],
|
|
deps = [
|
|
"//third-party/glog:glog",
|
|
"//xplat/fbsystrace:fbsystrace",
|
|
YOGA_CXX_TARGET,
|
|
react_native_xplat_target("react/debug:debug"),
|
|
react_native_xplat_target("react/renderer/attributedstring:attributedstring"),
|
|
react_native_xplat_target("react/renderer/core:core"),
|
|
react_native_xplat_target("react/renderer/debug:debug"),
|
|
react_native_xplat_target("react/renderer/graphics:graphics"),
|
|
react_native_xplat_target("react/renderer/textlayoutmanager:textlayoutmanager"),
|
|
react_native_xplat_target("react/renderer/components/view:view"),
|
|
react_native_xplat_target("react/renderer/uimanager:uimanager"),
|
|
react_native_xplat_target("react/renderer/mounting:mounting"),
|
|
react_native_xplat_target("react/renderer/componentregistry:componentregistry"),
|
|
react_native_xplat_target("react/utils:utils"),
|
|
react_native_xplat_target("react/renderer/telemetry:telemetry"),
|
|
],
|
|
)
|
|
|
|
fb_xplat_cxx_test(
|
|
name = "tests",
|
|
srcs = glob(["tests/**/*.cpp"]),
|
|
headers = glob(["tests/**/*.h"]),
|
|
compiler_flags = [
|
|
"-fexceptions",
|
|
"-frtti",
|
|
"-std=c++17",
|
|
"-Wall",
|
|
],
|
|
contacts = ["oncall+react_native@xmail.facebook.com"],
|
|
platforms = (
|
|
# `Apple` and `Android` flavors are disabled because the module depends on `textlayoutmanager` which requires real an Emulator/Simulator to run.
|
|
# At the same time, the code of tests does not rely on the simulator capabilities and it would be wasteful to add `fbandroid_use_instrumentation_test = True`.
|
|
# (Beware of this option though.)
|
|
# ANDROID,
|
|
# APPLE,
|
|
CXX
|
|
),
|
|
deps = [
|
|
":text",
|
|
"//xplat/third-party/gmock:gtest",
|
|
react_native_xplat_target("react/debug:debug"),
|
|
],
|
|
)
|