1*753557f6STomasz Sapetaload("//tools/build_defs/oss:rn_defs.bzl", "ANDROID", "APPLE", "CXX", "IOS", "MACOSX", "fb_xplat_cxx_test", "react_native_xplat_shared_library_target", "react_native_xplat_target", "rn_xplat_cxx_library")
2*753557f6STomasz Sapeta
3*753557f6STomasz Sapetarn_xplat_cxx_library(
4*753557f6STomasz Sapeta    name = "bridging",
5*753557f6STomasz Sapeta    srcs = glob(["*.cpp"]),
6*753557f6STomasz Sapeta    header_namespace = "react/bridging",
7*753557f6STomasz Sapeta    exported_headers = glob(["*.h"]),
8*753557f6STomasz Sapeta    compiler_flags_enable_exceptions = True,
9*753557f6STomasz Sapeta    compiler_flags_enable_rtti = True,
10*753557f6STomasz Sapeta    labels = [
11*753557f6STomasz Sapeta        "pfh:ReactNative_CommonInfrastructurePlaceholder",
12*753557f6STomasz Sapeta        "supermodule:xplat/default/public.react_native.infra",
13*753557f6STomasz Sapeta    ],
14*753557f6STomasz Sapeta    platforms = (ANDROID, APPLE, CXX),
15*753557f6STomasz Sapeta    tests = [":tests"],
16*753557f6STomasz Sapeta    visibility = ["PUBLIC"],
17*753557f6STomasz Sapeta    deps = [
18*753557f6STomasz Sapeta        "//xplat/folly:headers_only_do_not_use",
19*753557f6STomasz Sapeta    ],
20*753557f6STomasz Sapeta    exported_deps = [
21*753557f6STomasz Sapeta        react_native_xplat_target("butter:butter"),
22*753557f6STomasz Sapeta        react_native_xplat_target("callinvoker:callinvoker"),
23*753557f6STomasz Sapeta        react_native_xplat_shared_library_target("jsi:jsi"),
24*753557f6STomasz Sapeta    ],
25*753557f6STomasz Sapeta)
26*753557f6STomasz Sapeta
27*753557f6STomasz Sapetarn_xplat_cxx_library(
28*753557f6STomasz Sapeta    name = "testlib",
29*753557f6STomasz Sapeta    header_namespace = "react/bridging",
30*753557f6STomasz Sapeta    exported_headers = glob(["tests/*.h"]),
31*753557f6STomasz Sapeta    platforms = (ANDROID, APPLE, CXX),
32*753557f6STomasz Sapeta    visibility = ["PUBLIC"],
33*753557f6STomasz Sapeta    exported_deps = [
34*753557f6STomasz Sapeta        ":bridging",
35*753557f6STomasz Sapeta        "//xplat/third-party/gmock:gtest",
36*753557f6STomasz Sapeta    ],
37*753557f6STomasz Sapeta)
38*753557f6STomasz Sapeta
39*753557f6STomasz Sapetafb_xplat_cxx_test(
40*753557f6STomasz Sapeta    name = "tests",
41*753557f6STomasz Sapeta    srcs = glob(["tests/*.cpp"]),
42*753557f6STomasz Sapeta    headers = glob(["tests/*.h"]),
43*753557f6STomasz Sapeta    apple_sdks = (IOS, MACOSX),
44*753557f6STomasz Sapeta    compiler_flags = [
45*753557f6STomasz Sapeta        "-fexceptions",
46*753557f6STomasz Sapeta        "-frtti",
47*753557f6STomasz Sapeta        "-std=c++17",
48*753557f6STomasz Sapeta        "-Wall",
49*753557f6STomasz Sapeta    ],
50*753557f6STomasz Sapeta    contacts = ["[email protected]"],
51*753557f6STomasz Sapeta    platforms = (ANDROID, APPLE, CXX),
52*753557f6STomasz Sapeta    deps = [
53*753557f6STomasz Sapeta        ":bridging",
54*753557f6STomasz Sapeta        "//xplat/hermes/API:HermesAPI",
55*753557f6STomasz Sapeta        "//xplat/third-party/gmock:gtest",
56*753557f6STomasz Sapeta    ],
57*753557f6STomasz Sapeta)
58