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