diff --git a/packages/react-native-host/ReactNativeHost.podspec b/packages/react-native-host/ReactNativeHost.podspec index 08feac04d3..f3d572840e 100644 --- a/packages/react-native-host/ReactNativeHost.podspec +++ b/packages/react-native-host/ReactNativeHost.podspec @@ -10,8 +10,10 @@ repo_dir = repository['directory'] new_arch_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == '1' preprocessor_definitions = [ - '$(inherit)', + '$(inherited)', "USE_HERMES=#{ENV['USE_HERMES'] || '0'}", + "USE_THIRD_PARTY_JSC=#{ENV['USE_THIRD_PARTY_JSC'] || '0'}", + "USE_V8=#{ENV['USE_V8'] || '0'}", ] if new_arch_enabled preprocessor_definitions << 'RCT_NEW_ARCH_ENABLED=1' @@ -49,6 +51,7 @@ Pod::Spec.new do |s| 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++20', 'DEFINES_MODULE' => 'YES', 'GCC_PREPROCESSOR_DEFINITIONS' => preprocessor_definitions, + 'CPP_PREPROCESSOR_DEFINITIONS' => preprocessor_definitions, 'HEADER_SEARCH_PATHS' => [ '$(PODS_ROOT)/Headers/Private/React-Core', '$(PODS_CONFIGURATION_BUILD_DIR)/React-RuntimeApple/React_RuntimeApple.framework/Headers', diff --git a/packages/react-native-host/cocoa/RNXBridgelessHeaders.h b/packages/react-native-host/cocoa/RNXBridgelessHeaders.h index bfa2129e11..fd3285c307 100644 --- a/packages/react-native-host/cocoa/RNXBridgelessHeaders.h +++ b/packages/react-native-host/cocoa/RNXBridgelessHeaders.h @@ -8,8 +8,12 @@ #if USE_HERMES #import +#elif USE_V8 +#import +#elif __has_include() +#import #else -#import +#import // RN pre 0.80 #endif // USE_HERMES #ifdef USE_REACT_NATIVE_CONFIG diff --git a/packages/react-native-host/cocoa/ReactNativeHost.mm b/packages/react-native-host/cocoa/ReactNativeHost.mm index 510805387d..b0c2d34111 100644 --- a/packages/react-native-host/cocoa/ReactNativeHost.mm +++ b/packages/react-native-host/cocoa/ReactNativeHost.mm @@ -289,16 +289,18 @@ - (void)initializeReactHost SharedJSRuntimeFactory (^jsEngineProvider)() = ^SharedJSRuntimeFactory { #if USE_HERMES -#ifdef USE_REACT_NATIVE_CONFIG + #ifdef USE_REACT_NATIVE_CONFIG auto config = reactNativeConfig.lock(); NSAssert(config, @"Expected nonnull ReactNativeConfig instance"); return std::make_shared(config, nullptr); -#else + #else return std::make_shared(nullptr, false); -#endif // USE_REACT_NATIVE_CONFIG -#else // USE_HERMES + #endif // USE_REACT_NATIVE_CONFIG +#elif USE_V8 + return std::make_shared(); +#else return std::make_shared(); -#endif // USE_HERMES +#endif }; __weak __typeof(self) weakSelf = self;