1load("//tools/build_defs/oss:rn_defs.bzl", "ANDROID", "APPLE", "cxx_library", "react_native_xplat_dep", "react_native_xplat_target")
2
3cxx_library(
4    name = "jsiexecutor",
5    srcs = [
6        "jsireact/JSIExecutor.cpp",
7        "jsireact/JSINativeModules.cpp",
8    ],
9    header_namespace = "",
10    exported_headers = {
11        "jsireact/JSIExecutor.h": "jsireact/JSIExecutor.h",
12        "jsireact/JSINativeModules.h": "jsireact/JSINativeModules.h",
13    },
14    compiler_flags = [
15        "-fexceptions",
16        "-frtti",
17    ],
18    fbandroid_deps = [
19        "//third-party/glog:glog",
20        "//xplat/folly:json",
21        "//xplat/third-party/linker_lib:atomic",
22    ],
23    fbobjc_force_static = True,
24    fbobjc_header_path_prefix = "",
25    labels = [
26        "pfh:ReactNative_CommonInfrastructurePlaceholder",
27    ],
28    platforms = (ANDROID, APPLE),
29    preprocessor_flags = [
30        "-DLOG_TAG=\"ReactNative\"",
31        "-DWITH_FBSYSTRACE=1",
32    ],
33    visibility = [
34        "PUBLIC",
35    ],
36    xcode_public_headers_symlinks = True,
37    deps = [
38        "//xplat/fbsystrace:fbsystrace",
39        react_native_xplat_dep("jsi:jsi"),
40        react_native_xplat_dep("jsi:JSIDynamic"),
41        react_native_xplat_target("cxxreact:bridge"),
42        react_native_xplat_target("cxxreact:jsbigstring"),
43        react_native_xplat_target("reactperflogger:reactperflogger"),
44    ],
45)
46