1# Copyright (c) Meta Platforms, Inc. and affiliates. 2# 3# This source code is licensed under the MIT license found in the 4# LICENSE file in the root directory of this source tree. 5 6require "json" 7 8package = JSON.parse(File.read(File.join(__dir__, "..", "package.json"))) 9version = package['version'] 10 11 12 13folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' 14folly_version = '2021.07.22.00' 15folly_dep_name = 'RCT-Folly/Fabric' 16boost_compiler_flags = '-Wno-documentation' 17react_native_path = ".." 18 19Pod::Spec.new do |s| 20 s.name = "ABI48_0_0React-Fabric" 21 s.version = version 22 s.summary = "Fabric for React Native." 23 s.homepage = "https://reactnative.dev/" 24 s.license = package["license"] 25 s.author = "Facebook, Inc. and its affiliates" 26 s.platforms = { :ios => "12.4" } 27 s.source = { :path => "." } 28 s.source_files = "dummyFile.cpp" 29 s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", 30 "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } 31 32 s.dependency folly_dep_name, folly_version 33 s.dependency "ABI48_0_0React-graphics", version 34 s.dependency "ABI48_0_0React-jsiexecutor", version 35 s.dependency "ABI48_0_0RCTRequired", version 36 s.dependency "ABI48_0_0RCTTypeSafety", version 37 s.dependency "ABI48_0_0ReactCommon/turbomodule/core", version 38 s.dependency "ABI48_0_0React-jsi", version 39 40 s.subspec "animations" do |ss| 41 ss.dependency folly_dep_name, folly_version 42 ss.compiler_flags = folly_compiler_flags 43 ss.source_files = "react/renderer/animations/**/*.{m,mm,cpp,h}" 44 ss.exclude_files = "react/renderer/animations/tests" 45 ss.header_dir = "ABI48_0_0react/renderer/animations" 46 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 47 end 48 49 s.subspec "attributedstring" do |ss| 50 ss.dependency folly_dep_name, folly_version 51 ss.compiler_flags = folly_compiler_flags 52 ss.source_files = "react/renderer/attributedstring/**/*.{m,mm,cpp,h}" 53 ss.exclude_files = "react/renderer/attributedstring/tests" 54 ss.header_dir = "ABI48_0_0react/renderer/attributedstring" 55 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 56 end 57 58 s.subspec "butter" do |ss| 59 ss.dependency folly_dep_name, folly_version 60 ss.compiler_flags = folly_compiler_flags 61 ss.source_files = "butter/**/*.{m,mm,cpp,h}" 62 ss.exclude_files = "butter/tests" 63 ss.header_dir = "ABI48_0_0butter" 64 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 65 end 66 67 s.subspec "config" do |ss| 68 ss.source_files = "react/config/*.{m,mm,cpp,h}" 69 ss.header_dir = "ABI48_0_0react/config" 70 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" } 71 end 72 73 s.subspec "core" do |ss| 74 ss.dependency folly_dep_name, folly_version 75 ss.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags 76 ss.source_files = "react/renderer/core/**/*.{m,mm,cpp,h}" 77 ss.exclude_files = "react/renderer/core/tests" 78 ss.header_dir = "ABI48_0_0react/renderer/core" 79 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 80 end 81 82 s.subspec "componentregistry" do |ss| 83 ss.dependency folly_dep_name, folly_version 84 ss.compiler_flags = folly_compiler_flags 85 ss.source_files = "react/renderer/componentregistry/**/*.{m,mm,cpp,h}" 86 ss.header_dir = "ABI48_0_0react/renderer/componentregistry" 87 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 88 end 89 90 s.subspec "componentregistrynative" do |ss| 91 ss.dependency folly_dep_name, folly_version 92 ss.compiler_flags = folly_compiler_flags 93 ss.source_files = "react/renderer/componentregistry/native/**/*.{m,mm,cpp,h}" 94 ss.header_dir = "ABI48_0_0react/renderer/componentregistry/native" 95 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 96 end 97 98 s.subspec "components" do |ss| 99 ss.subspec "activityindicator" do |sss| 100 sss.dependency folly_dep_name, folly_version 101 sss.compiler_flags = folly_compiler_flags 102 sss.source_files = "react/renderer/components/activityindicator/**/*.{m,mm,cpp,h}" 103 sss.exclude_files = "react/renderer/components/activityindicator/tests" 104 sss.header_dir = "ABI48_0_0react/renderer/components/activityindicator" 105 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 106 end 107 108 ss.subspec "image" do |sss| 109 sss.dependency folly_dep_name, folly_version 110 sss.compiler_flags = folly_compiler_flags 111 sss.source_files = "react/renderer/components/image/**/*.{m,mm,cpp,h}" 112 sss.exclude_files = "react/renderer/components/image/tests" 113 sss.header_dir = "ABI48_0_0react/renderer/components/image" 114 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 115 end 116 117 ss.subspec "inputaccessory" do |sss| 118 sss.dependency folly_dep_name, folly_version 119 sss.compiler_flags = folly_compiler_flags 120 sss.source_files = "react/renderer/components/inputaccessory/**/*.{m,mm,cpp,h}" 121 sss.exclude_files = "react/renderer/components/inputaccessory/tests" 122 sss.header_dir = "ABI48_0_0react/renderer/components/inputaccessory" 123 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 124 end 125 126 ss.subspec "legacyviewmanagerinterop" do |sss| 127 sss.dependency folly_dep_name, folly_version 128 sss.compiler_flags = folly_compiler_flags 129 sss.source_files = "react/renderer/components/legacyviewmanagerinterop/**/*.{m,mm,cpp,h}" 130 sss.exclude_files = "react/renderer/components/legacyviewmanagerinterop/tests" 131 sss.header_dir = "ABI48_0_0react/renderer/components/legacyviewmanagerinterop" 132 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/Headers/Private/React-Core\"" } 133 end 134 135 ss.subspec "modal" do |sss| 136 sss.dependency folly_dep_name, folly_version 137 sss.compiler_flags = folly_compiler_flags 138 sss.source_files = "react/renderer/components/modal/**/*.{m,mm,cpp,h}" 139 sss.exclude_files = "react/renderer/components/modal/tests" 140 sss.header_dir = "ABI48_0_0react/renderer/components/modal" 141 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 142 end 143 144 ss.subspec "root" do |sss| 145 sss.dependency folly_dep_name, folly_version 146 sss.compiler_flags = folly_compiler_flags 147 sss.source_files = "react/renderer/components/root/**/*.{m,mm,cpp,h}" 148 sss.exclude_files = "react/renderer/components/root/tests" 149 sss.header_dir = "ABI48_0_0react/renderer/components/root" 150 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 151 end 152 153 ss.subspec "safeareaview" do |sss| 154 sss.dependency folly_dep_name, folly_version 155 sss.compiler_flags = folly_compiler_flags 156 sss.source_files = "react/renderer/components/safeareaview/**/*.{m,mm,cpp,h}" 157 sss.exclude_files = "react/renderer/components/safeareaview/tests" 158 sss.header_dir = "ABI48_0_0react/renderer/components/safeareaview" 159 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 160 end 161 162 ss.subspec "scrollview" do |sss| 163 sss.dependency folly_dep_name, folly_version 164 sss.compiler_flags = folly_compiler_flags 165 sss.source_files = "react/renderer/components/scrollview/**/*.{m,mm,cpp,h}" 166 sss.exclude_files = "react/renderer/components/scrollview/tests" 167 sss.header_dir = "ABI48_0_0react/renderer/components/scrollview" 168 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 169 end 170 171 ss.subspec "slider" do |sss| 172 sss.dependency folly_dep_name, folly_version 173 sss.compiler_flags = folly_compiler_flags 174 sss.source_files = "react/renderer/components/slider/**/*.{m,mm,cpp,h}" 175 sss.exclude_files = "react/renderer/components/slider/tests/**/*", 176 "react/renderer/components/slider/platform/android" 177 sss.header_dir = "ABI48_0_0react/renderer/components/slider" 178 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 179 end 180 181 ss.subspec "text" do |sss| 182 sss.dependency folly_dep_name, folly_version 183 sss.compiler_flags = folly_compiler_flags 184 sss.source_files = "react/renderer/components/text/**/*.{m,mm,cpp,h}" 185 sss.exclude_files = "react/renderer/components/text/tests" 186 sss.header_dir = "ABI48_0_0react/renderer/components/text" 187 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 188 end 189 190 ss.subspec "textinput" do |sss| 191 sss.dependency folly_dep_name, folly_version 192 sss.compiler_flags = folly_compiler_flags 193 sss.source_files = "react/renderer/components/textinput/iostextinput/**/*.{m,mm,cpp,h}" 194 sss.exclude_files = "react/renderer/components/textinput/iostextinput/tests" 195 sss.header_dir = "ABI48_0_0react/renderer/components/iostextinput" 196 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 197 end 198 199 ss.subspec "unimplementedview" do |sss| 200 sss.dependency folly_dep_name, folly_version 201 sss.compiler_flags = folly_compiler_flags 202 sss.source_files = "react/renderer/components/unimplementedview/**/*.{m,mm,cpp,h}" 203 sss.exclude_files = "react/renderer/components/unimplementedview/tests" 204 sss.header_dir = "ABI48_0_0react/renderer/components/unimplementedview" 205 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 206 end 207 208 ss.subspec "view" do |sss| 209 sss.dependency folly_dep_name, folly_version 210 sss.dependency "ABI48_0_0Yoga" 211 sss.compiler_flags = folly_compiler_flags 212 sss.source_files = "react/renderer/components/view/**/*.{m,mm,cpp,h}" 213 sss.exclude_files = "react/renderer/components/view/tests" 214 sss.header_dir = "ABI48_0_0react/renderer/components/view" 215 sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 216 end 217 end 218 219 s.subspec "debug_core" do |ss| 220 ss.dependency folly_dep_name, folly_version 221 ss.compiler_flags = folly_compiler_flags 222 ss.source_files = "react/debug/**/*.{m,mm,cpp,h}" 223 ss.exclude_files = "react/debug/tests" 224 ss.header_dir = "ABI48_0_0react/debug" 225 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 226 end 227 228 s.subspec "debug_renderer" do |ss| 229 ss.dependency folly_dep_name, folly_version 230 ss.compiler_flags = folly_compiler_flags 231 ss.source_files = "react/renderer/debug/**/*.{m,mm,cpp,h}" 232 ss.exclude_files = "react/renderer/debug/tests" 233 ss.header_dir = "ABI48_0_0react/renderer/debug" 234 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 235 end 236 237 s.subspec "imagemanager" do |ss| 238 ss.dependency "ABI48_0_0React-RCTImage", version 239 ss.dependency folly_dep_name, folly_version 240 ss.compiler_flags = folly_compiler_flags 241 ss.source_files = "react/renderer/imagemanager/**/*.{m,mm,cpp,h}" 242 ss.exclude_files = "react/renderer/imagemanager/tests", 243 "react/renderer/imagemanager/platform/android", 244 "react/renderer/imagemanager/platform/cxx" 245 ss.header_dir = "ABI48_0_0react/renderer/imagemanager" 246 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 247 end 248 249 s.subspec "mapbuffer" do |ss| 250 ss.dependency folly_dep_name, folly_version 251 ss.compiler_flags = folly_compiler_flags 252 ss.source_files = "react/renderer/mapbuffer/**/*.{m,mm,cpp,h}" 253 ss.exclude_files = "react/renderer/mapbuffer/tests" 254 ss.header_dir = "ABI48_0_0react/renderer/mapbuffer" 255 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 256 end 257 258 s.subspec "mounting" do |ss| 259 ss.dependency folly_dep_name, folly_version 260 ss.compiler_flags = folly_compiler_flags 261 ss.source_files = "react/renderer/mounting/**/*.{m,mm,cpp,h}" 262 ss.exclude_files = "react/renderer/mounting/tests" 263 ss.header_dir = "ABI48_0_0react/renderer/mounting" 264 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 265 end 266 267 s.subspec "scheduler" do |ss| 268 ss.dependency folly_dep_name, folly_version 269 ss.compiler_flags = folly_compiler_flags 270 ss.source_files = "react/renderer/scheduler/**/*.{m,mm,cpp,h}" 271 ss.header_dir = "ABI48_0_0react/renderer/scheduler" 272 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 273 end 274 275 s.subspec "templateprocessor" do |ss| 276 ss.dependency folly_dep_name, folly_version 277 ss.compiler_flags = folly_compiler_flags 278 ss.source_files = "react/renderer/templateprocessor/**/*.{m,mm,cpp,h}" 279 ss.exclude_files = "react/renderer/templateprocessor/tests" 280 ss.header_dir = "ABI48_0_0react/renderer/templateprocessor" 281 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 282 end 283 284 s.subspec "textlayoutmanager" do |ss| 285 ss.dependency folly_dep_name, folly_version 286 ss.dependency "ABI48_0_0React-Fabric/uimanager" 287 ss.compiler_flags = folly_compiler_flags 288 ss.source_files = "react/renderer/textlayoutmanager/platform/ios/**/*.{m,mm,cpp,h}", 289 "react/renderer/textlayoutmanager/*.{m,mm,cpp,h}" 290 ss.exclude_files = "react/renderer/textlayoutmanager/tests", 291 "react/renderer/textlayoutmanager/platform/android", 292 "react/renderer/textlayoutmanager/platform/cxx" 293 ss.header_dir = "ABI48_0_0react/renderer/textlayoutmanager" 294 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 295 end 296 297 s.subspec "uimanager" do |ss| 298 ss.dependency folly_dep_name, folly_version 299 ss.compiler_flags = folly_compiler_flags 300 ss.source_files = "react/renderer/uimanager/**/*.{m,mm,cpp,h}" 301 ss.exclude_files = "react/renderer/uimanager/tests" 302 ss.header_dir = "ABI48_0_0react/renderer/uimanager" 303 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 304 end 305 306 s.subspec "telemetry" do |ss| 307 ss.dependency folly_dep_name, folly_version 308 ss.compiler_flags = folly_compiler_flags 309 ss.source_files = "react/renderer/telemetry/**/*.{m,mm,cpp,h}" 310 ss.exclude_files = "react/renderer/telemetry/tests" 311 ss.header_dir = "ABI48_0_0react/renderer/telemetry" 312 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 313 end 314 315 s.subspec "leakchecker" do |ss| 316 ss.dependency folly_dep_name, folly_version 317 ss.compiler_flags = folly_compiler_flags 318 ss.source_files = "react/renderer/leakchecker/**/*.{cpp,h}" 319 ss.exclude_files = "react/renderer/leakchecker/tests" 320 ss.header_dir = "ABI48_0_0react/renderer/leakchecker" 321 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"", 322 "GCC_WARN_PEDANTIC" => "YES" } 323 end 324 325 s.subspec "runtimescheduler" do |ss| 326 ss.dependency folly_dep_name, folly_version 327 ss.compiler_flags = folly_compiler_flags 328 ss.source_files = "react/renderer/runtimescheduler/**/*.{cpp,h}" 329 ss.exclude_files = "react/renderer/runtimescheduler/tests" 330 ss.header_dir = "ABI48_0_0react/renderer/runtimescheduler" 331 ss.pod_target_xcconfig = {"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"", 332 "GCC_WARN_PEDANTIC" => "YES" } 333 end 334 335 s.subspec "utils" do |ss| 336 ss.source_files = "react/utils/*.{m,mm,cpp,h}" 337 ss.header_dir = "ABI48_0_0react/utils" 338 ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\""} 339 end 340 341end 342