BUCK 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. load("@fbsource//tools/build_defs/apple:flag_defs.bzl", "OBJC_ARC_PREPROCESSOR_FLAGS", "get_preprocessor_flags_for_build_mode", "get_static_library_ios_flags")
  2. load("//tools/build_defs/oss:rn_defs.bzl", "ANDROID", "APPLE", "react_native_target", "react_native_xplat_target", "rn_xplat_cxx_library", "subdir_glob")
  3. rn_xplat_cxx_library(
  4. name = "samples",
  5. srcs = glob(["*.cpp"]),
  6. header_namespace = "",
  7. exported_headers = subdir_glob(
  8. [
  9. ("", "*.h"),
  10. ],
  11. prefix = "ReactCommon",
  12. ),
  13. compiler_flags = [
  14. "-fexceptions",
  15. "-frtti",
  16. "-std=c++14",
  17. "-Wall",
  18. ],
  19. fbandroid_deps = [
  20. react_native_target("jni/react/jni:jni"),
  21. ],
  22. fbandroid_exported_headers = subdir_glob(
  23. [
  24. ("platform/android", "*.h"),
  25. ],
  26. prefix = "ReactCommon",
  27. ),
  28. fbandroid_srcs = glob(
  29. [
  30. "platform/android/**/*.cpp",
  31. ],
  32. ),
  33. fbobjc_compiler_flags = [
  34. "-Wall",
  35. "-fobjc-arc-exceptions",
  36. ],
  37. fbobjc_inherited_buck_flags = get_static_library_ios_flags(),
  38. fbobjc_preprocessor_flags = OBJC_ARC_PREPROCESSOR_FLAGS + get_preprocessor_flags_for_build_mode(),
  39. force_static = True,
  40. ios_deps = [
  41. "//xplat/FBBaseLite:FBBaseLite",
  42. "//xplat/js:RCTLinking",
  43. "//xplat/js:RCTPushNotification",
  44. "//xplat/js/react-native-github:RCTCxxBridge",
  45. "//xplat/js/react-native-github:RCTCxxModule",
  46. "//xplat/js/react-native-github:ReactInternal",
  47. ],
  48. ios_exported_headers = subdir_glob(
  49. [
  50. ("platform/ios", "*.h"),
  51. ],
  52. prefix = "ReactCommon",
  53. ),
  54. ios_frameworks = [
  55. "$SDKROOT/System/Library/Frameworks/Foundation.framework",
  56. ],
  57. ios_srcs = glob(
  58. [
  59. "platform/ios/**/*.cpp",
  60. "platform/ios/**/*.mm",
  61. ],
  62. ),
  63. platforms = (ANDROID, APPLE),
  64. preprocessor_flags = [
  65. "-DLOG_TAG=\"ReactNative\"",
  66. "-DWITH_FBSYSTRACE=1",
  67. ],
  68. visibility = [
  69. "PUBLIC",
  70. ],
  71. deps = [
  72. react_native_xplat_target("cxxreact:module"),
  73. ],
  74. exported_deps = [
  75. "//xplat/jsi:jsi",
  76. react_native_xplat_target("turbomodule/core:core"),
  77. ],
  78. )