diff --git a/packages/react-native/ReactAndroid/build.gradle.kts b/packages/react-native/ReactAndroid/build.gradle.kts index 3385ae79cfde..f000afebe2fe 100644 --- a/packages/react-native/ReactAndroid/build.gradle.kts +++ b/packages/react-native/ReactAndroid/build.gradle.kts @@ -146,6 +146,7 @@ val preparePrefab by Pair("../ReactCommon/react/debug/", "react/debug/"), // react_renderer_debug Pair("../ReactCommon/react/renderer/debug/", "react/renderer/debug/"), + Pair("../ReactCommon/react/renderer/debug/React/", "React/"), // react_renderer_graphics Pair("../ReactCommon/react/renderer/graphics/", "react/renderer/graphics/"), Pair("../ReactCommon/react/renderer/graphics/platform/android/", ""), diff --git a/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt index a1fccffe2bf8..797a7dfae22c 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt @@ -12,7 +12,7 @@ file(GLOB react_renderer_debug_SRC CONFIGURE_DEPENDS *.cpp) add_library(react_renderer_debug OBJECT ${react_renderer_debug_SRC}) target_include_directories(react_renderer_debug PUBLIC ${REACT_COMMON_DIR}) -target_link_libraries(react_renderer_debug folly_runtime react_debug) +target_link_libraries(react_renderer_debug folly_runtime react_cxxstableapi react_debug) target_compile_reactnative_options(react_renderer_debug PRIVATE) target_compile_options(react_renderer_debug PRIVATE -Wpedantic) diff --git a/packages/react-native/ReactCommon/react/renderer/debug/DebugStringConvertible.h b/packages/react-native/ReactCommon/react/renderer/debug/DebugStringConvertible.h index 726531a2837e..e298aa11d57f 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/DebugStringConvertible.h +++ b/packages/react-native/ReactCommon/react/renderer/debug/DebugStringConvertible.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.h b/packages/react-native/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.h index dd9e79039595..ad3d261a3a6e 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.h +++ b/packages/react-native/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec b/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec index d53f4077d6c5..e57440dbeec2 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +++ b/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec @@ -31,9 +31,8 @@ Pod::Spec.new do |s| s.author = "Meta Platforms, Inc. and its affiliates" s.platforms = min_supported_versions s.source = source - s.source_files = podspec_sources("**/*.{cpp,h,mm}", "**/*.h") + s.source_files = podspec_sources("*.{cpp,h,mm}", "*.h") s.header_dir = "react/renderer/debug" - s.exclude_files = "tests" s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(), "HEADER_SEARCH_PATHS" => header_search_paths.join(' '), @@ -46,5 +45,13 @@ Pod::Spec.new do |s| add_rn_third_party_dependencies(s) add_rncore_dependency(s) + s.dependency "React-cxxstableapi" + + s.subspec "debugUmbrella" do |ss| + ss.source_files = "React/*.h" + ss.header_dir = "React" + ss.header_mappings_dir = "React" + end + mark_as_react_native_build(s) end diff --git a/packages/react-native/ReactCommon/react/renderer/debug/React/RendererDebug.h b/packages/react-native/ReactCommon/react/renderer/debug/React/RendererDebug.h new file mode 100644 index 000000000000..26739ccb63d2 --- /dev/null +++ b/packages/react-native/ReactCommon/react/renderer/debug/React/RendererDebug.h @@ -0,0 +1,30 @@ +/* + * 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/renderer/debug` 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. Scoped to +// this block so later *direct* includes in the same TU are still caught. +#define RN_UMBRELLA_CONTEXT + +#include +#include +#include +#include + +#undef RN_UMBRELLA_CONTEXT diff --git a/packages/react-native/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h b/packages/react-native/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h index 1270f181360c..acc9a23fd84f 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +++ b/packages/react-native/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/debug/flags.h b/packages/react-native/ReactCommon/react/renderer/debug/flags.h index 4fd6f16eaaa0..34c1264dae07 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/flags.h +++ b/packages/react-native/ReactCommon/react/renderer/debug/flags.h @@ -7,6 +7,8 @@ #pragma once +#include + #include // diff --git a/packages/react-native/scripts/ios-prebuild/headers-config.js b/packages/react-native/scripts/ios-prebuild/headers-config.js index 8689316ff74c..ab09d6a6f581 100644 --- a/packages/react-native/scripts/ios-prebuild/headers-config.js +++ b/packages/react-native/scripts/ios-prebuild/headers-config.js @@ -597,6 +597,23 @@ const PodspecExceptions /*: {[key: string]: PodSpecConfiguration} */ = { 'Libraries/PushNotificationIOS/React-RCTPushNotification.podspec': { disabled: true, }, + 'ReactCommon/react/renderer/debug/React-rendererdebug.podspec': { + name: 'React-rendererdebug', + headerPatterns: [], + headerDir: '', + subSpecs: [ + { + name: 'debug', + headerPatterns: ['*.h'], + headerDir: 'react/renderer/debug', + }, + { + name: 'debugUmbrella', + headerPatterns: ['React/*.h'], + headerDir: 'React', + }, + ], + }, }; module.exports = {PodspecExceptions};