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