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