diff --git a/packages/react-native/React/React-RCTFabric.podspec b/packages/react-native/React/React-RCTFabric.podspec index 9fc412b31e05..121669d1fa0e 100644 --- a/packages/react-native/React/React-RCTFabric.podspec +++ b/packages/react-native/React/React-RCTFabric.podspec @@ -66,6 +66,7 @@ Pod::Spec.new do |s| s.dependency "RCTSwiftUIWrapper" add_dependency(s, "React-FabricImage") + add_dependency(s, "React-cxxreact") add_dependency(s, "React-Fabric", :additional_framework_paths => [ "react/renderer/components/scrollview/platform/cxx", "react/renderer/components/scrollview/platform/ios", diff --git a/packages/react-native/ReactAndroid/build.gradle.kts b/packages/react-native/ReactAndroid/build.gradle.kts index 5a6fe3f7530e..f792d51a8567 100644 --- a/packages/react-native/ReactAndroid/build.gradle.kts +++ b/packages/react-native/ReactAndroid/build.gradle.kts @@ -113,6 +113,7 @@ val preparePrefab by // reactnativejni Pair("src/main/jni/react/jni", "react/jni/"), Pair("../ReactCommon/cxxreact/", "cxxreact/"), + Pair("../ReactCommon/cxxreact/React/", "React/"), // react_featureflags Pair("../ReactCommon/react/featureflags/", "react/featureflags/"), Pair("../ReactCommon/react/featureflags/React/", "React/"), @@ -165,6 +166,8 @@ val preparePrefab by Pair("../ReactCommon/react/renderer/uimanager/", "react/renderer/uimanager/"), // react_utils Pair("../ReactCommon/react/utils/", "react/utils/"), + Pair("../ReactCommon/react/utils/platform/android/", ""), + Pair("../ReactCommon/react/utils/React/", "React/"), // rrc_image Pair( "../ReactCommon/react/renderer/components/image/", diff --git a/packages/react-native/ReactCommon/ReactCommon.podspec b/packages/react-native/ReactCommon/ReactCommon.podspec index 4e3896458af2..11ef835aaf9e 100644 --- a/packages/react-native/ReactCommon/ReactCommon.podspec +++ b/packages/react-native/ReactCommon/ReactCommon.podspec @@ -51,7 +51,7 @@ Pod::Spec.new do |s| ss.subspec "core" do |sss| sss.source_files = podspec_sources("react/nativemodule/core/ReactCommon/**/*.{cpp,h}", "react/nativemodule/core/ReactCommon/**/*.h") - sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_featureflags.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-utils/React_utils.framework/Headers\"" } + sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_featureflags.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-utils/React_utils.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-cxxreact/React_cxxreact.framework/Headers\"" } sss.dependency "React-bridging" sss.dependency "React-cxxreact", version sss.dependency "React-debug", version diff --git a/packages/react-native/ReactCommon/cxxreact/CMakeLists.txt b/packages/react-native/ReactCommon/cxxreact/CMakeLists.txt index 2a5e973e95b1..8dc5a4d11016 100644 --- a/packages/react-native/ReactCommon/cxxreact/CMakeLists.txt +++ b/packages/react-native/ReactCommon/cxxreact/CMakeLists.txt @@ -12,6 +12,7 @@ file(GLOB react_cxxreact_SRC CONFIGURE_DEPENDS *.cpp) add_library(react_cxxreact OBJECT ${react_cxxreact_SRC}) target_include_directories(react_cxxreact PUBLIC ${REACT_COMMON_DIR}) +target_include_directories(react_cxxreact INTERFACE ${REACT_COMMON_DIR}/cxxreact) target_link_libraries(react_cxxreact boost @@ -22,6 +23,7 @@ target_link_libraries(react_cxxreact jsi jsinspector logger + react_cxxstableapi reactperflogger runtimeexecutor react_debug) diff --git a/packages/react-native/ReactCommon/cxxreact/JSBigString.h b/packages/react-native/ReactCommon/cxxreact/JSBigString.h index a2365dee8962..c1316edb388c 100644 --- a/packages/react-native/ReactCommon/cxxreact/JSBigString.h +++ b/packages/react-native/ReactCommon/cxxreact/JSBigString.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include diff --git a/packages/react-native/ReactCommon/cxxreact/JSBundleType.h b/packages/react-native/ReactCommon/cxxreact/JSBundleType.h index 08cb4d4974fe..e31f20a5f9c0 100644 --- a/packages/react-native/ReactCommon/cxxreact/JSBundleType.h +++ b/packages/react-native/ReactCommon/cxxreact/JSBundleType.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/cxxreact/React-cxxreact.podspec b/packages/react-native/ReactCommon/cxxreact/React-cxxreact.podspec index 13b99d6fe617..bf2042bff773 100644 --- a/packages/react-native/ReactCommon/cxxreact/React-cxxreact.podspec +++ b/packages/react-native/ReactCommon/cxxreact/React-cxxreact.podspec @@ -34,6 +34,8 @@ Pod::Spec.new do |s| } s.header_dir = "cxxreact" + resolve_use_frameworks(s, header_mappings_dir: "..", module_name: "React_cxxreact") + add_dependency(s, "React-jsinspector", :framework_name => 'jsinspector_modern') add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp') add_dependency(s, "React-jsinspectortracing", :framework_name => 'jsinspector_moderntracing') @@ -45,6 +47,7 @@ Pod::Spec.new do |s| s.dependency "React-logger", version s.dependency "React-debug", version s.dependency "React-timing", version + s.dependency "React-cxxstableapi" add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"]) s.resource_bundles = {'React-cxxreact_privacy' => 'PrivacyInfo.xcprivacy'} @@ -56,5 +59,11 @@ Pod::Spec.new do |s| add_rn_third_party_dependencies(s) add_rncore_dependency(s) + s.subspec "cxxreactUmbrella" do |ss| + ss.source_files = "React/*.h" + ss.header_dir = "" + ss.header_mappings_dir = "." + end + mark_as_react_native_build(s) end diff --git a/packages/react-native/ReactCommon/cxxreact/React/JSBigString.h b/packages/react-native/ReactCommon/cxxreact/React/JSBigString.h new file mode 100644 index 000000000000..d1dbafbbcd06 --- /dev/null +++ b/packages/react-native/ReactCommon/cxxreact/React/JSBigString.h @@ -0,0 +1,33 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#pragma once + +// ============================================================================= +// Umbrella header for the `cxxreact` module - public entry point. +// +// #include +// +// Re-exports the module's public interface headers. React Native's own code +// should keep using the fine-grained `` includes; only outside +// consumers use this umbrella. +// ============================================================================= + +// Marks that the following headers are pulled in through the umbrella, so their +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 + +#include +#include + +#undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec index 3a9bde9b2591..4e637f576029 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +++ b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec @@ -40,7 +40,7 @@ Pod::Spec.new do |s| s.dependency "React-bridging" s.dependency "React-callinvoker" s.dependency "React-Core" - s.dependency "React-cxxreact" + add_dependency(s, "React-cxxreact") s.dependency "React-jsi" s.dependency "React-featureflags" add_dependency(s, "React-debug") diff --git a/packages/react-native/ReactCommon/react/utils/Base64.h b/packages/react-native/ReactCommon/react/utils/Base64.h index ec879c2b62b3..ee44506a807e 100644 --- a/packages/react-native/ReactCommon/react/utils/Base64.h +++ b/packages/react-native/ReactCommon/react/utils/Base64.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include diff --git a/packages/react-native/ReactCommon/react/utils/CMakeLists.txt b/packages/react-native/ReactCommon/react/utils/CMakeLists.txt index 89111c32fbed..5dbfdf013b05 100644 --- a/packages/react-native/ReactCommon/react/utils/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/utils/CMakeLists.txt @@ -26,11 +26,13 @@ target_include_directories(react_utils ${REACT_COMMON_DIR} ${platform_DIR} ) +target_include_directories(react_utils INTERFACE ${REACT_COMMON_DIR}/react/utils) target_link_libraries(react_utils glog glog_init jsi + react_cxxstableapi react_debug) target_compile_reactnative_options(react_utils PRIVATE) target_compile_options(react_utils PRIVATE -Wpedantic) diff --git a/packages/react-native/ReactCommon/react/utils/ContextContainer.h b/packages/react-native/ReactCommon/react/utils/ContextContainer.h index 890cff25ca73..ffc243c4f819 100644 --- a/packages/react-native/ReactCommon/react/utils/ContextContainer.h +++ b/packages/react-native/ReactCommon/react/utils/ContextContainer.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/react/utils/FloatComparison.h b/packages/react-native/ReactCommon/react/utils/FloatComparison.h index f53ada84bc2f..9b15f8164521 100644 --- a/packages/react-native/ReactCommon/react/utils/FloatComparison.h +++ b/packages/react-native/ReactCommon/react/utils/FloatComparison.h @@ -7,6 +7,8 @@ #pragma once +#include + #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/utils/ManagedObjectWrapper.h b/packages/react-native/ReactCommon/react/utils/ManagedObjectWrapper.h index 6d4f7e7d1c6b..7a12bf3a6aac 100644 --- a/packages/react-native/ReactCommon/react/utils/ManagedObjectWrapper.h +++ b/packages/react-native/ReactCommon/react/utils/ManagedObjectWrapper.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #if defined(__APPLE__) diff --git a/packages/react-native/ReactCommon/react/utils/MoveWrapper.h b/packages/react-native/ReactCommon/react/utils/MoveWrapper.h index 22a9a0f238f4..4488c160986a 100644 --- a/packages/react-native/ReactCommon/react/utils/MoveWrapper.h +++ b/packages/react-native/ReactCommon/react/utils/MoveWrapper.h @@ -7,6 +7,8 @@ #pragma once +#include + #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/utils/OnScopeExit.h b/packages/react-native/ReactCommon/react/utils/OnScopeExit.h index 633471daf826..ce680fe3904d 100644 --- a/packages/react-native/ReactCommon/react/utils/OnScopeExit.h +++ b/packages/react-native/ReactCommon/react/utils/OnScopeExit.h @@ -7,6 +7,8 @@ #pragma once +#include + #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/utils/PackTraits.h b/packages/react-native/ReactCommon/react/utils/PackTraits.h index 675cdc06ed9f..099756681b4b 100644 --- a/packages/react-native/ReactCommon/react/utils/PackTraits.h +++ b/packages/react-native/ReactCommon/react/utils/PackTraits.h @@ -7,6 +7,8 @@ #pragma once +#include + #include namespace facebook::react::traits { diff --git a/packages/react-native/ReactCommon/react/utils/React-utils.podspec b/packages/react-native/ReactCommon/react/utils/React-utils.podspec index 430fe08f0f37..18e66533db2c 100644 --- a/packages/react-native/ReactCommon/react/utils/React-utils.podspec +++ b/packages/react-native/ReactCommon/react/utils/React-utils.podspec @@ -32,7 +32,7 @@ Pod::Spec.new do |s| s.source = source s.source_files = podspec_sources(source_files, ["*.h", "platform/ios/**/*.h"]) s.header_dir = "react/utils" - s.exclude_files = "tests" + s.exclude_files = ["tests", "React"] if ENV['USE_FRAMEWORKS'] header_search_paths = header_search_paths + ["\"$(PODS_TARGET_SRCROOT)/platform/ios\""] @@ -46,6 +46,7 @@ Pod::Spec.new do |s| "DEFINES_MODULE" => "YES" } s.dependency "React-jsi", version + s.dependency "React-cxxstableapi" if use_hermes() s.dependency "hermes-engine" @@ -55,5 +56,11 @@ Pod::Spec.new do |s| add_dependency(s, "React-debug") + s.subspec "utilsUmbrella" do |ss| + ss.source_files = "React/*.h" + ss.header_dir = "" + ss.header_mappings_dir = "." + end + mark_as_react_native_build(s) end diff --git a/packages/react-native/ReactCommon/react/utils/React/Utils.h b/packages/react-native/ReactCommon/react/utils/React/Utils.h new file mode 100644 index 000000000000..40f4515aafa7 --- /dev/null +++ b/packages/react-native/ReactCommon/react/utils/React/Utils.h @@ -0,0 +1,51 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#pragma once + +// ============================================================================= +// Umbrella header for the `react/utils` module - public entry point. +// +// #include +// +// Re-exports the module's public interface headers. React Native's own code +// should keep using the fine-grained `` includes; only outside +// consumers use this umbrella. +// ============================================================================= + +// Marks that the following headers are pulled in through the umbrella, so their +// shared guard () accepts them. The marker +// is saved and restored rather than defined and undefined: the scope ends at +// this block, so later *direct* includes in the same TU are still caught, and +// it nests inside an enclosing umbrella rather than disarming it. +#pragma push_macro("RN_UMBRELLA_CONTEXT") +#undef RN_UMBRELLA_CONTEXT +#define RN_UMBRELLA_CONTEXT 1 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#undef RN_UMBRELLA_CONTEXT +#pragma pop_macro("RN_UMBRELLA_CONTEXT") diff --git a/packages/react-native/ReactCommon/react/utils/RunLoopObserver.h b/packages/react-native/ReactCommon/react/utils/RunLoopObserver.h index d226bcb5ccb1..cb7a78e0cb6e 100644 --- a/packages/react-native/ReactCommon/react/utils/RunLoopObserver.h +++ b/packages/react-native/ReactCommon/react/utils/RunLoopObserver.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/react/utils/SharedFunction.h b/packages/react-native/ReactCommon/react/utils/SharedFunction.h index 04ea9e7f05ab..9f24022dcd2a 100644 --- a/packages/react-native/ReactCommon/react/utils/SharedFunction.h +++ b/packages/react-native/ReactCommon/react/utils/SharedFunction.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/react/utils/SimpleThreadSafeCache.h b/packages/react-native/ReactCommon/react/utils/SimpleThreadSafeCache.h index e5c8994b1b87..87e7cd701529 100644 --- a/packages/react-native/ReactCommon/react/utils/SimpleThreadSafeCache.h +++ b/packages/react-native/ReactCommon/react/utils/SimpleThreadSafeCache.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/react/utils/Telemetry.h b/packages/react-native/ReactCommon/react/utils/Telemetry.h index d7ebf2b0e82c..4168fed247e4 100644 --- a/packages/react-native/ReactCommon/react/utils/Telemetry.h +++ b/packages/react-native/ReactCommon/react/utils/Telemetry.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include diff --git a/packages/react-native/ReactCommon/react/utils/TemplateStringLiteral.h b/packages/react-native/ReactCommon/react/utils/TemplateStringLiteral.h index 94508ae7ed41..4dc7162ee2d6 100644 --- a/packages/react-native/ReactCommon/react/utils/TemplateStringLiteral.h +++ b/packages/react-native/ReactCommon/react/utils/TemplateStringLiteral.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/react/utils/Uuid.h b/packages/react-native/ReactCommon/react/utils/Uuid.h index 2ae20de419b4..07a427162cea 100644 --- a/packages/react-native/ReactCommon/react/utils/Uuid.h +++ b/packages/react-native/ReactCommon/react/utils/Uuid.h @@ -7,6 +7,8 @@ #pragma once +#include + #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/utils/fnv1a.h b/packages/react-native/ReactCommon/react/utils/fnv1a.h index 6b5a5efbfd12..8abcb1d78848 100644 --- a/packages/react-native/ReactCommon/react/utils/fnv1a.h +++ b/packages/react-native/ReactCommon/react/utils/fnv1a.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/react/utils/hash_combine.h b/packages/react-native/ReactCommon/react/utils/hash_combine.h index 779d084d80c1..2c2912c2c8a9 100644 --- a/packages/react-native/ReactCommon/react/utils/hash_combine.h +++ b/packages/react-native/ReactCommon/react/utils/hash_combine.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/react/utils/iequals.h b/packages/react-native/ReactCommon/react/utils/iequals.h index ff1ea60733e7..54e0fcb1f091 100644 --- a/packages/react-native/ReactCommon/react/utils/iequals.h +++ b/packages/react-native/ReactCommon/react/utils/iequals.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include diff --git a/packages/react-native/ReactCommon/react/utils/jsi-utils.h b/packages/react-native/ReactCommon/react/utils/jsi-utils.h index d907339b42b0..22478df77613 100644 --- a/packages/react-native/ReactCommon/react/utils/jsi-utils.h +++ b/packages/react-native/ReactCommon/react/utils/jsi-utils.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include diff --git a/packages/react-native/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h b/packages/react-native/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h index 160efadb16a7..4a61e63267ac 100644 --- a/packages/react-native/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h +++ b/packages/react-native/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h @@ -7,6 +7,10 @@ #pragma once +#include + +#include + namespace facebook::react::LowPriorityExecutor { void execute(std::function &&workItem); diff --git a/packages/react-native/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h b/packages/react-native/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h index d70ae6edca2e..5766b8350c73 100644 --- a/packages/react-native/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +++ b/packages/react-native/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h @@ -7,6 +7,8 @@ #pragma once +#include + #include namespace facebook::react::LowPriorityExecutor { diff --git a/packages/react-native/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h b/packages/react-native/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h index 3517cac75101..4a61e63267ac 100644 --- a/packages/react-native/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +++ b/packages/react-native/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h @@ -7,6 +7,8 @@ #pragma once +#include + #include namespace facebook::react::LowPriorityExecutor { diff --git a/packages/react-native/ReactCommon/react/utils/toLower.h b/packages/react-native/ReactCommon/react/utils/toLower.h index 766d8d8791ea..0a1a033d2ed2 100644 --- a/packages/react-native/ReactCommon/react/utils/toLower.h +++ b/packages/react-native/ReactCommon/react/utils/toLower.h @@ -7,6 +7,8 @@ #pragma once +#include + namespace facebook::react { /** diff --git a/packages/react-native/ReactCommon/react/utils/to_underlying.h b/packages/react-native/ReactCommon/react/utils/to_underlying.h index 2b68a2377c9f..d86eac25ae85 100644 --- a/packages/react-native/ReactCommon/react/utils/to_underlying.h +++ b/packages/react-native/ReactCommon/react/utils/to_underlying.h @@ -7,6 +7,8 @@ #pragma once +#include + #include namespace facebook::react { diff --git a/packages/react-native/scripts/cocoapods/new_architecture.rb b/packages/react-native/scripts/cocoapods/new_architecture.rb index 98f9c743cf94..6ce3f92fc15b 100644 --- a/packages/react-native/scripts/cocoapods/new_architecture.rb +++ b/packages/react-native/scripts/cocoapods/new_architecture.rb @@ -93,13 +93,14 @@ def self.install_modules_dependencies(spec, new_arch_enabled, folly_version = He .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-runtimeexecutor", "React_runtimeexecutor", ["platform/ios"])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-NativeModulesApple", "React_NativeModulesApple", [])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-RCTFabric", "RCTFabric", [])) - .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-utils", "React_utils", [])) + .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-utils", "React_utils", ["react/utils/platform/ios"])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-featureflags", "React_featureflags", [])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-debug", "React_debug", [])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-ImageManager", "React_ImageManager", [])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-rendererdebug", "React_rendererdebug", [])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-renderercss", "React_renderercss", [])) .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-cxxstableapi", "React_cxxstableapi", [])) + .concat(ReactNativePodsUtils.create_header_search_path_for_frameworks("PODS_CONFIGURATION_BUILD_DIR", "React-cxxreact", "React_cxxreact", [])) .each { |search_path| header_search_paths << "\"#{search_path}\"" } diff --git a/packages/react-native/scripts/ios-prebuild/headers-config.js b/packages/react-native/scripts/ios-prebuild/headers-config.js index 2de57378cc11..ea01832d3122 100644 --- a/packages/react-native/scripts/ios-prebuild/headers-config.js +++ b/packages/react-native/scripts/ios-prebuild/headers-config.js @@ -602,6 +602,41 @@ const PodspecExceptions /*: {[key: string]: PodSpecConfiguration} */ = { }, ], }, + 'ReactCommon/react/utils/React-utils.podspec': { + name: 'React-utils', + headerPatterns: [], + headerDir: '', + subSpecs: [ + { + name: 'utils', + headerPatterns: ['*.h', 'platform/ios/**/*.h'], + excludePatterns: ['tests', 'React'], + headerDir: 'react/utils', + }, + { + name: 'utilsUmbrella', + headerPatterns: ['React/*.h'], + headerDir: 'React', + }, + ], + }, + 'ReactCommon/cxxreact/React-cxxreact.podspec': { + name: 'React-cxxreact', + headerPatterns: [], + headerDir: '', + subSpecs: [ + { + name: 'cxxreact', + headerPatterns: ['*.h'], + headerDir: 'cxxreact', + }, + { + name: 'cxxreactUmbrella', + headerPatterns: ['React/*.h'], + headerDir: 'React', + }, + ], + }, }; module.exports = {PodspecExceptions};