Skip to content

Commit fda8cda

Browse files
authored
fix(react-native-host): build fixes for 0.78 (#3488)
1 parent 90d5b94 commit fda8cda

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@rnx-kit/react-native-host": patch
3+
---
4+
5+
Build fixes for 0.78

packages/react-native-host/cocoa/RNXBridgelessHeaders.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010
#import <ReactCommon/RCTJscInstance.h>
1111
#endif // USE_HERMES
1212

13+
#if __has_include(<react/config/ReactNativeConfig.h>)
1314
#import <react/config/ReactNativeConfig.h>
15+
#define USE_REACT_NATIVE_CONFIG
16+
#endif // __has_include(<react/config/ReactNativeConfig.h>)
1417

1518
#if __has_include(<react/featureflags/ReactNativeFeatureFlags.h>)
1619
#import <react/featureflags/ReactNativeFeatureFlags.h>

packages/react-native-host/cocoa/ReactNativeHost.mm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616

1717
@class RCTSurfacePresenter;
1818

19+
#ifdef USE_REACT_NATIVE_CONFIG
1920
using ReactNativeConfig = facebook::react::EmptyReactNativeConfig const;
21+
#endif // USE_REACT_NATIVE_CONFIG
2022

2123
#if USE_BRIDGELESS
2224
@interface ReactNativeHost () <RCTContextContainerHandling>
@@ -34,7 +36,9 @@ @implementation ReactNativeHost {
3436
RCTHost *_reactHost;
3537
NSLock *_isShuttingDown;
3638
RNXHostReleaser *_hostReleaser;
39+
#ifdef USE_REACT_NATIVE_CONFIG
3740
std::shared_ptr<ReactNativeConfig> _reactNativeConfig;
41+
#endif // USE_REACT_NATIVE_CONFIG
3842
}
3943

4044
- (instancetype)initWithConfig:(id<RNXHostConfig>)config
@@ -197,7 +201,9 @@ - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
197201
- (void)didCreateContextContainer:
198202
(std::shared_ptr<facebook::react::ContextContainer>)contextContainer
199203
{
204+
#ifdef USE_REACT_NATIVE_CONFIG
200205
contextContainer->insert("ReactNativeConfig", _reactNativeConfig);
206+
#endif // USE_REACT_NATIVE_CONFIG
201207
}
202208

203209
#else // USE_BRIDGELESS
@@ -254,15 +260,21 @@ - (void)initializeReactHost
254260
RCTEnableTurboModuleInterop(YES);
255261
RCTEnableTurboModuleInteropBridgeProxy(YES);
256262

263+
#ifdef USE_REACT_NATIVE_CONFIG
257264
_reactNativeConfig = std::make_shared<ReactNativeConfig>();
258265
std::weak_ptr<ReactNativeConfig> reactNativeConfig{_reactNativeConfig};
266+
#endif // USE_REACT_NATIVE_CONFIG
259267

260268
SharedJSRuntimeFactory (^jsEngineProvider)() = ^SharedJSRuntimeFactory {
261269
#if USE_HERMES
270+
#ifdef USE_REACT_NATIVE_CONFIG
262271
auto config = reactNativeConfig.lock();
263272
NSAssert(config, @"Expected nonnull ReactNativeConfig instance");
264273
return std::make_shared<facebook::react::RCTHermesInstance>(config, nullptr);
265274
#else
275+
return std::make_shared<facebook::react::RCTHermesInstance>(nullptr, false);
276+
#endif // USE_REACT_NATIVE_CONFIG
277+
#else // USE_HERMES
266278
return std::make_shared<facebook::react::RCTJscInstance>();
267279
#endif // USE_HERMES
268280
};

0 commit comments

Comments
 (0)