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:molly",
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        "supermodule:xplat/default/public.react_native.infra",
28    ],
29    platforms = (ANDROID, APPLE),
30    preprocessor_flags = [
31        "-DLOG_TAG=\"ReactNative\"",
32        "-DWITH_FBSYSTRACE=1",
33    ],
34    visibility = [
35        "PUBLIC",
36    ],
37    xcode_public_headers_symlinks = True,
38    deps = [
39        "//xplat/fbsystrace:fbsystrace",
40        react_native_xplat_dep("jsi:jsi"),
41        react_native_xplat_dep("jsi:JSIDynamic"),
42        react_native_xplat_target("cxxreact:bridge"),
43        react_native_xplat_target("cxxreact:jsbigstring"),
44        react_native_xplat_target("reactperflogger:reactperflogger"),
45    ],
46)
47