# BUILD FILE SYNTAX: SKYLARK load("@fbsource//tools/build_defs:default_platform_defs.bzl", "APPLE", "IOS", "MACOSX") load("//tools/build_defs/oss:rn_defs.bzl", "react_native_xplat_dep", "rn_xplat_cxx_library") rn_xplat_cxx_library( name = "jsi", srcs = [ "jsi/jsi.cpp", ], header_namespace = "", exported_headers = [ "jsi/instrumentation.h", "jsi/jsi.h", "jsi/jsi-inl.h", "jsi/jsilib.h", ], compiler_flags = [ "-O3", "-fexceptions", "-frtti", "-std=c++14", "-Wall", "-Werror", "-Wextra", "-Wcast-qual", "-Wdelete-non-virtual-dtor", "-Wwrite-strings", ], cxx_compiler_flags = [ "-Wglobal-constructors", "-Wmissing-prototypes", ], fbobjc_compiler_flags = [ "-Wglobal-constructors", "-Wmissing-prototypes", ], visibility = ["PUBLIC"], ) rn_xplat_cxx_library( name = "JSIDynamic", srcs = [ "jsi/JSIDynamic.cpp", ], header_namespace = "", exported_headers = [ "jsi/JSIDynamic.h", ], compiler_flags = [ "-fexceptions", "-frtti", ], fbobjc_force_static = True, visibility = [ "PUBLIC", ], xcode_public_headers_symlinks = True, deps = [ "//xplat/folly:molly", react_native_xplat_dep("jsi:jsi"), ], ) rn_xplat_cxx_library( name = "JSCRuntime", srcs = [ "JSCRuntime.cpp", ], header_namespace = "jsi", exported_headers = [ "JSCRuntime.h", ], apple_sdks = (IOS, MACOSX), fbobjc_compiler_flags = [ "-Os", ], fbobjc_frameworks = [ "$SDKROOT/System/Library/Frameworks/JavaScriptCore.framework", ], fbobjc_labels = ["supermodule:ios/default/public.react_native.infra"], # TODO (T55502220): Remove when iOS 9.0 deprecation is complete everywhere. fbobjc_target_sdk_version = "9.0", platforms = APPLE, visibility = ["PUBLIC"], xplat_mangled_args = { "soname": "libjscjsi.$(ext)", }, exported_deps = [ react_native_xplat_dep("jsi:jsi"), ], )