1af2ec015STomasz Sapeta# Copyright (c) Meta Platforms, Inc. and affiliates. 2af2ec015STomasz Sapeta# 3af2ec015STomasz Sapeta# This source code is licensed under the MIT license found in the 4af2ec015STomasz Sapeta# LICENSE file in the root directory of this source tree. 5af2ec015STomasz Sapeta 6af2ec015STomasz Sapetarequire "json" 7af2ec015STomasz Sapeta 8af2ec015STomasz Sapetapackage = JSON.parse(File.read(File.join(__dir__, "..", "package.json"))) 9af2ec015STomasz Sapetaversion = package['version'] 10af2ec015STomasz Sapeta 11af2ec015STomasz Sapeta 12af2ec015STomasz Sapeta 13af2ec015STomasz Sapetafolly_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' 14af2ec015STomasz Sapetafolly_version = '2021.07.22.00' 15af2ec015STomasz Sapetaboost_compiler_flags = '-Wno-documentation' 16af2ec015STomasz Sapetausing_hermes = ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1" 17af2ec015STomasz SapetaPod::Spec.new do |s| 18af2ec015STomasz Sapeta s.name = "ABI49_0_0ReactCommon" 19af2ec015STomasz Sapeta s.module_name = "ABI49_0_0ReactCommon" 20af2ec015STomasz Sapeta s.version = version 21af2ec015STomasz Sapeta s.summary = "-" # TODO 22af2ec015STomasz Sapeta s.homepage = "https://reactnative.dev/" 23af2ec015STomasz Sapeta s.license = package["license"] 24af2ec015STomasz Sapeta s.author = "Meta Platforms, Inc. and its affiliates" 25af2ec015STomasz Sapeta s.platforms = { :ios => "12.4" } 26af2ec015STomasz Sapeta s.source = { :path => "." } 27af2ec015STomasz Sapeta s.header_dir = "ABI49_0_0ReactCommon" # Use global header_dir for all subspecs for use_frameworks! compatibility 28af2ec015STomasz Sapeta s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags 29af2ec015STomasz Sapeta s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/ABI49_0_0React-Core\"", 30af2ec015STomasz Sapeta "USE_HEADERMAP" => "YES", "DEFINES_MODULE" => "YES", 31af2ec015STomasz Sapeta "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", 32af2ec015STomasz Sapeta "GCC_WARN_PEDANTIC" => "YES" } 33af2ec015STomasz Sapeta if ENV['USE_FRAMEWORKS'] 34*bdf1985aSTomasz Sapeta s.header_mappings_dir = File.absolute_path("./") 35af2ec015STomasz Sapeta end 36af2ec015STomasz Sapeta 37af2ec015STomasz Sapeta # TODO (T48588859): Restructure this target to align with dir structure: "react/nativemodule/..." 38af2ec015STomasz Sapeta # Note: Update this only when ready to minimize breaking changes. 39af2ec015STomasz Sapeta s.subspec "turbomodule" do |ss| 40af2ec015STomasz Sapeta ss.dependency "ABI49_0_0React-callinvoker", version 41af2ec015STomasz Sapeta ss.dependency "ABI49_0_0React-perflogger", version 42af2ec015STomasz Sapeta ss.dependency "ABI49_0_0React-cxxreact", version 43af2ec015STomasz Sapeta ss.dependency "ABI49_0_0React-jsi", version 44af2ec015STomasz Sapeta ss.dependency "RCT-Folly", folly_version 45af2ec015STomasz Sapeta s.dependency "ABI49_0_0React-logger", version 46af2ec015STomasz Sapeta ss.dependency "DoubleConversion" 47af2ec015STomasz Sapeta ss.dependency "glog" 48af2ec015STomasz Sapeta if using_hermes 49af2ec015STomasz Sapeta ss.dependency "ABI49_0_0hermes-engine" 50af2ec015STomasz Sapeta end 51af2ec015STomasz Sapeta 52af2ec015STomasz Sapeta ss.subspec "bridging" do |sss| 53af2ec015STomasz Sapeta sss.dependency "ABI49_0_0React-jsi", version 54af2ec015STomasz Sapeta sss.source_files = "react/bridging/**/*.{cpp,h}" 55af2ec015STomasz Sapeta sss.exclude_files = "react/bridging/tests" 56af2ec015STomasz Sapeta sss.header_dir = "ABI49_0_0react/bridging" 57af2ec015STomasz Sapeta sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" } 58af2ec015STomasz Sapeta if using_hermes 59af2ec015STomasz Sapeta sss.dependency "ABI49_0_0hermes-engine" 60af2ec015STomasz Sapeta end 61af2ec015STomasz Sapeta end 62af2ec015STomasz Sapeta 63af2ec015STomasz Sapeta ss.subspec "core" do |sss| 64af2ec015STomasz Sapeta sss.source_files = "react/nativemodule/core/ReactCommon/**/*.{cpp,h}" 65af2ec015STomasz Sapeta end 66af2ec015STomasz Sapeta end 67af2ec015STomasz Sapetaend 68