1*af2ec015STomasz Sapetaload("@fbsource//tools/build_defs:glob_defs.bzl", "subdir_glob")
2*af2ec015STomasz Sapetaload("@fbsource//tools/build_defs:platform_defs.bzl", "ANDROID", "APPLE", "CXX")
3*af2ec015STomasz Sapetaload("@fbsource//tools/build_defs/apple:flag_defs.bzl", "flags", "get_preprocessor_flags_for_build_mode", "get_static_library_ios_flags")
4*af2ec015STomasz Sapetaload("@fbsource//tools/build_defs/oss:rn_defs.bzl", "get_apple_inspector_flags", "rn_xplat_cxx_library")
5*af2ec015STomasz Sapeta
6*af2ec015STomasz SapetaAPPLE_COMPILER_FLAGS = flags.get_flag_value(
7*af2ec015STomasz Sapeta    get_static_library_ios_flags(),
8*af2ec015STomasz Sapeta    "compiler_flags",
9*af2ec015STomasz Sapeta)
10*af2ec015STomasz Sapeta
11*af2ec015STomasz Sapetarn_xplat_cxx_library(
12*af2ec015STomasz Sapeta    name = "config",
13*af2ec015STomasz Sapeta    srcs = glob(["**/*.cpp"]),
14*af2ec015STomasz Sapeta    header_namespace = "",
15*af2ec015STomasz Sapeta    exported_headers = subdir_glob(
16*af2ec015STomasz Sapeta        [
17*af2ec015STomasz Sapeta            ("", "**/*.h"),
18*af2ec015STomasz Sapeta        ],
19*af2ec015STomasz Sapeta        prefix = "react/config",
20*af2ec015STomasz Sapeta    ),
21*af2ec015STomasz Sapeta    compiler_flags_enable_exceptions = True,
22*af2ec015STomasz Sapeta    compiler_flags_enable_rtti = True,  # for ReactNativeConfig
23*af2ec015STomasz Sapeta    compiler_flags_pedantic = True,
24*af2ec015STomasz Sapeta    fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
25*af2ec015STomasz Sapeta    fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
26*af2ec015STomasz Sapeta    force_static = True,
27*af2ec015STomasz Sapeta    labels = [
28*af2ec015STomasz Sapeta        "pfh:ReactNative_CommonInfrastructurePlaceholder",
29*af2ec015STomasz Sapeta    ],
30*af2ec015STomasz Sapeta    platforms = (ANDROID, APPLE, CXX),
31*af2ec015STomasz Sapeta    preprocessor_flags = [
32*af2ec015STomasz Sapeta        "-DLOG_TAG=\"ReactNative\"",
33*af2ec015STomasz Sapeta        "-DWITH_FBSYSTRACE=1",
34*af2ec015STomasz Sapeta    ],
35*af2ec015STomasz Sapeta    visibility = [
36*af2ec015STomasz Sapeta        "PUBLIC",
37*af2ec015STomasz Sapeta    ],
38*af2ec015STomasz Sapeta    deps = [
39*af2ec015STomasz Sapeta        "//third-party/glog:glog",
40*af2ec015STomasz Sapeta        "//xplat/fbsystrace:fbsystrace",
41*af2ec015STomasz Sapeta        "//xplat/folly:memory",
42*af2ec015STomasz Sapeta    ],
43*af2ec015STomasz Sapeta)
44