diff --git a/.circleci/configurations/top_level.yml b/.circleci/configurations/top_level.yml index bd5f53016bb69f..5d3964c113c32c 100644 --- a/.circleci/configurations/top_level.yml +++ b/.circleci/configurations/top_level.yml @@ -95,8 +95,8 @@ references: rntester_podfile_lock_cache_key: &rntester_podfile_lock_cache_key v6-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/week_year" }}-{{ checksum "/tmp/hermes/hermesversion" }} # Cocoapods - Template - template_cocoapods_cache_key: &template_cocoapods_cache_key v2-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile.lock" }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }} - template_podfile_lock_cache_key: &template_podfile_lock_cache_key v2-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/week_year" }}-{{ checksum "/tmp/hermes/hermesversion" }} + template_cocoapods_cache_key: &template_cocoapods_cache_key v3-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile.lock" }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }} + template_podfile_lock_cache_key: &template_podfile_lock_cache_key v3-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/week_year" }}-{{ checksum "/tmp/hermes/hermesversion" }} # Windows windows_yarn_cache_key: &windows_yarn_cache_key v1-win-yarn-cache-{{ arch }}-{{ checksum "yarn.lock" }} diff --git a/packages/react-native-codegen/src/generators/modules/GenerateModuleJniH.js b/packages/react-native-codegen/src/generators/modules/GenerateModuleJniH.js index 836c8184351012..fb98080755456c 100644 --- a/packages/react-native-codegen/src/generators/modules/GenerateModuleJniH.js +++ b/packages/react-native-codegen/src/generators/modules/GenerateModuleJniH.js @@ -109,7 +109,7 @@ target_compile_options( -DLOG_TAG=\\"ReactNative\\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) `; diff --git a/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleJniH-test.js.snap b/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleJniH-test.js.snap index b4adb4aa436416..cc203a0927bd07 100644 --- a/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleJniH-test.js.snap +++ b/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleJniH-test.js.snap @@ -79,7 +79,7 @@ target_compile_options( -DLOG_TAG=\\\\\\"ReactNative\\\\\\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) ", @@ -165,7 +165,7 @@ target_compile_options( -DLOG_TAG=\\\\\\"ReactNative\\\\\\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) ", @@ -244,7 +244,7 @@ target_compile_options( -DLOG_TAG=\\\\\\"ReactNative\\\\\\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) ", @@ -330,7 +330,7 @@ target_compile_options( -DLOG_TAG=\\\\\\"ReactNative\\\\\\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) ", @@ -416,7 +416,7 @@ target_compile_options( -DLOG_TAG=\\\\\\"ReactNative\\\\\\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) ", @@ -510,7 +510,7 @@ target_compile_options( -DLOG_TAG=\\\\\\"ReactNative\\\\\\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) ", @@ -596,7 +596,7 @@ target_compile_options( -DLOG_TAG=\\\\\\"ReactNative\\\\\\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) ", @@ -690,7 +690,7 @@ target_compile_options( -DLOG_TAG=\\\\\\"ReactNative\\\\\\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) ", diff --git a/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec b/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec index 90a39a1370c40c..1da904f8946f17 100644 --- a/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec +++ b/packages/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec @@ -16,7 +16,7 @@ else source[:tag] = "v#{version}" end -folly_flags = ' -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1' +folly_flags = ' -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1' folly_compiler_flags = folly_flags + ' ' + '-Wno-comma -Wno-shorten-64-to-32' is_new_arch_enabled = ENV["RCT_NEW_ARCH_ENABLED"] == "1" @@ -34,6 +34,7 @@ header_search_paths = [ "$(PODS_ROOT)/Headers/Private/React-Core", "$(PODS_ROOT)/boost", "$(PODS_ROOT)/DoubleConversion", + "$(PODS_ROOT)/fmt/include", "$(PODS_ROOT)/RCT-Folly", "${PODS_ROOT}/Headers/Public/FlipperKit", "$(PODS_ROOT)/Headers/Public/ReactCommon", @@ -75,7 +76,7 @@ Pod::Spec.new do |s| s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths, "OTHER_CPLUSPLUSFLAGS" => other_cflags, - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "DEFINES_MODULE" => "YES" } s.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/Headers/Private/React-Core\""} diff --git a/packages/react-native/Libraries/Blob/React-RCTBlob.podspec b/packages/react-native/Libraries/Blob/React-RCTBlob.podspec index 1c8fe558490dce..932a718453db25 100644 --- a/packages/react-native/Libraries/Blob/React-RCTBlob.podspec +++ b/packages/react-native/Libraries/Blob/React-RCTBlob.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -47,7 +47,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTBlob" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' ') } diff --git a/packages/react-native/Libraries/Image/React-RCTImage.podspec b/packages/react-native/Libraries/Image/React-RCTImage.podspec index 2d2850d17a959a..cc8433e25f1041 100644 --- a/packages/react-native/Libraries/Image/React-RCTImage.podspec +++ b/packages/react-native/Libraries/Image/React-RCTImage.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -48,7 +48,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTImage" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' ') } s.framework = ["Accelerate", "UIKit"] diff --git a/packages/react-native/Libraries/LinkingIOS/React-RCTLinking.podspec b/packages/react-native/Libraries/LinkingIOS/React-RCTLinking.podspec index 534962b6f10e00..1615adb288dd7e 100644 --- a/packages/react-native/Libraries/LinkingIOS/React-RCTLinking.podspec +++ b/packages/react-native/Libraries/LinkingIOS/React-RCTLinking.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -51,7 +51,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTLinking" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' ') } diff --git a/packages/react-native/Libraries/NativeAnimation/React-RCTAnimation.podspec b/packages/react-native/Libraries/NativeAnimation/React-RCTAnimation.podspec index afd7715b0e97b2..c9d0127264fde3 100644 --- a/packages/react-native/Libraries/NativeAnimation/React-RCTAnimation.podspec +++ b/packages/react-native/Libraries/NativeAnimation/React-RCTAnimation.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -47,7 +47,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTAnimation" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(" ") } diff --git a/packages/react-native/Libraries/Network/React-RCTNetwork.podspec b/packages/react-native/Libraries/Network/React-RCTNetwork.podspec index 9b0f8a9e85e3c8..87f64a701fd0ae 100644 --- a/packages/react-native/Libraries/Network/React-RCTNetwork.podspec +++ b/packages/react-native/Libraries/Network/React-RCTNetwork.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -51,7 +51,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTNetwork" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' ') } s.frameworks = "MobileCoreServices" diff --git a/packages/react-native/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec b/packages/react-native/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec index cdbdaa50ab8b60..ef4b35ae721d5d 100644 --- a/packages/react-native/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +++ b/packages/react-native/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -48,7 +48,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTPushNotification" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' ') } s.framework = "UserNotifications" diff --git a/packages/react-native/Libraries/Settings/React-RCTSettings.podspec b/packages/react-native/Libraries/Settings/React-RCTSettings.podspec index 482595894c33be..48a0e54907db74 100644 --- a/packages/react-native/Libraries/Settings/React-RCTSettings.podspec +++ b/packages/react-native/Libraries/Settings/React-RCTSettings.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -51,7 +51,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTSettings" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' ') } diff --git a/packages/react-native/Libraries/TypeSafety/RCTTypeSafety.podspec b/packages/react-native/Libraries/TypeSafety/RCTTypeSafety.podspec index 2e37af9e55a251..b13ec49c634b6b 100644 --- a/packages/react-native/Libraries/TypeSafety/RCTTypeSafety.podspec +++ b/packages/react-native/Libraries/TypeSafety/RCTTypeSafety.podspec @@ -29,7 +29,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTTypeSafety" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/Libraries/TypeSafety\"" } diff --git a/packages/react-native/Libraries/Vibration/React-RCTVibration.podspec b/packages/react-native/Libraries/Vibration/React-RCTVibration.podspec index d8eb8e49d3bb26..8911ba9963e2f7 100644 --- a/packages/react-native/Libraries/Vibration/React-RCTVibration.podspec +++ b/packages/react-native/Libraries/Vibration/React-RCTVibration.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -50,7 +50,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTVibration" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' ') } s.frameworks = "AudioToolbox" diff --git a/packages/react-native/React-Core.podspec b/packages/react-native/React-Core.podspec index 69dd16f74108d7..cf69ac3c867ae5 100644 --- a/packages/react-native/React-Core.podspec +++ b/packages/react-native/React-Core.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' socket_rocket_version = '0.6.0' boost_compiler_flags = '-Wno-documentation' @@ -47,6 +47,7 @@ header_search_paths = [ "$(PODS_TARGET_SRCROOT)/ReactCommon", "$(PODS_ROOT)/boost", "$(PODS_ROOT)/DoubleConversion", + "$(PODS_ROOT)/fmt/include", "$(PODS_ROOT)/RCT-Folly", "${PODS_ROOT}/Headers/Public/FlipperKit", "$(PODS_ROOT)/Headers/Public/ReactCommon", @@ -77,7 +78,7 @@ Pod::Spec.new do |s| "HEADER_SEARCH_PATHS" => header_search_paths, "DEFINES_MODULE" => "YES", "GCC_PREPROCESSOR_DEFINITIONS" => "RCT_METRO_PORT=${RCT_METRO_PORT}", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "FRAMEWORK_SEARCH_PATHS" => frameworks_search_paths.join(" ") } s.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/Headers/Private/React-Core\""} diff --git a/packages/react-native/React/CoreModules/React-CoreModules.podspec b/packages/react-native/React/CoreModules/React-CoreModules.podspec index caea51b5fbf160..57f71717184be1 100644 --- a/packages/react-native/React/CoreModules/React-CoreModules.podspec +++ b/packages/react-native/React/CoreModules/React-CoreModules.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' socket_rocket_version = '0.6.0' header_search_paths = [ @@ -46,7 +46,7 @@ Pod::Spec.new do |s| s.header_dir = "CoreModules" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(" ") } s.framework = "UIKit" diff --git a/packages/react-native/React/FBReactNativeSpec/FBReactNativeSpec.podspec b/packages/react-native/React/FBReactNativeSpec/FBReactNativeSpec.podspec index 0c65665cf5a685..13bad89aefba85 100644 --- a/packages/react-native/React/FBReactNativeSpec/FBReactNativeSpec.podspec +++ b/packages/react-native/React/FBReactNativeSpec/FBReactNativeSpec.podspec @@ -19,8 +19,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' Pod::Spec.new do |s| s.name = "FBReactNativeSpec" @@ -38,7 +38,7 @@ Pod::Spec.new do |s| s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\"" } diff --git a/packages/react-native/React/React-RCTFabric.podspec b/packages/react-native/React/React-RCTFabric.podspec index 62eb2cd801afa9..bd4ed10ec1943e 100644 --- a/packages/react-native/React/React-RCTFabric.podspec +++ b/packages/react-native/React/React-RCTFabric.podspec @@ -16,15 +16,16 @@ else source[:tag] = "v#{version}" end -folly_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1' +folly_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1' folly_compiler_flags = folly_flags + ' ' + '-Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' header_search_paths = [ "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"", "\"$(PODS_ROOT)/boost\"", "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/fmt/include\"", "\"$(PODS_ROOT)/RCT-Folly\"", "\"$(PODS_ROOT)/Headers/Private/React-Core\"", "\"$(PODS_ROOT)/Headers/Private/Yoga\"", @@ -69,7 +70,7 @@ Pod::Spec.new do |s| s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths, "OTHER_CFLAGS" => "$(inherited) -DRN_FABRIC_ENABLED" + " " + folly_flags, - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }.merge!(ENV['USE_FRAMEWORKS'] != nil ? { "PUBLIC_HEADERS_FOLDER_PATH" => "$(CONTENTS_FOLDER_PATH)/Headers/React" }: {}) diff --git a/packages/react-native/React/third-party.xcconfig b/packages/react-native/React/third-party.xcconfig index e4262ca0387954..b4355b58570026 100644 --- a/packages/react-native/React/third-party.xcconfig +++ b/packages/react-native/React/third-party.xcconfig @@ -8,5 +8,5 @@ // LICENSE file in the root directory of this source tree. // -HEADER_SEARCH_PATHS = $(SRCROOT)/../third-party/boost_1_76_0 $(SRCROOT)/../third-party/folly-2021.07.22.00 $(SRCROOT)/../third-party/glog-0.3.5/src -OTHER_CFLAGS = -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 +HEADER_SEARCH_PATHS = $(SRCROOT)/../third-party/boost_1_76_0 $(SRCROOT)/../third-party/folly-2022.05.16.00 $(SRCROOT)/../third-party/glog-0.3.5/src +OTHER_CFLAGS = -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 diff --git a/packages/react-native/ReactAndroid/build.gradle b/packages/react-native/ReactAndroid/build.gradle index bb60e11dd28347..57804b61902282 100644 --- a/packages/react-native/ReactAndroid/build.gradle +++ b/packages/react-native/ReactAndroid/build.gradle @@ -162,6 +162,7 @@ final def preparePrefab = tasks.register("preparePrefab", PreparePrefabHeadersTa new PrefabPreprocessingEntry( "folly_runtime", [ + new Pair(new File(buildDir, "third-party-ndk/fmt/include/").absolutePath, ""), new Pair(new File(buildDir, "third-party-ndk/folly/").absolutePath, ""), new Pair(new File(buildDir, "third-party-ndk/boost/boost_1_76_0/").absolutePath, ""), new Pair(new File(buildDir, "third-party-ndk/double-conversion/").absolutePath, ""), @@ -172,6 +173,7 @@ final def preparePrefab = tasks.register("preparePrefab", PreparePrefabHeadersTa [ new Pair(new File(buildDir, "third-party-ndk/boost/boost_1_76_0/").absolutePath, ""), new Pair(new File(buildDir, "third-party-ndk/double-conversion/").absolutePath, ""), + new Pair(new File(buildDir, "third-party-ndk/fmt/include/").absolutePath, ""), new Pair(new File(buildDir, "third-party-ndk/folly/").absolutePath, ""), new Pair(new File(buildDir, "third-party-ndk/glog/exported/").absolutePath, ""), new Pair("../ReactCommon/butter/", "butter/"), diff --git a/packages/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake b/packages/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake index a24bd464d51a40..d49fa9ed80d80b 100644 --- a/packages/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake +++ b/packages/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake @@ -54,10 +54,10 @@ target_compile_options(${CMAKE_PROJECT_NAME} # due to use migrating away from # #include # This can be removed for React Native 0.73 - -Wno-error=cpp + -Wno-error=cpp -fexceptions -frtti - -std=c++17 + -std=c++20 -DWITH_INSPECTOR=1 -DLOG_TAG=\"ReactNative\") diff --git a/packages/react-native/ReactAndroid/cmake-utils/folly-flags.cmake b/packages/react-native/ReactAndroid/cmake-utils/folly-flags.cmake index 510196a8ce74b1..63c9221cfab4af 100644 --- a/packages/react-native/ReactAndroid/cmake-utils/folly-flags.cmake +++ b/packages/react-native/ReactAndroid/cmake-utils/folly-flags.cmake @@ -12,11 +12,11 @@ set(CMAKE_VERBOSE_MAKEFILE on) SET(folly_FLAGS -DFOLLY_NO_CONFIG=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 - -DFOLLY_USE_LIBCPP=1 + -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -DFOLLY_MOBILE=1 -DFOLLY_HAVE_RECVMMSG=1 -DFOLLY_HAVE_PTHREAD=1 # Once we target android-23 above, we can comment # the following line. NDK uses GNU style stderror_r() after API 23. -DFOLLY_HAVE_XSI_STRERROR_R=1 - ) \ No newline at end of file + ) diff --git a/packages/react-native/ReactAndroid/src/main/jni/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/CMakeLists.txt index ba83e718a0602d..75f09d2a968718 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/CMakeLists.txt @@ -22,7 +22,7 @@ endif(CCACHE_FOUND) # Make sure every shared lib includes a .note.gnu.build-id header add_link_options(-Wl,--build-id) -add_compile_options(-Wall -Werror -std=c++17) +add_compile_options(-Wall -Werror -std=c++20) function(add_react_android_subdir relative_path) add_subdirectory(${REACT_ANDROID_DIR}/${relative_path} ReactAndroid/${relative_path}) @@ -188,7 +188,7 @@ add_executable(reactnative_unittest -Werror -fexceptions -frtti - -std=c++17 + -std=c++20 -DHERMES_ENABLE_DEBUGGER) target_link_libraries(reactnative_unittest diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt index 865dbb262bba71..59bdac78c1926e 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt @@ -64,6 +64,6 @@ target_compile_options( -DLOG_TAG=\"Fabric\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall ) diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt index 5a706244939548..0a7f253f63ce56 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt @@ -16,7 +16,7 @@ target_compile_options( hermes_executor PRIVATE $<$:-DHERMES_ENABLE_DEBUGGER=1> - -std=c++17 + -std=c++20 -fexceptions ) target_include_directories(hermes_executor PRIVATE .) diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt index 0e49300c78e8a4..13f248431dae02 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt @@ -11,7 +11,7 @@ file(GLOB reactnativejni_SRC CONFIGURE_DEPENDS *.cpp) add_compile_options( -fexceptions -Wno-unused-lambda-capture - -std=c++17 + -std=c++20 -DWITH_INSPECTOR=1) ###################### diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt index 0aca9cb0f4eeca..2694a9cd06783b 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) -add_compile_options(-fexceptions -frtti -std=c++17 -Wall -DLOG_TAG=\"Fabric\") +add_compile_options(-fexceptions -frtti -std=c++20 -Wall -DLOG_TAG=\"Fabric\") file(GLOB mapbuffer_SRC CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/react/common/mapbuffer/*.cpp) diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt index fefaedfa3b0521..166c5ed45344ec 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) -add_compile_options(-fexceptions -frtti -std=c++17 -Wall -DLOG_TAG=\"ReactNative\") +add_compile_options(-fexceptions -frtti -std=c++20 -Wall -DLOG_TAG=\"ReactNative\") file(GLOB react_newarchdefaults_SRC CONFIGURE_DEPENDS *.cpp) diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt index 4c10b7eaca217e..ad2400a0dcee2f 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) -add_compile_options(-fexceptions -frtti -std=c++17 -Wall) +add_compile_options(-fexceptions -frtti -std=c++20 -Wall) add_library(reactperfloggerjni SHARED reactperflogger/OnLoad.cpp) diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt index a779d4f72a712d..1848f355fb6fa9 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt @@ -16,7 +16,7 @@ target_compile_options( hermesinstancejni PRIVATE $<$:-DHERMES_ENABLE_DEBUGGER=1> - -std=c++17 + -std=c++20 -fexceptions ) target_include_directories(hermesinstancejni PRIVATE .) diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt index 7b5fa858832498..ab59671367e982 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt @@ -16,7 +16,7 @@ target_compile_options( rninstance PRIVATE $<$:-DHERMES_ENABLE_DEBUGGER=1> - -std=c++17 + -std=c++20 -fexceptions ) target_include_directories(rninstance PUBLIC .) diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt index 748e1c6ca00f86..2a937e547ca9f6 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt @@ -10,7 +10,7 @@ add_compile_options( -fexceptions -frtti -Wno-unused-lambda-capture - -std=c++17) + -std=c++20) ######################### ### callinvokerholder ### diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt index 8fc6ee71f0f13c..ca7c6e0ad5c7be 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) -add_compile_options(-fexceptions -frtti -std=c++17 -Wall -DLOG_TAG=\"ReactNative\") +add_compile_options(-fexceptions -frtti -std=c++20 -Wall -DLOG_TAG=\"ReactNative\") file(GLOB uimanagerjni_SRC CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) add_library(uimanagerjni SHARED ${uimanagerjni_SRC}) diff --git a/packages/react-native/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt index 3df8389ed82c18..da795b8a7e8cc8 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt @@ -10,6 +10,7 @@ SET(folly_FLAGS -DFOLLY_NO_CONFIG=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -DFOLLY_USE_LIBCPP=1 + -DFOLLY_CFG_NO_COROUTINES=1 -DFOLLY_MOBILE=1 -DFOLLY_HAVE_RECVMMSG=1 -DFOLLY_HAVE_PTHREAD=1 @@ -49,10 +50,6 @@ SET(folly_runtime_SRC folly/ScopeGuard.cpp folly/portability/SysUio.cpp) -IF (CMAKE_BUILD_TYPE MATCHES Debug) - list(APPEND folly_runtime_SRC folly/lang/Assume.cpp) -ENDIF () - add_library(folly_runtime SHARED ${folly_runtime_SRC}) target_compile_options(folly_runtime @@ -80,10 +77,7 @@ add_library(folly_futures STATIC folly/Try.cpp folly/concurrency/CacheLocality.cpp folly/detail/AsyncTrace.cpp - folly/detail/AtFork.cpp folly/detail/MemoryIdler.cpp - folly/detail/SingletonStackTrace.cpp - folly/detail/StaticSingletonManager.cpp folly/detail/ThreadLocalDetail.cpp folly/fibers/Baton.cpp folly/fibers/FiberManager.cpp @@ -108,10 +102,11 @@ add_library(folly_futures STATIC folly/lang/Exception.cpp folly/memory/MallctlHelper.cpp folly/portability/SysMembarrier.cpp - folly/synchronization/AsymmetricMemoryBarrier.cpp + folly/synchronization/AsymmetricThreadFence.cpp folly/synchronization/Hazptr.cpp folly/synchronization/WaitOptions.cpp folly/synchronization/detail/Sleeper.cpp + folly/system/AtFork.cpp folly/system/Pid.cpp) target_compile_options(folly_futures diff --git a/packages/react-native/ReactCommon/React-Fabric.podspec b/packages/react-native/ReactCommon/React-Fabric.podspec index c8413048921eb3..afcbd25f98ae0d 100644 --- a/packages/react-native/ReactCommon/React-Fabric.podspec +++ b/packages/react-native/ReactCommon/React-Fabric.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_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' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2022.05.16.00' folly_dep_name = 'RCT-Folly/Fabric' boost_compiler_flags = '-Wno-documentation' react_native_path = ".." @@ -33,7 +33,7 @@ Pod::Spec.new do |s| s.source = source s.source_files = "dummyFile.cpp" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "DEFINES_MODULE" => "YES" } if ENV['USE_FRAMEWORKS'] @@ -51,6 +51,7 @@ Pod::Spec.new do |s| s.dependency "React-logger" s.dependency "glog" s.dependency "DoubleConversion" + s.dependency 'fmt' , '~> 6.2.1' s.dependency "React-Core" s.dependency "React-debug" s.dependency "React-utils" @@ -100,6 +101,7 @@ Pod::Spec.new do |s| if ENV['USE_FRAMEWORKS'] header_search_path = header_search_path + [ "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/fmt/include\"", "\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers\"", "\"$(PODS_CONFIGURATION_BUILD_DIR)/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\"", "\"$(PODS_CONFIGURATION_BUILD_DIR)/React-rendererdebug/React_rendererdebug.framework/Headers/\"", diff --git a/packages/react-native/ReactCommon/React-FabricImage.podspec b/packages/react-native/ReactCommon/React-FabricImage.podspec index 107c0dff95d1c4..337570170d2186 100644 --- a/packages/react-native/ReactCommon/React-FabricImage.podspec +++ b/packages/react-native/ReactCommon/React-FabricImage.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_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' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2022.05.16.00' folly_dep_name = 'RCT-Folly/Fabric' boost_compiler_flags = '-Wno-documentation' react_native_path = ".." @@ -33,6 +33,7 @@ if ENV['USE_FRAMEWORKS'] header_search_path = header_search_path + [ "\"$(PODS_TARGET_SRCROOT)\"", "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/fmt/include\"", "\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers\"", "\"$(PODS_CONFIGURATION_BUILD_DIR)/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/imagemanager/platform/ios\"", @@ -58,7 +59,7 @@ Pod::Spec.new do |s| s.header_dir = "react/renderer/components/image" s.compiler_flags = folly_compiler_flags s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_path.join(" ") } @@ -77,6 +78,7 @@ Pod::Spec.new do |s| s.dependency "React-logger" s.dependency "glog" s.dependency "DoubleConversion" + s.dependency 'fmt' , '~> 6.2.1' s.dependency "React-ImageManager" s.dependency "React-Fabric" s.dependency "React-utils" diff --git a/packages/react-native/ReactCommon/React-Mapbuffer.podspec b/packages/react-native/ReactCommon/React-Mapbuffer.podspec index 1b26f10a5315a5..ec5ecc87f2d32a 100644 --- a/packages/react-native/ReactCommon/React-Mapbuffer.podspec +++ b/packages/react-native/ReactCommon/React-Mapbuffer.podspec @@ -30,7 +30,7 @@ Pod::Spec.new do |s| s.public_header_files = 'react/renderer/mapbuffer/*.h' s.header_dir = "react/renderer/mapbuffer" s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\"", "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" } if ENV['USE_FRAMEWORKS'] s.header_mappings_dir = './' diff --git a/packages/react-native/ReactCommon/React-rncore.podspec b/packages/react-native/ReactCommon/React-rncore.podspec index c44a50ade669a5..b3d337a838eb87 100644 --- a/packages/react-native/ReactCommon/React-rncore.podspec +++ b/packages/react-native/ReactCommon/React-rncore.podspec @@ -49,7 +49,7 @@ Pod::Spec.new do |s| s.source_files = "dummyFile.cpp" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", "HEADER_SEARCH_PATHS" => header_search_paths.join(' '), - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" } use_react_native_codegen!(s, { diff --git a/packages/react-native/ReactCommon/ReactCommon.podspec b/packages/react-native/ReactCommon/ReactCommon.podspec index 47699fd76ec110..2996e0eae67569 100644 --- a/packages/react-native/ReactCommon/ReactCommon.podspec +++ b/packages/react-native/ReactCommon/ReactCommon.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_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' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' using_hermes = ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1" Pod::Spec.new do |s| @@ -32,9 +32,9 @@ Pod::Spec.new do |s| s.source = source s.header_dir = "ReactCommon" # Use global header_dir for all subspecs for use_frameworks! compatibility s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags - s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/React-Core\"", + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/Headers/Private/React-Core\"", "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "GCC_WARN_PEDANTIC" => "YES" } if ENV['USE_FRAMEWORKS'] s.header_mappings_dir = './' @@ -50,6 +50,7 @@ Pod::Spec.new do |s| ss.dependency "RCT-Folly", folly_version s.dependency "React-logger", version ss.dependency "DoubleConversion" + ss.dependency 'fmt' , '~> 6.2.1' ss.dependency "glog" if using_hermes ss.dependency "hermes-engine" diff --git a/packages/react-native/ReactCommon/butter/CMakeLists.txt b/packages/react-native/ReactCommon/butter/CMakeLists.txt index 2f374d95165168..98e65cc1f0a79e 100644 --- a/packages/react-native/ReactCommon/butter/CMakeLists.txt +++ b/packages/react-native/ReactCommon/butter/CMakeLists.txt @@ -10,7 +10,7 @@ add_compile_options( -DLOG_TAG=\"Butter\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments) diff --git a/packages/react-native/ReactCommon/butter/butter.h b/packages/react-native/ReactCommon/butter/butter.h index 69cfb534f22bc1..1b823235c48b6b 100644 --- a/packages/react-native/ReactCommon/butter/butter.h +++ b/packages/react-native/ReactCommon/butter/butter.h @@ -23,7 +23,7 @@ namespace butter { * * Target C++ Version * ------------------ - * Currently, Butter targets C++17. + * Currently, Butter targets c++20. * * The Scope * --------- diff --git a/packages/react-native/ReactCommon/callinvoker/CMakeLists.txt b/packages/react-native/ReactCommon/callinvoker/CMakeLists.txt index f2206d066fb5ca..ec5b8172cae158 100644 --- a/packages/react-native/ReactCommon/callinvoker/CMakeLists.txt +++ b/packages/react-native/ReactCommon/callinvoker/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments) diff --git a/packages/react-native/ReactCommon/callinvoker/React-callinvoker.podspec b/packages/react-native/ReactCommon/callinvoker/React-callinvoker.podspec index 347ab4cc4ac501..c97cde131c8e6e 100644 --- a/packages/react-native/ReactCommon/callinvoker/React-callinvoker.podspec +++ b/packages/react-native/ReactCommon/callinvoker/React-callinvoker.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| diff --git a/packages/react-native/ReactCommon/cxxreact/CMakeLists.txt b/packages/react-native/ReactCommon/cxxreact/CMakeLists.txt index d1316d7deaa023..fc22793a571baa 100644 --- a/packages/react-native/ReactCommon/cxxreact/CMakeLists.txt +++ b/packages/react-native/ReactCommon/cxxreact/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wno-unused-lambda-capture -DLOG_TAG=\"ReactNative\") diff --git a/packages/react-native/ReactCommon/cxxreact/NativeToJsBridge.h b/packages/react-native/ReactCommon/cxxreact/NativeToJsBridge.h index 991e34db251ff2..c2073624b01739 100644 --- a/packages/react-native/ReactCommon/cxxreact/NativeToJsBridge.h +++ b/packages/react-native/ReactCommon/cxxreact/NativeToJsBridge.h @@ -127,7 +127,7 @@ class NativeToJsBridge { bool m_applicationScriptHasFailure = false; #ifdef WITH_FBSYSTRACE - std::atomic_uint_least32_t m_systraceCookie = ATOMIC_VAR_INIT(0); + std::atomic m_systraceCookie{0}; #endif }; diff --git a/packages/react-native/ReactCommon/cxxreact/React-cxxreact.podspec b/packages/react-native/ReactCommon/cxxreact/React-cxxreact.podspec index ef4639586cd85a..4174260d9d2203 100644 --- a/packages/react-native/ReactCommon/cxxreact/React-cxxreact.podspec +++ b/packages/react-native/ReactCommon/cxxreact/React-cxxreact.podspec @@ -17,8 +17,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| @@ -34,13 +34,14 @@ Pod::Spec.new do |s| s.exclude_files = "SampleCxxModule.*" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags s.pod_target_xcconfig = { - "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers\"", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers\"", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" } s.header_dir = "cxxreact" s.dependency "boost", "1.76.0" s.dependency "DoubleConversion" + s.dependency 'fmt' , '~> 6.2.1' s.dependency "RCT-Folly", folly_version s.dependency "glog" s.dependency "React-jsinspector", version diff --git a/packages/react-native/ReactCommon/hermes/React-hermes.podspec b/packages/react-native/ReactCommon/hermes/React-hermes.podspec index 2d400eaa0f766d..15f390c8f472d0 100644 --- a/packages/react-native/ReactCommon/hermes/React-hermes.podspec +++ b/packages/react-native/ReactCommon/hermes/React-hermes.podspec @@ -17,8 +17,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| @@ -37,8 +37,8 @@ Pod::Spec.new do |s| s.public_header_files = "executor/HermesExecutorFactory.h" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags s.pod_target_xcconfig = { - "HEADER_SEARCH_PATHS" => "\"${PODS_ROOT}/hermes-engine/destroot/include\" \"$(PODS_TARGET_SRCROOT)/..\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/libevent/include\"", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + "HEADER_SEARCH_PATHS" => "\"${PODS_ROOT}/hermes-engine/destroot/include\" \"$(PODS_TARGET_SRCROOT)/..\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/libevent/include\"", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" } s.header_dir = "reacthermes" s.dependency "React-cxxreact", version @@ -47,6 +47,7 @@ Pod::Spec.new do |s| s.dependency "React-perflogger", version s.dependency "RCT-Folly", folly_version s.dependency "DoubleConversion" + s.dependency 'fmt' , '~> 6.2.1' s.dependency "glog" s.dependency "RCT-Folly/Futures", folly_version s.dependency "hermes-engine" diff --git a/packages/react-native/ReactCommon/hermes/executor/CMakeLists.txt b/packages/react-native/ReactCommon/hermes/executor/CMakeLists.txt index 29f7158d08b2ae..6c72e5d1b90ac2 100644 --- a/packages/react-native/ReactCommon/hermes/executor/CMakeLists.txt +++ b/packages/react-native/ReactCommon/hermes/executor/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) -add_compile_options(-std=c++17) +add_compile_options(-std=c++20) file(GLOB_RECURSE hermes_executor_SRC CONFIGURE_DEPENDS *.cpp) add_library( diff --git a/packages/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec b/packages/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec index 0fa6b72212e7f2..3ccee99377915e 100644 --- a/packages/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec +++ b/packages/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec @@ -29,7 +29,7 @@ Pod::Spec.new do |s| s.header_dir = "." s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_TARGET_SRCROOT}/../..\"", "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "GCC_WARN_PEDANTIC" => "YES" } if ENV['USE_FRAMEWORKS'] diff --git a/packages/react-native/ReactCommon/hermes/inspector-modern/CMakeLists.txt b/packages/react-native/ReactCommon/hermes/inspector-modern/CMakeLists.txt index 431eb7d143fe2e..bd051c84563f82 100644 --- a/packages/react-native/ReactCommon/hermes/inspector-modern/CMakeLists.txt +++ b/packages/react-native/ReactCommon/hermes/inspector-modern/CMakeLists.txt @@ -16,7 +16,7 @@ target_compile_options( hermes_inspector_modern PRIVATE -DHERMES_INSPECTOR_FOLLY_KLUDGE=1 - -std=c++17 + -std=c++20 -fexceptions ) diff --git a/packages/react-native/ReactCommon/jserrorhandler/CMakeLists.txt b/packages/react-native/ReactCommon/jserrorhandler/CMakeLists.txt index a007f929c0ed9e..612d100fa38a8f 100644 --- a/packages/react-native/ReactCommon/jserrorhandler/CMakeLists.txt +++ b/packages/react-native/ReactCommon/jserrorhandler/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) -add_compile_options(-std=c++17) +add_compile_options(-std=c++20) file(GLOB_RECURSE js_error_handler_SRC CONFIGURE_DEPENDS *.cpp) add_library( diff --git a/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec b/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec index b8b6cb65914a31..66b4dc9e246968 100644 --- a/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +++ b/packages/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_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' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2022.05.16.00' folly_dep_name = 'RCT-Folly/Fabric' boost_compiler_flags = '-Wno-documentation' react_native_path = ".." @@ -34,7 +34,7 @@ Pod::Spec.new do |s| s.header_dir = "jserrorhandler" s.source_files = "JsErrorHandler.{cpp,h}" s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Mapbuffer/React_Mapbuffer.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\"", "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" } s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags if ENV['USE_FRAMEWORKS'] diff --git a/packages/react-native/ReactCommon/jsi/React-jsi.podspec b/packages/react-native/ReactCommon/jsi/React-jsi.podspec index 1d795926cd89fc..6d2c71005fb302 100644 --- a/packages/react-native/ReactCommon/jsi/React-jsi.podspec +++ b/packages/react-native/ReactCommon/jsi/React-jsi.podspec @@ -20,8 +20,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| @@ -36,11 +36,12 @@ Pod::Spec.new do |s| s.header_dir = "jsi" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags - s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\"", + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\"", "DEFINES_MODULE" => "YES" } s.dependency "boost", "1.76.0" s.dependency "DoubleConversion" + s.dependency 'fmt' , '~> 6.2.1' s.dependency "RCT-Folly", folly_version s.dependency "glog" diff --git a/packages/react-native/ReactCommon/jsiexecutor/CMakeLists.txt b/packages/react-native/ReactCommon/jsiexecutor/CMakeLists.txt index ae63005ed6d022..b05fccaf24c57c 100644 --- a/packages/react-native/ReactCommon/jsiexecutor/CMakeLists.txt +++ b/packages/react-native/ReactCommon/jsiexecutor/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -O3) add_library(jsireact diff --git a/packages/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec b/packages/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec index 8b5e6e1fcc7e07..31b279634b2424 100644 --- a/packages/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +++ b/packages/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| @@ -31,8 +31,8 @@ Pod::Spec.new do |s| s.source = source s.source_files = "jsireact/*.{cpp,h}" s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags - s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\"", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\"", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" } s.header_dir = "jsireact" s.dependency "React-cxxreact", version @@ -40,6 +40,7 @@ Pod::Spec.new do |s| s.dependency "React-perflogger", version s.dependency "RCT-Folly", folly_version s.dependency "DoubleConversion" + s.dependency 'fmt' , '~> 6.2.1' s.dependency "glog" if ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1" diff --git a/packages/react-native/ReactCommon/jsinspector-modern/CMakeLists.txt b/packages/react-native/ReactCommon/jsinspector-modern/CMakeLists.txt index dd361e90b9a132..3f16dd6ceaae32 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/CMakeLists.txt +++ b/packages/react-native/ReactCommon/jsinspector-modern/CMakeLists.txt @@ -8,7 +8,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions - -std=c++17) + -std=c++20) file(GLOB jsinspector_SRC CONFIGURE_DEPENDS *.cpp) add_library(jsinspector SHARED ${jsinspector_SRC}) diff --git a/packages/react-native/ReactCommon/jsinspector-modern/React-jsinspector.podspec b/packages/react-native/ReactCommon/jsinspector-modern/React-jsinspector.podspec index 98f717e8339e3c..76bb5b0413d4e7 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/React-jsinspector.podspec +++ b/packages/react-native/ReactCommon/jsinspector-modern/React-jsinspector.podspec @@ -27,5 +27,5 @@ Pod::Spec.new do |s| s.source = source s.source_files = "*.{cpp,h}" s.header_dir = 'jsinspector' - s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" } + s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" } end diff --git a/packages/react-native/ReactCommon/logger/React-logger.podspec b/packages/react-native/ReactCommon/logger/React-logger.podspec index b5a51ca8921047..5d25a5b694de3b 100644 --- a/packages/react-native/ReactCommon/logger/React-logger.podspec +++ b/packages/react-native/ReactCommon/logger/React-logger.podspec @@ -17,8 +17,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| diff --git a/packages/react-native/ReactCommon/react/bridging/CMakeLists.txt b/packages/react-native/ReactCommon/react/bridging/CMakeLists.txt index 8d8f81a768b49d..f084beccab6294 100644 --- a/packages/react-native/ReactCommon/react/bridging/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/bridging/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/config/CMakeLists.txt b/packages/react-native/ReactCommon/react/config/CMakeLists.txt index d6e93d1cde201f..c581816bd1177a 100644 --- a/packages/react-native/ReactCommon/react/config/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/config/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/debug/CMakeLists.txt b/packages/react-native/ReactCommon/react/debug/CMakeLists.txt index cb3497e77a12cd..ec0ec12da81283 100644 --- a/packages/react-native/ReactCommon/react/debug/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/debug/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/debug/React-debug.podspec b/packages/react-native/ReactCommon/react/debug/React-debug.podspec index 07970e5e283d8c..4754c832404f45 100644 --- a/packages/react-native/ReactCommon/react/debug/React-debug.podspec +++ b/packages/react-native/ReactCommon/react/debug/React-debug.podspec @@ -27,7 +27,7 @@ Pod::Spec.new do |s| s.source = source s.source_files = "**/*.{cpp,h}" s.header_dir = "react/debug" - s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "DEFINES_MODULE" => "YES" } if ENV['USE_FRAMEWORKS'] diff --git a/packages/react-native/ReactCommon/react/nativemodule/core/CMakeLists.txt b/packages/react-native/ReactCommon/react/nativemodule/core/CMakeLists.txt index 33a3d9b1ef5006..40888fcbde83f8 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/core/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/nativemodule/core/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments 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 b2b92ec2305369..71e1082857d505 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 @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_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' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' using_hermes = ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1" Pod::Spec.new do |s| @@ -32,9 +32,9 @@ Pod::Spec.new do |s| s.platforms = min_supported_versions s.source = source s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags - s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/React-Core\"", + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/Headers/Private/React-Core\"", "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "GCC_WARN_PEDANTIC" => "YES" } if ENV['USE_FRAMEWORKS'] s.header_mappings_dir = './' diff --git a/packages/react-native/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec b/packages/react-native/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec index b6123f91819dd3..7e6769b3dd46af 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +++ b/packages/react-native/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_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' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' using_hermes = ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1" Pod::Spec.new do |s| @@ -32,9 +32,9 @@ Pod::Spec.new do |s| s.platforms = min_supported_versions s.source = source s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags - s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/React-Core\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers\"", + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/Headers/Private/React-Core\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers\"", "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "GCC_WARN_PEDANTIC" => "YES" } if ENV['USE_FRAMEWORKS'] s.header_mappings_dir = './' @@ -47,6 +47,7 @@ Pod::Spec.new do |s| s.dependency "RCT-Folly" s.dependency "DoubleConversion" + s.dependency 'fmt' , '~> 6.2.1' s.dependency "ReactCommon/turbomodule/core" s.dependency "React-NativeModulesApple" s.dependency "React-Core" diff --git a/packages/react-native/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt b/packages/react-native/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt index bf4abadd8a948f..2e032601b0044d 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/animations/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/animations/CMakeLists.txt index 89fe0368286bd8..e1674024b970c6 100644 --- a/packages/react-native/ReactCommon/react/renderer/animations/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/animations/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/attributedstring/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/attributedstring/CMakeLists.txt index cc34a3fe959a90..01e325222a2d0d 100644 --- a/packages/react-native/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/attributedstring/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/componentregistry/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/componentregistry/CMakeLists.txt index fa02501aaf8338..7cc08f89db1c09 100644 --- a/packages/react-native/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/componentregistry/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt index ea49c8984747e1..752e65f5c1b232 100644 --- a/packages/react-native/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/image/CMakeLists.txt index cb7dcae7d6d3cf..9dbf4cbe43395e 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/image/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt index 016015f62b3c25..e340c9d8dc7f9b 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/modal/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/modal/CMakeLists.txt index ed70bda43a57c0..5dd94549149fd5 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/modal/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/modal/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt index f7091a4b8ae618..c72594888e5a37 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/root/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/root/CMakeLists.txt index 8592834feb1e27..b0ed65e10c6316 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/root/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/root/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt index d664e5e2faf16f..7c8aab4b1d9f9d 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/switch/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/switch/CMakeLists.txt index b09fc00064447f..acc0fa27426c1e 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/switch/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/switch/CMakeLists.txt @@ -39,7 +39,7 @@ target_compile_options( -DLOG_TAG=\"Fabric\" -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/text/CMakeLists.txt index 1866337440ff89..184dc34e920436 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/text/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/textinput/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/textinput/CMakeLists.txt index 80eb0f5400e10e..39e2a428bb64e6 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/textinput/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt index 5620fb7f757f67..ab2dbcf4b7db0b 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/components/view/CMakeLists.txt index 10755bf772c112..a6ad1aeea58083 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/components/view/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/core/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/core/CMakeLists.txt index c8786aa0099c4e..8dc03e6ef55828 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/core/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt index 23dfd98e46ecfb..d5271e9987892b 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments 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 b7593acac75f3e..93fc85aa20088a 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +++ b/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec @@ -16,13 +16,14 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\"", - "\"$(PODS_ROOT)/DoubleConversion\"" + "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/fmt/include\"" ] if ENV['USE_FRAMEWORKS'] @@ -44,7 +45,7 @@ Pod::Spec.new do |s| s.header_dir = "react/renderer/debug" s.exclude_files = "tests" s.pod_target_xcconfig = { - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' '), "DEFINES_MODULE" => "YES" } @@ -57,4 +58,5 @@ Pod::Spec.new do |s| s.dependency "React-debug" s.dependency "RCT-Folly", folly_version s.dependency "DoubleConversion" + s.dependency 'fmt' , '~> 6.2.1' end diff --git a/packages/react-native/ReactCommon/react/renderer/element/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/element/CMakeLists.txt index d0af2a29e44a11..362871fb92185b 100644 --- a/packages/react-native/ReactCommon/react/renderer/element/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/element/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments @@ -26,4 +26,3 @@ target_link_libraries(react_render_element react_render_core react_render_componentregistry ) - diff --git a/packages/react-native/ReactCommon/react/renderer/graphics/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/graphics/CMakeLists.txt index ac5eae299c1ae0..dbfa549afd82ea 100644 --- a/packages/react-native/ReactCommon/react/renderer/graphics/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/graphics/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments @@ -25,4 +25,3 @@ target_include_directories(react_render_graphics ) target_link_libraries(react_render_graphics glog fb fbjni folly_runtime react_debug) - diff --git a/packages/react-native/ReactCommon/react/renderer/graphics/React-graphics.podspec b/packages/react-native/ReactCommon/react/renderer/graphics/React-graphics.podspec index 313684ac98793f..848a439774a0fd 100644 --- a/packages/react-native/ReactCommon/react/renderer/graphics/React-graphics.podspec +++ b/packages/react-native/ReactCommon/react/renderer/graphics/React-graphics.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| diff --git a/packages/react-native/ReactCommon/react/renderer/imagemanager/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/imagemanager/CMakeLists.txt index e4fd71c8c93f8e..17c3040c65f21e 100644 --- a/packages/react-native/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/imagemanager/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec index 1116eb28e943c6..646270c8be7e49 100644 --- a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +++ b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec @@ -16,7 +16,7 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| @@ -46,6 +46,7 @@ Pod::Spec.new do |s| header_search_paths = header_search_paths + [ "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\"", "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/fmt/include\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers\"", @@ -57,7 +58,7 @@ Pod::Spec.new do |s| s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO", "HEADER_SEARCH_PATHS" => header_search_paths.join(" "), - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "DEFINES_MODULE" => "YES", } diff --git a/packages/react-native/ReactCommon/react/renderer/leakchecker/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/leakchecker/CMakeLists.txt index e8508fd5593ed2..183330b580acf8 100644 --- a/packages/react-native/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/leakchecker/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt index 1d2ce40117a030..1962c29acc6b0d 100644 --- a/packages/react-native/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/mounting/CMakeLists.txt index e369ae904fe39a..f43668e96b4dc7 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/mounting/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt index c11429d3812f9c..1a25e838653cb0 100644 --- a/packages/react-native/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec b/packages/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec index ee12654b36b560..50ea692ca70f0f 100644 --- a/packages/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +++ b/packages/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -43,7 +43,7 @@ Pod::Spec.new do |s| s.header_dir = "react/renderer/runtimescheduler" s.exclude_files = "tests" s.pod_target_xcconfig = { - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' ')} if ENV['USE_FRAMEWORKS'] diff --git a/packages/react-native/ReactCommon/react/renderer/scheduler/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/scheduler/CMakeLists.txt index 62e979c97194a8..fd7f93db411371 100644 --- a/packages/react-native/ReactCommon/react/renderer/scheduler/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/scheduler/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/telemetry/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/telemetry/CMakeLists.txt index aae37e0c19d221..0b975fa10c0772 100644 --- a/packages/react-native/ReactCommon/react/renderer/telemetry/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/telemetry/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt index c8bac1961879e0..ce1065135e4f07 100644 --- a/packages/react-native/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt index 8027f57c47d53f..c3d7c1974910a7 100644 --- a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/uimanager/CMakeLists.txt index 9370ff520b7b62..a7b47e56945fef 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/runtime/CMakeLists.txt b/packages/react-native/ReactCommon/react/runtime/CMakeLists.txt index 2ad8ccb366b2d5..ace51b62265ca7 100644 --- a/packages/react-native/ReactCommon/react/runtime/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/runtime/CMakeLists.txt @@ -16,7 +16,7 @@ target_compile_options( bridgeless PRIVATE $<$:-DHERMES_ENABLE_DEBUGGER=1> - -std=c++17 + -std=c++20 -fexceptions ) target_include_directories(bridgeless PUBLIC .) diff --git a/packages/react-native/ReactCommon/react/runtime/React-RuntimeCore.podspec b/packages/react-native/ReactCommon/react/runtime/React-RuntimeCore.podspec index a12514439e7d3e..31f9eeb1b24302 100644 --- a/packages/react-native/ReactCommon/react/runtime/React-RuntimeCore.podspec +++ b/packages/react-native/ReactCommon/react/runtime/React-RuntimeCore.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_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' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2022.05.16.00' folly_dep_name = 'RCT-Folly/Fabric' boost_compiler_flags = '-Wno-documentation' @@ -35,7 +35,7 @@ Pod::Spec.new do |s| s.header_dir = "react/runtime" s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/Headers/Private/React-Core\" \"${PODS_TARGET_SRCROOT}/../..\"", "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "GCC_WARN_PEDANTIC" => "YES" } s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/packages/react-native/ReactCommon/react/runtime/React-RuntimeHermes.podspec b/packages/react-native/ReactCommon/react/runtime/React-RuntimeHermes.podspec index 98f943a64a7c69..3381e1901171af 100644 --- a/packages/react-native/ReactCommon/react/runtime/React-RuntimeHermes.podspec +++ b/packages/react-native/ReactCommon/react/runtime/React-RuntimeHermes.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_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' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2022.05.16.00' folly_dep_name = 'RCT-Folly/Fabric' boost_compiler_flags = '-Wno-documentation' @@ -34,7 +34,7 @@ Pod::Spec.new do |s| s.header_dir = "react/runtime/hermes" s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_TARGET_SRCROOT}/../..\" \"${PODS_TARGET_SRCROOT}/../../hermes/executor\"", "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "GCC_WARN_PEDANTIC" => "YES" } s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp b/packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp index 2dd5a28c3653b5..0f85cf0b722a1b 100644 --- a/packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp +++ b/packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp @@ -244,7 +244,9 @@ void ReactInstance::callFunctionOnModule( const std::string& moduleName, const std::string& methodName, const folly::dynamic& args) { - bufferedRuntimeExecutor_->execute([=](jsi::Runtime& runtime) { + // TODO (C++ 20): This code previously implicitly captured `this` in a [=] + // capture group. Was it meaning to pass modules_ by value? + bufferedRuntimeExecutor_->execute([=, this](jsi::Runtime& runtime) { SystraceSection s( "ReactInstance::callFunctionOnModule", "moduleName", diff --git a/packages/react-native/ReactCommon/react/runtime/hermes/CMakeLists.txt b/packages/react-native/ReactCommon/react/runtime/hermes/CMakeLists.txt index 668675dbf9ee86..955bb14c946a6a 100644 --- a/packages/react-native/ReactCommon/react/runtime/hermes/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/runtime/hermes/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) -add_compile_options(-std=c++17) +add_compile_options(-std=c++20) file(GLOB_RECURSE bridgeless_hermes_SRC CONFIGURE_DEPENDS *.cpp) add_library( diff --git a/packages/react-native/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt b/packages/react-native/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt index 68bd16e06e42ec..351b5cb4e3a755 100644 --- a/packages/react-native/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) -add_compile_options(-std=c++17) +add_compile_options(-std=c++20) file(GLOB_RECURSE bridgeless_nativeviewconfig_SRC CONFIGURE_DEPENDS *.cpp) add_library( diff --git a/packages/react-native/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec b/packages/react-native/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec index cd8a8f38fbc705..a758ec689906c7 100644 --- a/packages/react-native/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +++ b/packages/react-native/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_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' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments' +folly_version = '2022.05.16.00' folly_dep_name = 'RCT-Folly/Fabric' boost_compiler_flags = '-Wno-documentation' @@ -41,7 +41,7 @@ Pod::Spec.new do |s| s.header_dir = "ReactCommon" s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths, "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "GCC_WARN_PEDANTIC" => "YES" } s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags diff --git a/packages/react-native/ReactCommon/react/utils/CMakeLists.txt b/packages/react-native/ReactCommon/react/utils/CMakeLists.txt index 8c63c41500c5a0..495648afa6b365 100644 --- a/packages/react-native/ReactCommon/react/utils/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/utils/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/react-native/ReactCommon/react/utils/React-utils.podspec b/packages/react-native/ReactCommon/react/utils/React-utils.podspec index 031f43406d85f6..eae635a8929cbb 100644 --- a/packages/react-native/ReactCommon/react/utils/React-utils.podspec +++ b/packages/react-native/ReactCommon/react/utils/React-utils.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -42,7 +42,7 @@ Pod::Spec.new do |s| s.compiler_flags = folly_compiler_flags s.header_dir = "react/utils" s.exclude_files = "tests" - s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => header_search_paths.join(' '), "DEFINES_MODULE" => "YES" } diff --git a/packages/react-native/ReactCommon/reactperflogger/CMakeLists.txt b/packages/react-native/ReactCommon/reactperflogger/CMakeLists.txt index 41fe1face06b31..d3120f62a8e76f 100644 --- a/packages/react-native/ReactCommon/reactperflogger/CMakeLists.txt +++ b/packages/react-native/ReactCommon/reactperflogger/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments) diff --git a/packages/react-native/ReactCommon/reactperflogger/React-perflogger.podspec b/packages/react-native/ReactCommon/reactperflogger/React-perflogger.podspec index 47013b99c38cf3..6a08348184a11e 100644 --- a/packages/react-native/ReactCommon/reactperflogger/React-perflogger.podspec +++ b/packages/react-native/ReactCommon/reactperflogger/React-perflogger.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| diff --git a/packages/react-native/ReactCommon/runtimeexecutor/CMakeLists.txt b/packages/react-native/ReactCommon/runtimeexecutor/CMakeLists.txt index f33e7068ccb47b..315341a91fe698 100644 --- a/packages/react-native/ReactCommon/runtimeexecutor/CMakeLists.txt +++ b/packages/react-native/ReactCommon/runtimeexecutor/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments) diff --git a/packages/react-native/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec b/packages/react-native/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec index 0a6e443579b399..6c9b28f46acf11 100644 --- a/packages/react-native/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +++ b/packages/react-native/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' boost_compiler_flags = '-Wno-documentation' Pod::Spec.new do |s| diff --git a/packages/react-native/gradle/libs.versions.toml b/packages/react-native/gradle/libs.versions.toml index 45d553115fa386..196406a114dcd1 100644 --- a/packages/react-native/gradle/libs.versions.toml +++ b/packages/react-native/gradle/libs.versions.toml @@ -34,7 +34,7 @@ yoga-proguard-annotations = "1.19.0" boost="1_76_0" doubleconversion="1.1.6" fmt="6.2.1" -folly="2021.07.22.00" +folly="2022.05.16.00" glog="0.3.5" libevent="2.1.12" gtest="1.12.1" diff --git a/packages/react-native/scripts/cocoapods/__tests__/codegen-test.rb b/packages/react-native/scripts/cocoapods/__tests__/codegen-test.rb index cc2aead348ea7c..5d2c4a6cd8bf7d 100644 --- a/packages/react-native/scripts/cocoapods/__tests__/codegen-test.rb +++ b/packages/react-native/scripts/cocoapods/__tests__/codegen-test.rb @@ -242,7 +242,7 @@ def testRunCodegen_whenNewArchEnabled_runsCodegen :codegen_output_dir=>"build/generated/ios", :config_file_dir=>"", :fabric_enabled=>false, - :folly_version=>"2021.07.22.00", + :folly_version=>"2022.05.16.00", :react_native_path=>"../node_modules/react-native" }]) assert_equal(codegen_utils_mock.get_react_codegen_spec_params, []) @@ -270,7 +270,7 @@ def testRunCodegen_whenNewArchDisabled_runsCodegen assert_equal(codegen_utils_mock.use_react_native_codegen_discovery_params, []) assert_equal(codegen_utils_mock.get_react_codegen_spec_params, [{ :fabric_enabled => true, - :folly_version=>"2021.07.22.00", + :folly_version=>"2022.05.16.00", :package_json_file => "~/app/package.json", :script_phases => nil }]) diff --git a/packages/react-native/scripts/cocoapods/__tests__/codegen_utils-test.rb b/packages/react-native/scripts/cocoapods/__tests__/codegen_utils-test.rb index 48e41a7318a9ff..0b5671bfd2a339 100644 --- a/packages/react-native/scripts/cocoapods/__tests__/codegen_utils-test.rb +++ b/packages/react-native/scripts/cocoapods/__tests__/codegen_utils-test.rb @@ -385,7 +385,7 @@ def testUseReactCodegenDiscovery_whenParametersAreGood_executeCodegen ]) assert_equal(codegen_utils_mock.get_react_codegen_spec_params, [{ :fabric_enabled => false, - :folly_version=>"2021.07.22.00", + :folly_version=>"2022.05.16.00", :package_json_file => "#{app_path}/ios/../node_modules/react-native/package.json", :script_phases => "echo TestScript" }]) @@ -535,7 +535,7 @@ def get_podspec_no_fabric_no_script 'homepage' => 'https://facebook.com/', 'license' => 'Unlicense', 'authors' => 'Facebook', - 'compiler_flags' => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation -Wno-nullability-completeness -std=c++17", + 'compiler_flags' => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation -Wno-nullability-completeness -std=c++20", 'source' => { :git => '' }, 'header_mappings_dir' => './', 'platforms' => { @@ -549,6 +549,7 @@ def get_podspec_no_fabric_no_script "\"$(PODS_ROOT)/boost\"", "\"$(PODS_ROOT)/RCT-Folly\"", "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/fmt/include\"", "\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"", "\"$(PODS_ROOT)/Headers/Private/React-Fabric\"", "\"$(PODS_ROOT)/Headers/Private/React-RCTFabric\"", @@ -595,7 +596,7 @@ def get_podspec_when_use_frameworks specs = get_podspec_no_fabric_no_script() specs["pod_target_xcconfig"]["FRAMEWORK_SEARCH_PATHS"].concat([]) - specs["pod_target_xcconfig"]["HEADER_SEARCH_PATHS"].concat(" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_TARGET_SRCROOT)\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-FabricImage/React_FabricImage.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-graphics/React_graphics.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\" \"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-RCTFabric/RCTFabric.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-rendererdebug/React_rendererdebug.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-utils/React_utils.framework/Headers\"") + specs["pod_target_xcconfig"]["HEADER_SEARCH_PATHS"].concat(" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_TARGET_SRCROOT)\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-FabricImage/React_FabricImage.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-graphics/React_graphics.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\" \"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-NativeModulesApple/React_NativeModulesApple.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-RCTFabric/RCTFabric.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-rendererdebug/React_rendererdebug.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-utils/React_utils.framework/Headers\"") specs[:dependencies].merge!({ 'React-graphics': [], diff --git a/packages/react-native/scripts/cocoapods/__tests__/new_architecture-test.rb b/packages/react-native/scripts/cocoapods/__tests__/new_architecture-test.rb index 1b7d2e53ca8489..481185d025082c 100644 --- a/packages/react-native/scripts/cocoapods/__tests__/new_architecture-test.rb +++ b/packages/react-native/scripts/cocoapods/__tests__/new_architecture-test.rb @@ -25,10 +25,10 @@ def test_setClangCxxLanguageStandardIfNeeded_whenReactCoreIsPresent installer = prepare_mocked_installer_with_react_core NewArchitectureHelper.set_clang_cxx_language_standard_if_needed(installer) - assert_equal(installer.aggregate_targets[0].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++17") - assert_equal(installer.aggregate_targets[1].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++17") + assert_equal(installer.aggregate_targets[0].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++20") + assert_equal(installer.aggregate_targets[1].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++20") assert_equal(installer.pods_project.targets[1].received_resolved_build_setting_parameters, [ReceivedCommonResolvedBuildSettings.new("CLANG_CXX_LANGUAGE_STANDARD", true)]) - assert_equal(Pod::UI.collected_messages, ["Setting CLANG_CXX_LANGUAGE_STANDARD to c++17 on /test/path.xcproj", "Setting CLANG_CXX_LANGUAGE_STANDARD to c++17 on /test/path2.xcproj"]) + assert_equal(Pod::UI.collected_messages, ["Setting CLANG_CXX_LANGUAGE_STANDARD to c++20 on /test/path.xcproj", "Setting CLANG_CXX_LANGUAGE_STANDARD to c++20 on /test/path2.xcproj"]) end def test_setClangCxxLanguageStandardIfNeeded_whenReactCoreIsNotPresent @@ -45,10 +45,10 @@ def test_setClangCxxLanguageStandardIfNeeded_whenThereAreDifferentValuesForLangu installer = prepare_mocked_installer_with_react_core_and_different_language_standards NewArchitectureHelper.set_clang_cxx_language_standard_if_needed(installer) - assert_equal(installer.aggregate_targets[0].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++17") - assert_equal(installer.aggregate_targets[1].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++17") + assert_equal(installer.aggregate_targets[0].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++20") + assert_equal(installer.aggregate_targets[1].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++20") assert_equal(installer.pods_project.targets[1].received_resolved_build_setting_parameters, [ReceivedCommonResolvedBuildSettings.new("CLANG_CXX_LANGUAGE_STANDARD", true)]) - assert_equal(Pod::UI.collected_messages, ["Setting CLANG_CXX_LANGUAGE_STANDARD to c++17 on /test/path.xcproj", "Setting CLANG_CXX_LANGUAGE_STANDARD to c++17 on /test/path2.xcproj"]) + assert_equal(Pod::UI.collected_messages, ["Setting CLANG_CXX_LANGUAGE_STANDARD to c++20 on /test/path.xcproj", "Setting CLANG_CXX_LANGUAGE_STANDARD to c++20 on /test/path2.xcproj"]) end # =================== # @@ -104,15 +104,15 @@ def test_modifyFlagsForNewArch_whenOnNewArchAndIsRelease_updateFlags NewArchitectureHelper.modify_flags_for_new_architecture(installer, true) # Assert - assert_equal(first_xcconfig.attributes["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1") + assert_equal(first_xcconfig.attributes["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1") assert_nil(first_xcconfig.attributes["OTHER_CFLAGS"]) assert_equal(first_xcconfig.save_as_invocation, ["a/path/First.xcconfig"]) - assert_equal(second_xcconfig.attributes["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1") + assert_equal(second_xcconfig.attributes["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1") assert_nil(second_xcconfig.attributes["OTHER_CFLAGS"]) assert_equal(second_xcconfig.save_as_invocation, ["a/path/Second.xcconfig"]) - assert_equal(react_core_debug_config.build_settings["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1") + assert_equal(react_core_debug_config.build_settings["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1") assert_nil(react_core_debug_config.build_settings["OTHER_CFLAGS"]) - assert_equal(react_core_release_config.build_settings["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DNDEBUG") + assert_equal(react_core_release_config.build_settings["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -DNDEBUG") assert_equal(react_core_release_config.build_settings["OTHER_CFLAGS"], "$(inherited) -DNDEBUG") assert_equal(yoga_debug_config.build_settings["OTHER_CPLUSPLUSFLAGS"], "$(inherited)") assert_nil(yoga_debug_config.build_settings["OTHER_CFLAGS"]) @@ -128,18 +128,18 @@ def test_installModulesDependencies_whenNewArchEnabledAndNewArchAndNoSearchPaths spec = SpecMock.new # Act - NewArchitectureHelper.install_modules_dependencies(spec, true, '2021.07.22.00') + NewArchitectureHelper.install_modules_dependencies(spec, true, '2022.05.16.00') # Assert assert_equal(spec.compiler_flags, NewArchitectureHelper.folly_compiler_flags) - assert_equal(spec.pod_target_xcconfig["HEADER_SEARCH_PATHS"], "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/Headers/Private/Yoga\" \"$(PODS_ROOT)/DoubleConversion\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-FabricImage/React_FabricImage.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTFabric/RCTFabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-ImageManager/React_ImageManager.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-rendererdebug/React_rendererdebug.framework/Headers\"") - assert_equal(spec.pod_target_xcconfig["CLANG_CXX_LANGUAGE_STANDARD"], "c++17") - assert_equal(spec.pod_target_xcconfig["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1") + assert_equal(spec.pod_target_xcconfig["HEADER_SEARCH_PATHS"], "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/Headers/Private/Yoga\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-FabricImage/React_FabricImage.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTFabric/RCTFabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-ImageManager/React_ImageManager.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-rendererdebug/React_rendererdebug.framework/Headers\"") + assert_equal(spec.pod_target_xcconfig["CLANG_CXX_LANGUAGE_STANDARD"], "c++20") + assert_equal(spec.pod_target_xcconfig["OTHER_CPLUSPLUSFLAGS"], "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 -DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1") assert_equal( spec.dependencies, [ { :dependency_name => "React-Core" }, - { :dependency_name => "RCT-Folly", "version"=>"2021.07.22.00" }, + { :dependency_name => "RCT-Folly", "version"=>"2022.05.16.00" }, { :dependency_name => "glog" }, { :dependency_name => "React-RCTFabric" }, { :dependency_name => "React-Codegen" }, @@ -169,17 +169,17 @@ def test_installModulesDependencies_whenNewArchDisabledAndSearchPathsAndCompiler } # Act - NewArchitectureHelper.install_modules_dependencies(spec, false, '2021.07.22.00') + NewArchitectureHelper.install_modules_dependencies(spec, false, '2022.05.16.00') # Assert assert_equal(spec.compiler_flags, "-Wno-nullability-completeness #{NewArchitectureHelper.folly_compiler_flags}") - assert_equal(spec.pod_target_xcconfig["HEADER_SEARCH_PATHS"], "#{other_flags} \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/Headers/Private/Yoga\" \"$(PODS_ROOT)/DoubleConversion\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-FabricImage/React_FabricImage.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTFabric/RCTFabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-ImageManager/React_ImageManager.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-rendererdebug/React_rendererdebug.framework/Headers\"") - assert_equal(spec.pod_target_xcconfig["CLANG_CXX_LANGUAGE_STANDARD"], "c++17") + assert_equal(spec.pod_target_xcconfig["HEADER_SEARCH_PATHS"], "#{other_flags} \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/Headers/Private/Yoga\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-FabricImage/React_FabricImage.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTFabric/RCTFabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-ImageManager/React_ImageManager.framework/Headers\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-rendererdebug/React_rendererdebug.framework/Headers\"") + assert_equal(spec.pod_target_xcconfig["CLANG_CXX_LANGUAGE_STANDARD"], "c++20") assert_equal( spec.dependencies, [ { :dependency_name => "React-Core" }, - { :dependency_name => "RCT-Folly", "version"=>"2021.07.22.00" }, + { :dependency_name => "RCT-Folly", "version"=>"2022.05.16.00" }, { :dependency_name => "glog" } ] ) @@ -337,8 +337,8 @@ def prepare_mocked_installer_with_react_core TargetMock.new( "React-Core", [ - BuildConfigurationMock.new("Debug", { "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" }), - BuildConfigurationMock.new("Release", { "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" }), + BuildConfigurationMock.new("Debug", { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }), + BuildConfigurationMock.new("Release", { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }), ] ) ] @@ -367,7 +367,7 @@ def prepare_mocked_installer_with_react_core_and_different_language_standards TargetMock.new( "React-Core", [ - BuildConfigurationMock.new("Debug", { "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" }), + BuildConfigurationMock.new("Debug", { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }), BuildConfigurationMock.new("Release", { "CLANG_CXX_LANGUAGE_STANDARD" => "new" }), ] ) diff --git a/packages/react-native/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb b/packages/react-native/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb index c7bba3d2ec67f3..22e14ce097d24f 100644 --- a/packages/react-native/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb +++ b/packages/react-native/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb @@ -66,7 +66,7 @@ def get_react_codegen_script_phases( return @react_codegen_script_phases end - def get_react_codegen_spec(package_json_file, folly_version: '2021.07.22.00', fabric_enabled: false, hermes_enabled: true, script_phases: nil) + def get_react_codegen_spec(package_json_file, folly_version: '2022.05.16.00', fabric_enabled: false, hermes_enabled: true, script_phases: nil) @get_react_codegen_spec_params.push({ package_json_file: package_json_file, folly_version: folly_version, @@ -92,7 +92,7 @@ def use_react_native_codegen_discovery!( config_file_dir: '', codegen_output_dir: 'build/generated/ios', config_key: 'codegenConfig', - folly_version: "2021.07.22.00", + folly_version: "2022.05.16.00", codegen_utils: CodegenUtilsMock.new() ) @use_react_native_codegen_discovery_params.push({ diff --git a/packages/react-native/scripts/cocoapods/__tests__/utils-test.rb b/packages/react-native/scripts/cocoapods/__tests__/utils-test.rb index 4ad99c3fda4de0..1c0959ec248f01 100644 --- a/packages/react-native/scripts/cocoapods/__tests__/utils-test.rb +++ b/packages/react-native/scripts/cocoapods/__tests__/utils-test.rb @@ -750,7 +750,7 @@ def test_updateSearchPaths_whenUseFrameworks_addsSearchPaths if pod_name == "SecondTarget" target_installation_result.native_target.build_configurations.each do |config| received_search_path = config.build_settings["HEADER_SEARCH_PATHS"] - expected_Search_path = "$(inherited) \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/boost\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTFabric/RCTFabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-FabricImage/React_FabricImage.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Graphics/React_graphics.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/imagemanager/platform/ios\"" + expected_Search_path = "$(inherited) \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/boost\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTFabric/RCTFabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-FabricImage/React_FabricImage.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Graphics/React_graphics.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/imagemanager/platform/ios\"" assert_equal(received_search_path, expected_Search_path) end else diff --git a/packages/react-native/scripts/cocoapods/codegen.rb b/packages/react-native/scripts/cocoapods/codegen.rb index d42dabd479a895..898e3995f384d5 100644 --- a/packages/react-native/scripts/cocoapods/codegen.rb +++ b/packages/react-native/scripts/cocoapods/codegen.rb @@ -81,7 +81,7 @@ def run_codegen!( codegen_output_dir: 'build/generated/ios', config_key: 'codegenConfig', package_json_file: '~/app/package.json', - folly_version: '2021.07.22.00', + folly_version: '2022.05.16.00', codegen_utils: CodegenUtils.new() ) diff --git a/packages/react-native/scripts/cocoapods/codegen_utils.rb b/packages/react-native/scripts/cocoapods/codegen_utils.rb index d6dcf29c50291f..78e39ed862a2a4 100644 --- a/packages/react-native/scripts/cocoapods/codegen_utils.rb +++ b/packages/react-native/scripts/cocoapods/codegen_utils.rb @@ -69,18 +69,19 @@ def generate_react_codegen_podspec!(spec, codegen_output_dir, file_manager: File # - hermes_enabled: whether hermes is enabled or not. # - script_phases: whether we want to add some build script phases or not. # - file_manager: a class that implements the `File` interface. Defaults to `File`, the Dependency can be injected for testing purposes. - def get_react_codegen_spec(package_json_file, folly_version: '2021.07.22.00', fabric_enabled: false, hermes_enabled: true, script_phases: nil, file_manager: File) + def get_react_codegen_spec(package_json_file, folly_version: '2022.05.16.00', fabric_enabled: false, hermes_enabled: true, script_phases: nil, file_manager: File) package = JSON.parse(file_manager.read(package_json_file)) version = package['version'] new_arch_disabled = ENV['RCT_NEW_ARCH_ENABLED'] != "1" use_frameworks = ENV['USE_FRAMEWORKS'] != nil - folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' + folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' boost_compiler_flags = '-Wno-documentation' header_search_paths = [ "\"$(PODS_ROOT)/boost\"", "\"$(PODS_ROOT)/RCT-Folly\"", "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/fmt/include\"", "\"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\"", "\"$(PODS_ROOT)/Headers/Private/React-Fabric\"", "\"$(PODS_ROOT)/Headers/Private/React-RCTFabric\"", @@ -91,6 +92,7 @@ def get_react_codegen_spec(package_json_file, folly_version: '2021.07.22.00', fa if use_frameworks header_search_paths.concat([ "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/fmt/include\"", "\"$(PODS_TARGET_SRCROOT)\"", "\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers\"", "\"$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx\"", @@ -114,7 +116,7 @@ def get_react_codegen_spec(package_json_file, folly_version: '2021.07.22.00', fa 'homepage' => 'https://facebook.com/', 'license' => 'Unlicense', 'authors' => 'Facebook', - 'compiler_flags' => "#{folly_compiler_flags} #{boost_compiler_flags} -Wno-nullability-completeness -std=c++17", + 'compiler_flags' => "#{folly_compiler_flags} #{boost_compiler_flags} -Wno-nullability-completeness -std=c++20", 'source' => { :git => '' }, 'header_mappings_dir' => './', 'platforms' => min_supported_versions, @@ -288,7 +290,7 @@ def use_react_native_codegen_discovery!( config_file_dir: '', codegen_output_dir: 'build/generated/ios', config_key: 'codegenConfig', - folly_version: '2021.07.22.00', + folly_version: '2022.05.16.00', codegen_utils: CodegenUtils.new(), file_manager: File ) diff --git a/packages/react-native/scripts/cocoapods/new_architecture.rb b/packages/react-native/scripts/cocoapods/new_architecture.rb index 42556e332037ed..7210379bdded60 100644 --- a/packages/react-native/scripts/cocoapods/new_architecture.rb +++ b/packages/react-native/scripts/cocoapods/new_architecture.rb @@ -6,13 +6,13 @@ require 'json' class NewArchitectureHelper - @@shared_flags = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1" + @@shared_flags = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1" @@folly_compiler_flags = "#{@@shared_flags} -Wno-comma -Wno-shorten-64-to-32" @@new_arch_cpp_flags = "$(inherited) -DRCT_NEW_ARCH_ENABLED=1 #{@@shared_flags}" - @@cplusplus_version = "c++17" + @@cplusplus_version = "c++20" def self.set_clang_cxx_language_standard_if_needed(installer) language_standard = nil @@ -105,6 +105,7 @@ def self.install_modules_dependencies(spec, new_arch_enabled, folly_version) header_search_paths = ["\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/Headers/Private/Yoga\""] if ENV['USE_FRAMEWORKS'] header_search_paths << "\"$(PODS_ROOT)/DoubleConversion\"" + header_search_paths << "\"$(PODS_ROOT)/fmt/include\"" header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers\"" header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios\"" header_search_paths << "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\"" @@ -127,7 +128,7 @@ def self.install_modules_dependencies(spec, new_arch_enabled, folly_version) spec.dependency "React-Core" - spec.dependency "RCT-Folly", '2021.07.22.00' + spec.dependency "RCT-Folly", '2022.05.16.00' spec.dependency "glog" if new_arch_enabled diff --git a/packages/react-native/scripts/cocoapods/utils.rb b/packages/react-native/scripts/cocoapods/utils.rb index 87f8d1966306b5..06f345aa80fef4 100644 --- a/packages/react-native/scripts/cocoapods/utils.rb +++ b/packages/react-native/scripts/cocoapods/utils.rb @@ -156,7 +156,7 @@ def self.apply_xcode_15_patch(installer) installer.target_installation_results.pod_target_installation_results .each do |pod_name, target_installation_result| target_installation_result.native_target.build_configurations.each do |config| - # unary_function and binary_function are no longer provided in C++17 and newer standard modes as part of Xcode 15. They can be re-enabled with setting _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION + # unary_function and binary_function are no longer provided in c++20 and newer standard modes as part of Xcode 15. They can be re-enabled with setting _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION # Ref: https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Deprecations config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= '$(inherited) ' config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << '"_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION" ' @@ -393,6 +393,7 @@ def self.set_rctfolly_search_paths(target_installation_result) ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "RCT-Folly", [ "\"$(PODS_ROOT)/RCT-Folly\"", "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/fmt/include\"", "\"$(PODS_ROOT)/boost\"" ]) end diff --git a/packages/react-native/scripts/react_native_pods.rb b/packages/react-native/scripts/react_native_pods.rb index 4c1904443487be..cab84e43eca047 100644 --- a/packages/react-native/scripts/react_native_pods.rb +++ b/packages/react-native/scripts/react_native_pods.rb @@ -20,7 +20,7 @@ $CODEGEN_OUTPUT_DIR = 'build/generated/ios' $CODEGEN_COMPONENT_DIR = 'react/renderer/components' $CODEGEN_MODULE_DIR = '.' -$FOLLY_VERSION = '2021.07.22.00' +$FOLLY_VERSION = '2022.05.16.00' $START_TIME = Time.now.to_i diff --git a/packages/react-native/sdks/hermes-engine/hermes-engine.podspec b/packages/react-native/sdks/hermes-engine/hermes-engine.podspec index 227be7560c6a67..8fd33af931a9d7 100644 --- a/packages/react-native/sdks/hermes-engine/hermes-engine.podspec +++ b/packages/react-native/sdks/hermes-engine/hermes-engine.podspec @@ -30,7 +30,7 @@ Pod::Spec.new do |spec| spec.source_files = '' spec.pod_target_xcconfig = { - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "CLANG_CXX_LIBRARY" => "compiler-default" } diff --git a/packages/react-native/template/ios/HelloWorld.xcodeproj/project.pbxproj b/packages/react-native/template/ios/HelloWorld.xcodeproj/project.pbxproj index 6390f4b55591c0..80bb1512e27c83 100644 --- a/packages/react-native/template/ios/HelloWorld.xcodeproj/project.pbxproj +++ b/packages/react-native/template/ios/HelloWorld.xcodeproj/project.pbxproj @@ -516,7 +516,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -576,7 +576,7 @@ "$(OTHER_CFLAGS)", "-DFOLLY_NO_CONFIG", "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", + "-DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1", ); SDKROOT = iphoneos; }; @@ -587,7 +587,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -639,7 +639,7 @@ "$(OTHER_CFLAGS)", "-DFOLLY_NO_CONFIG", "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", + "-DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1", ); SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; diff --git a/packages/react-native/third-party-podspecs/RCT-Folly.podspec b/packages/react-native/third-party-podspecs/RCT-Folly.podspec index 84e5b354d9b30c..61ac0d753df7d4 100644 --- a/packages/react-native/third-party-podspecs/RCT-Folly.podspec +++ b/packages/react-native/third-party-podspecs/RCT-Folly.podspec @@ -3,7 +3,7 @@ # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. -folly_release_version = '2021.07.22.00' +folly_release_version = '2022.05.16.00' Pod::Spec.new do |spec| spec.name = 'RCT-Folly' @@ -21,7 +21,7 @@ Pod::Spec.new do |spec| spec.dependency 'DoubleConversion' spec.dependency 'glog' spec.dependency 'fmt' , '~> 6.2.1' - spec.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation -faligned-new' + spec.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation -faligned-new' spec.source_files = 'folly/String.cpp', 'folly/Conv.cpp', 'folly/Demangle.cpp', @@ -57,7 +57,7 @@ Pod::Spec.new do |spec| 'folly/memory/detail/*.h', 'folly/net/*.h', 'folly/net/detail/*.h', - 'folly/portability/*.h' + 'folly/portability/*.h', # workaround for https://github.com/facebook/react-native/issues/14326 spec.preserve_paths = 'folly/*.h', @@ -71,11 +71,11 @@ Pod::Spec.new do |spec| 'folly/memory/detail/*.h', 'folly/net/*.h', 'folly/net/detail/*.h', - 'folly/portability/*.h' + 'folly/portability/*.h', spec.libraries = "c++abi" # NOTE Apple-only: Keep c++abi here due to https://github.com/react-native-community/releases/issues/251 spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", - "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/libevent/include/\" \"$(PODS_ROOT)/fmt/include\"", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", + "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/libevent/include/\"", # In dynamic framework (use_frameworks!) mode, ignore the unused and undefined boost symbols when generating the library. "OTHER_LDFLAGS" => "\"-Wl,-U,_jump_fcontext\" \"-Wl,-U,_make_fcontext\"" } @@ -96,13 +96,11 @@ Pod::Spec.new do |spec| 'folly/synchronization/ParkingLot.cpp', 'folly/portability/Malloc.cpp', 'folly/concurrency/CacheLocality.h', - 'folly/synchronization/ParkingLot.h', - 'folly/synchronization/SanitizeThread.h', + 'folly/synchronization/*.h', 'folly/system/ThreadId.h' fabric.preserve_paths = 'folly/concurrency/CacheLocality.h', - 'folly/synchronization/ParkingLot.h', - 'folly/synchronization/SanitizeThread.h', + 'folly/synchronization/*.h', 'folly/system/ThreadId.h' end @@ -127,9 +125,9 @@ Pod::Spec.new do |spec| 'folly/tracing/AsyncStack.{h,cpp}', 'folly/tracing/AsyncStack-inl.h', 'folly/{Executor,ExceptionString,ExceptionWrapper,ExceptionWrapper-inl,FileUtil,Singleton,SharedMutex}.{h,cpp}', - 'folly/detail/{AsyncTrace,AtFork,Futex,Futex-inl,MemoryIdler,SingletonStackTrace,StaticSingletonManager,ThreadLocalDetail}.{h,cpp}', + 'folly/detail/{AsyncTrace,Futex,Futex-inl,MemoryIdler,SingletonStackTrace,StaticSingletonManager,ThreadLocalDetail}.{h,cpp}', 'folly/lang/SafeAssert.{h,cpp}', - 'folly/memory/MallctlHelper.{h,cpp}', + 'folly/memory/{MallctlHelper,SanitizeAddress}.{h,cpp}', 'folly/portability/{GFlags,SysUio}.{h,cpp}', 'folly/portability/SysMembarrier.cpp', 'folly/chrono/Hardware.{h,cpp}', @@ -138,7 +136,7 @@ Pod::Spec.new do |spec| 'folly/experimental/coro/Coroutine.{h,cpp}', 'folly/fibers/Baton-inl.h', 'folly/experimental/**/*.h', - 'folly/system/Pid.{h,cpp}' + 'folly/system/{AtFork,Pid}.{h,cpp}' # TODO: Perhaps some of the wildcards above can be further trimmed down with some of these: # # 'folly/executors/{DrivableExecutor,InlineExecutor,QueuedImmediateExecutor,TimedDrivableExecutor}.{h,cpp}', diff --git a/packages/rn-tester/NativeComponentExample/MyNativeView.podspec b/packages/rn-tester/NativeComponentExample/MyNativeView.podspec index 49d150495fe467..97a0f9082f4fd2 100644 --- a/packages/rn-tester/NativeComponentExample/MyNativeView.podspec +++ b/packages/rn-tester/NativeComponentExample/MyNativeView.podspec @@ -23,7 +23,7 @@ Pod::Spec.new do |s| s.source = { :git => "https://github.com/facebook/my-native-view.git", :tag => "#{s.version}" } s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/boost\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\"", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" } s.source_files = "ios/**/*.{h,m,mm,cpp}" diff --git a/packages/rn-tester/NativeCxxModuleExample/CMakeLists.txt b/packages/rn-tester/NativeCxxModuleExample/CMakeLists.txt index 79c30443a3475e..0fe23d107d9e16 100644 --- a/packages/rn-tester/NativeCxxModuleExample/CMakeLists.txt +++ b/packages/rn-tester/NativeCxxModuleExample/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) add_compile_options( -fexceptions -frtti - -std=c++17 + -std=c++20 -Wall -Wpedantic -Wno-gnu-zero-variadic-macro-arguments diff --git a/packages/rn-tester/NativeCxxModuleExample/NativeCxxModuleExample.podspec b/packages/rn-tester/NativeCxxModuleExample/NativeCxxModuleExample.podspec index 81fb57362af56a..1d41471bc34cc2 100644 --- a/packages/rn-tester/NativeCxxModuleExample/NativeCxxModuleExample.podspec +++ b/packages/rn-tester/NativeCxxModuleExample/NativeCxxModuleExample.podspec @@ -22,7 +22,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" } install_modules_dependencies(s) diff --git a/packages/rn-tester/Podfile.lock b/packages/rn-tester/Podfile.lock index 6c496c29e3dbd2..6cfce63036fb40 100644 --- a/packages/rn-tester/Podfile.lock +++ b/packages/rn-tester/Podfile.lock @@ -4,7 +4,7 @@ PODS: - DoubleConversion (1.1.6) - FBLazyVector (1000.0.0) - FBReactNativeSpec (1000.0.0): - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core (= 1000.0.0) @@ -70,29 +70,33 @@ PODS: - glog (0.3.5) - hermes-engine (1000.0.0): - hermes-engine/Hermes (= 1000.0.0) + - hermes-engine/inspector (= 1000.0.0) + - hermes-engine/inspector_chrome (= 1000.0.0) - hermes-engine/Public (= 1000.0.0) - hermes-engine/Hermes (1000.0.0) + - hermes-engine/inspector (1000.0.0) + - hermes-engine/inspector_chrome (1000.0.0) - hermes-engine/Public (1000.0.0) - libevent (2.1.12) - OCMock (3.9.1) - OpenSSL-Universal (1.1.1100) - - RCT-Folly (2021.07.22.00): + - RCT-Folly (2022.05.16.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Default (= 2021.07.22.00) - - RCT-Folly/Default (2021.07.22.00): + - RCT-Folly/Default (= 2022.05.16.00) + - RCT-Folly/Default (2022.05.16.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Fabric (2021.07.22.00): + - RCT-Folly/Fabric (2022.05.16.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - - RCT-Folly/Futures (2021.07.22.00): + - RCT-Folly/Futures (2022.05.16.00): - boost - DoubleConversion - fmt (~> 6.2.1) @@ -140,7 +144,7 @@ PODS: - React-Core (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default (= 1000.0.0) - React-cxxreact - React-hermes @@ -154,7 +158,7 @@ PODS: - React-Core/CoreModulesHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -168,7 +172,7 @@ PODS: - React-Core/Default (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-cxxreact - React-hermes - React-jsi @@ -181,7 +185,7 @@ PODS: - React-Core/DevSupport (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default (= 1000.0.0) - React-Core/RCTWebSocket (= 1000.0.0) - React-cxxreact @@ -197,7 +201,7 @@ PODS: - React-Core/RCTActionSheetHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -211,7 +215,7 @@ PODS: - React-Core/RCTAnimationHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -225,7 +229,7 @@ PODS: - React-Core/RCTBlobHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -239,7 +243,7 @@ PODS: - React-Core/RCTImageHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -253,7 +257,7 @@ PODS: - React-Core/RCTLinkingHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -267,7 +271,7 @@ PODS: - React-Core/RCTNetworkHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -281,7 +285,7 @@ PODS: - React-Core/RCTPushNotificationHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -295,7 +299,7 @@ PODS: - React-Core/RCTSettingsHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -309,7 +313,7 @@ PODS: - React-Core/RCTTextHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -323,7 +327,7 @@ PODS: - React-Core/RCTVibrationHeaders (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default - React-cxxreact - React-hermes @@ -337,7 +341,7 @@ PODS: - React-Core/RCTWebSocket (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core/Default (= 1000.0.0) - React-cxxreact - React-hermes @@ -349,7 +353,7 @@ PODS: - SocketRocket (= 0.6.0) - Yoga - React-CoreModules (1000.0.0): - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - RCTTypeSafety (= 1000.0.0) - React-Codegen (= 1000.0.0) - React-Core/CoreModulesHeaders (= 1000.0.0) @@ -361,9 +365,10 @@ PODS: - React-cxxreact (1000.0.0): - boost (= 1.76.0) - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-callinvoker (= 1000.0.0) - React-debug (= 1000.0.0) - React-jsi (= 1000.0.0) @@ -374,9 +379,10 @@ PODS: - React-debug (1000.0.0) - React-Fabric (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -407,9 +413,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/animations (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -425,9 +432,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/attributedstring (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -443,9 +451,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/butter (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -461,9 +470,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/componentregistry (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -479,9 +489,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/componentregistrynative (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -497,9 +508,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -526,9 +538,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/inputaccessory (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -544,9 +557,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/legacyviewmanagerinterop (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -562,9 +576,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/modal (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -580,9 +595,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/rncore (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -598,9 +614,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/root (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -616,9 +633,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/safeareaview (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -634,9 +652,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/scrollview (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -652,9 +671,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/text (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -670,9 +690,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/textinput (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -688,9 +709,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/unimplementedview (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -706,9 +728,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/components/view (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -725,9 +748,10 @@ PODS: - Yoga - React-Fabric/core (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -743,9 +767,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/imagemanager (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -761,9 +786,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/leakchecker (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -779,9 +805,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/mounting (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -797,9 +824,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/scheduler (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -815,9 +843,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/telemetry (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -833,9 +862,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/templateprocessor (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -851,9 +881,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/textlayoutmanager (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -870,9 +901,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-Fabric/uimanager (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Core @@ -888,9 +920,10 @@ PODS: - ReactCommon/turbomodule/core (= 1000.0.0) - React-FabricImage (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - RCTRequired (= 1000.0.0) - RCTTypeSafety (= 1000.0.0) - React-Fabric @@ -905,14 +938,15 @@ PODS: - Yoga - React-graphics (1000.0.0): - glog - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - React-Core/Default (= 1000.0.0) - React-hermes (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - RCT-Folly/Futures (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) + - RCT-Folly/Futures (= 2022.05.16.00) - React-cxxreact (= 1000.0.0) - React-jsi - React-jsiexecutor (= 1000.0.0) @@ -928,19 +962,21 @@ PODS: - React-rendererdebug - React-utils - React-jserrorhandler (1000.0.0): - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - React-jsi (= 1000.0.0) - React-Mapbuffer - React-jsi (1000.0.0): - boost (= 1.76.0) - DoubleConversion + - fmt (~> 6.2.1) - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-jsiexecutor (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-cxxreact (= 1000.0.0) - React-jsi (= 1000.0.0) - React-perflogger (= 1000.0.0) @@ -965,7 +1001,7 @@ PODS: - React-RCTActionSheet (1000.0.0): - React-Core/RCTActionSheetHeaders (= 1000.0.0) - React-RCTAnimation (1000.0.0): - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - RCTTypeSafety (= 1000.0.0) - React-Codegen (= 1000.0.0) - React-Core/RCTAnimationHeaders (= 1000.0.0) @@ -987,7 +1023,7 @@ PODS: - ReactCommon/turbomodule/core - React-RCTBlob (1000.0.0): - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Codegen (= 1000.0.0) - React-Core/RCTBlobHeaders (= 1000.0.0) - React-Core/RCTWebSocket (= 1000.0.0) @@ -997,7 +1033,7 @@ PODS: - React-RCTFabric (1000.0.0): - glog - hermes-engine - - RCT-Folly/Fabric (= 2021.07.22.00) + - RCT-Folly/Fabric (= 2022.05.16.00) - React-Core (= 1000.0.0) - React-debug - React-Fabric (= 1000.0.0) @@ -1012,7 +1048,7 @@ PODS: - React-utils - Yoga - React-RCTImage (1000.0.0): - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - RCTTypeSafety (= 1000.0.0) - React-Codegen (= 1000.0.0) - React-Core/RCTImageHeaders (= 1000.0.0) @@ -1025,7 +1061,7 @@ PODS: - React-jsi (= 1000.0.0) - ReactCommon/turbomodule/core (= 1000.0.0) - React-RCTNetwork (1000.0.0): - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - RCTTypeSafety (= 1000.0.0) - React-Codegen (= 1000.0.0) - React-Core/RCTNetworkHeaders (= 1000.0.0) @@ -1038,14 +1074,14 @@ PODS: - React-jsi (= 1000.0.0) - ReactCommon/turbomodule/core (= 1000.0.0) - React-RCTSettings (1000.0.0): - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - RCTTypeSafety (= 1000.0.0) - React-Codegen (= 1000.0.0) - React-Core/RCTSettingsHeaders (= 1000.0.0) - React-jsi (= 1000.0.0) - ReactCommon/turbomodule/core (= 1000.0.0) - React-RCTTest (1000.0.0): - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core (= 1000.0.0) - React-CoreModules (= 1000.0.0) - React-jsi (= 1000.0.0) @@ -1054,14 +1090,15 @@ PODS: - React-Core/RCTTextHeaders (= 1000.0.0) - Yoga - React-RCTVibration (1000.0.0): - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Codegen (= 1000.0.0) - React-Core/RCTVibrationHeaders (= 1000.0.0) - React-jsi (= 1000.0.0) - ReactCommon/turbomodule/core (= 1000.0.0) - React-rendererdebug (1000.0.0): - DoubleConversion - - RCT-Folly (= 2021.07.22.00) + - fmt (~> 6.2.1) + - RCT-Folly (= 2022.05.16.00) - React-debug - React-rncore (1000.0.0) - React-runtimeexecutor (1000.0.0): @@ -1069,7 +1106,7 @@ PODS: - React-runtimescheduler (1000.0.0): - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-callinvoker - React-debug - React-jsi @@ -1077,10 +1114,11 @@ PODS: - React-utils - React-utils (1000.0.0): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-debug - ReactCommon-Samples (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - hermes-engine - RCT-Folly - React-Codegen @@ -1090,9 +1128,10 @@ PODS: - ReactCommon/turbomodule/core - ReactCommon/turbomodule/bridging (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-callinvoker (= 1000.0.0) - React-cxxreact (= 1000.0.0) - React-jsi (= 1000.0.0) @@ -1100,9 +1139,10 @@ PODS: - React-perflogger (= 1000.0.0) - ReactCommon/turbomodule/core (1000.0.0): - DoubleConversion + - fmt (~> 6.2.1) - glog - hermes-engine - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-callinvoker (= 1000.0.0) - React-cxxreact (= 1000.0.0) - React-jsi (= 1000.0.0) @@ -1110,7 +1150,7 @@ PODS: - React-perflogger (= 1000.0.0) - ScreenshotManager (0.0.1): - glog - - RCT-Folly (= 2021.07.22.00) + - RCT-Folly (= 2022.05.16.00) - React-Core - SocketRocket (0.6.0) - Yoga (1.14.0) @@ -1166,7 +1206,7 @@ DEPENDENCIES: - React-jserrorhandler (from `../react-native/ReactCommon/jserrorhandler`) - React-jsi (from `../react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../react-native/ReactCommon/jsinspector`) + - React-jsinspector (from `../react-native/ReactCommon/jsinspector-modern`) - React-logger (from `../react-native/ReactCommon/logger`) - React-Mapbuffer (from `../react-native/ReactCommon`) - React-nativeconfig (from `../react-native/ReactCommon`) @@ -1263,7 +1303,7 @@ EXTERNAL SOURCES: React-jsiexecutor: :path: "../react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../react-native/ReactCommon/jsinspector" + :path: "../react-native/ReactCommon/jsinspector-modern" React-logger: :path: "../react-native/ReactCommon/logger" React-Mapbuffer: @@ -1323,8 +1363,8 @@ SPEC CHECKSUMS: boost: a0b90ce379cb01df2495a908c5f8a795fe08c25d CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 - FBLazyVector: f4492a543c5a8fa1502d3a5867e3f7252497cfe8 - FBReactNativeSpec: 7aed1b24df9b3d3a4f35d2fac4359494e9ae124d + FBLazyVector: b233b98f08056318bc56f4deccea817b00edeac5 + FBReactNativeSpec: 9c14dc03023715c92c7d01a9c78e8475fe012718 Flipper: c7a0093234c4bdd456e363f2f19b2e4b27652d44 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 @@ -1335,58 +1375,58 @@ SPEC CHECKSUMS: FlipperKit: 37525a5d056ef9b93d1578e04bc3ea1de940094f fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 - hermes-engine: 1483771f9c9897f94c3711498706e1e5bae27495 + hermes-engine: 2f192f79eb5fd8674ca08d663cfdb1a7f4ca2afc libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OCMock: 9491e4bec59e0b267d52a9184ff5605995e74be8 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c - RCT-Folly: b0d1393cb3763d71efca99db314c65f0072eb0fe - RCTRequired: 82c56a03b3efd524bfdb581a906add903f78f978 - RCTTypeSafety: 034ade4e3b36be976b8378f825ccadbe104fa852 - React: cb6dc75e09f32aeddb4d8fb58a394a67219a92fe - React-callinvoker: bae59cbd6affd712bbfc703839dad868ff35069d - React-Codegen: 4ac0cb84d358edd26db783a441cade433333eb93 - React-Core: 4e723094d52ba0ec665a50dea8413ffc2ecbf9e2 - React-CoreModules: 8708a4f28ad9f4bc0b9b5c702eeeb4055bee1417 - React-cxxreact: 8f015936f24c321d13f0a7c477cde80689a9860a - React-debug: 6cff11e7bbc5d37f8dcc33ccb6db1b7b93382e4c - React-Fabric: b9ad078a804a77c52f8f9d7af9cdbfb6ce5d1c03 - React-FabricImage: d4167d5307611a19a2a8ec4954f1be4ffd4afd5c - React-graphics: 3990c281a71d901c124e121a9fc27fa95f31663c - React-hermes: fa4837e1d1e55f462ad3e485794056189b495d7e - React-ImageManager: c1aff14e0dd0a69fd836270d7826cbb1807208be - React-jserrorhandler: 64b01d9ee9e6bea3211d1e76ede8bca102e4ce58 - React-jsi: 8159aa9093bbcd6bf383a671f31fda6cb7c512af - React-jsiexecutor: 754993beb8627912e5b25344cad02ed11a616d9f - React-jsinspector: bede0a6ac88f2463eafc1301239fe943adf06fa7 - React-logger: c20eb15d006d5c303cf6bfbb11243c8d579d9f56 - React-Mapbuffer: 3c6e5c64e6a4a4f344a0525810969473595028ae - React-nativeconfig: 764a90d6e97404b9e144209b734e486da90b32b8 - React-NativeModulesApple: 518f3f3d2d9e4944f99df30e601f8774d1fa1663 - React-perflogger: c294d51cfc18b90caa1604ef3a0fe2dd76b9e15e - React-RCTActionSheet: 943bd5f540f3af1e5a149c13c4de81858edf718a - React-RCTAnimation: a430a8c32e7947b7b014f7bd1ef6825168ad4841 - React-RCTAppDelegate: 790bd13ce800ed445e36a6f3c7cbc1fcefc0e7dc - React-RCTBlob: 9de0f88a876429c31b96b63975173c60978b5586 - React-RCTFabric: 9e3f8b061f70637c2c07c664e5a0e1c7f59a429a - React-RCTImage: c5ebb5cc974afee6ac3135c4ff6d276a30f4b4b8 - React-RCTLinking: aec004e7f55b71be0f68913b1d993964fc8013e1 - React-RCTNetwork: 67229afd0642c55d4493cad5129238a7a1599441 - React-RCTPushNotification: 9e4bba7bb3a4682281216a81f3342caecf84cef7 - React-RCTSettings: 9b6f5a70aa3b859b2686794c3441e278b4f6e0a6 - React-RCTTest: d4004e03f9e5ca2607eb05bee5a0618b189a127a - React-RCTText: e9b0e8ecf0ab4f9fac58916433dcf8e8d5e5c2c1 - React-RCTVibration: ae65884c71d67f356396d6fcc44eec48b5afef70 - React-rendererdebug: e9e35b8c9c6fb17a38ab3bacc9f52c3c35a1fefa - React-rncore: 3056a34149fa18abd03446bc71a1bc891e136315 - React-runtimeexecutor: e1c32bc249dd3cf3919cb4664fd8dc84ef70cff7 - React-runtimescheduler: f5ecd4eab63710b752691bab82db37adb2430d15 - React-utils: 87fd772efdc9c2d0c28b9e1191639c7425e007e5 - ReactCommon: de6e7a92ad50207b08bcf696a61d9b509876e131 - ReactCommon-Samples: 13b7118480fb9abeee8a98bc1cceff06984cfde4 - ScreenshotManager: d39b964a374e5012e2b8c143e29ead86b1da6a3c + RCT-Folly: 870a45f398f8ee9ca60cd021b23ab144d56fd3ad + RCTRequired: 5091117ce5c99db5af024aa1ec15c6a4c4ad7f1c + RCTTypeSafety: 95672f6742bf7b5d16bd8700a65e7bffb63cd9f8 + React: 2806c7b904a5f8e1279bb1fcf829b6a43bc71e15 + React-callinvoker: 2d96a4479c0b440a4b24f7eb0ae73a95c0a7e5d9 + React-Codegen: 5ad0601f4a0960e6ad81412fdfb270aafba6e4e1 + React-Core: 2e70e151812a6ad68a95b676d05e13ee38466d96 + React-CoreModules: 69643fe30d8e8f214584cb5336e47307e458d9d9 + React-cxxreact: 420ec1c09edf4291fa3cfee30371572572ccb2e5 + React-debug: 42965d54926dad1d171d60bdb89e000efb4eb9b4 + React-Fabric: d3aecfadeb3077c2396cbd305895b025eed4123d + React-FabricImage: de13a9ca5eb2819ac729564e98a40a9af54452f5 + React-graphics: cfcaab89e7d1aa59bb97d99c25ef5f28d9ced5f1 + React-hermes: 11fcf1dd7dff109b40160e75eb4447af3ceae85d + React-ImageManager: ec2b27c090514ca96f78753767a3fb4682be78f3 + React-jserrorhandler: 87d904b84cedbf897a4ed59aceca5724f03cf9af + React-jsi: 990673de5500c55224e52e7235863b1511ad6375 + React-jsiexecutor: ae9ed28dbcf5273f4916fbabf4958ec891f47c0e + React-jsinspector: e845240c20daa428639125e0e5623a3237203ff7 + React-logger: 5bb7c5f3a5ef404c197941167c8cc7628e928f97 + React-Mapbuffer: e741b31b558f7679bc6b8a848fb3605f8d357998 + React-nativeconfig: 7b4ebf6e90de842fd0e6f5df6d9ad1f624955bde + React-NativeModulesApple: 6306a1e80f8f09e8689a43e9072e9be25dbcfcc6 + React-perflogger: 24428a1beeb9754b41ecec09f62cbd8ff15ddb46 + React-RCTActionSheet: fb44d26d484d53f7e5debf2346f9871336e5ac70 + React-RCTAnimation: b54290477ef258b6981a6822f5b52673cc08399a + React-RCTAppDelegate: 122a35fd62d94993c7370d25cc85c7e65315711e + React-RCTBlob: bff18b190ffe3a48b2d78dbb027c24067b6314c1 + React-RCTFabric: 42070e4bfab8370c081def852e5e31e047eae192 + React-RCTImage: 0329f6197bb95cf9f4e37f9270b278e4037abdc0 + React-RCTLinking: 79e3f58ad1b65dba4cb2c53c2b09eec75d858c20 + React-RCTNetwork: b603998f6a23cf652395ffe84d5dea67cd4c49de + React-RCTPushNotification: 317b76a7c6c576898580472a1394a3844328c95e + React-RCTSettings: 866e76786094fc7f5037719b767e9adffd8dda87 + React-RCTTest: bad53a62901f602dd919cb3c47d91a0c76ec7f38 + React-RCTText: 6b8c71ab09e7480ffaa5fd353f5b8646019a1cf3 + React-RCTVibration: cf14ac74b9f1d676d56111216d1a6e1b0df06d51 + React-rendererdebug: bcfb7fa48f8a0f62f87522a8f47e72787761884c + React-rncore: 28bd4658bf02ba5302822b8c6ddc0052f7566277 + React-runtimeexecutor: 963711d915734cd2a24fae6edec7f0572d19ecce + React-runtimescheduler: 6e7519d2003b5ab8aa8a79b60478fd13cd5f6681 + React-utils: b842f2d7fe9d81138a486512f44fe1565e2bb987 + ReactCommon: 9ab719868580941d77be0f90e4d310580868753d + ReactCommon-Samples: 9bdd25d3e637c98e314fa9f507292b4c4ddb3edd + ScreenshotManager: 338d56378199c1e9fb50d896a7ce4400cd250b5e SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 - Yoga: a64d431e724877a5f6b9d3112f04dc033e15f85d + Yoga: 5c39c7ead1a63357070b8bef4a9a57b9a1cd1ccb -PODFILE CHECKSUM: 12e43012c487479221225e84fe13aa775cf90726 +PODFILE CHECKSUM: ae1f2365c7aaade1c3f51a182c545de8df389f81 COCOAPODS: 1.12.1 diff --git a/packages/rn-tester/RCTTest/React-RCTTest.podspec b/packages/rn-tester/RCTTest/React-RCTTest.podspec index 77658d2f875ba5..2f4e129e88db59 100644 --- a/packages/rn-tester/RCTTest/React-RCTTest.podspec +++ b/packages/rn-tester/RCTTest/React-RCTTest.podspec @@ -16,8 +16,8 @@ else source[:tag] = "v#{version}" end -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' -folly_version = '2021.07.22.00' +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2022.05.16.00' Pod::Spec.new do |s| s.name = "React-RCTTest" @@ -35,7 +35,7 @@ Pod::Spec.new do |s| s.header_dir = "RCTTest" s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++20", "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\"" } diff --git a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj index fcfc531a6c8504..d8d4dd768e008f 100644 --- a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj +++ b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj @@ -898,7 +898,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -966,7 +966,7 @@ "$(OTHER_CFLAGS)", "-DFOLLY_NO_CONFIG", "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", + "-DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1", "-DRN_FABRIC_ENABLED", ); OTHER_LDFLAGS = ( @@ -989,7 +989,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++17"; + CLANG_CXX_LANGUAGE_STANDARD = "c++20"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -1049,7 +1049,7 @@ "$(OTHER_CFLAGS)", "-DFOLLY_NO_CONFIG", "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", + "-DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1", "-DRN_FABRIC_ENABLED", ); OTHER_LDFLAGS = (