From 464ce0bb212364d4b75285b3b2a44597e0e4c04e Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 17:20:43 +0000 Subject: [PATCH 1/2] Here's the updated commit message: Remove C99 language standard settings This commit removes the explicit C99 language standard setting (`'GCC_C_LANGUAGE_STANDARD' => 'c99',` and `cLanguageStandard: .c99,`) from all relevant podspec files and the `Package.swift` file. This change is made to rely on default compiler settings or settings defined elsewhere, promoting consistency and reducing redundancy. --- FirebaseABTesting.podspec | 1 - FirebaseAppCheck.podspec | 1 - FirebaseAppDistribution.podspec | 1 - FirebaseAuth.podspec | 1 - FirebaseCore.podspec | 1 - FirebaseCrashlytics.podspec | 4 ---- FirebaseDatabase.podspec | 1 - FirebaseDynamicLinks.podspec | 1 - FirebaseFirestoreInternal.podspec | 1 - FirebaseFirestoreTestingSupport.podspec | 1 - FirebaseInstallations.podspec | 1 - FirebaseMLModelDownloader.podspec | 1 - FirebaseMessaging.podspec | 1 - FirebasePerformance.podspec | 1 - FirebaseRemoteConfig.podspec | 1 - FirebaseSessions.podspec | 1 - Package.swift | 1 - 17 files changed, 20 deletions(-) diff --git a/FirebaseABTesting.podspec b/FirebaseABTesting.podspec index 5750efc2fbc..82ec4457133 100644 --- a/FirebaseABTesting.podspec +++ b/FirebaseABTesting.podspec @@ -49,7 +49,6 @@ Firebase Cloud Messaging and Firebase Remote Config in your app. s.requires_arc = base_dir + '*.m' s.public_header_files = base_dir + 'Public/FirebaseABTesting/*.h' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } s.dependency 'FirebaseCore', '~> 11.15.0' diff --git a/FirebaseAppCheck.podspec b/FirebaseAppCheck.podspec index a12e8bd7d99..417e5d63576 100644 --- a/FirebaseAppCheck.podspec +++ b/FirebaseAppCheck.podspec @@ -51,7 +51,6 @@ Pod::Spec.new do |s| s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } diff --git a/FirebaseAppDistribution.podspec b/FirebaseAppDistribution.podspec index 700028f9a4a..42214d76505 100644 --- a/FirebaseAppDistribution.podspec +++ b/FirebaseAppDistribution.podspec @@ -36,7 +36,6 @@ iOS SDK for App Distribution for Firebase. s.dependency 'FirebaseInstallations', '~> 11.0' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } diff --git a/FirebaseAuth.podspec b/FirebaseAuth.podspec index e11eaf47c0e..5ca2eb61f2a 100644 --- a/FirebaseAuth.podspec +++ b/FirebaseAuth.podspec @@ -49,7 +49,6 @@ supports email and password accounts, as well as several 3rd party authenticatio 'FirebaseAuth/CHANGELOG.md' ] s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', # The second path is to find FirebaseAuth-Swift.h from a pod gen project 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}" "${OBJECT_FILE_DIR_normal}/${NATIVE_ARCH_ACTUAL}"', 'OTHER_SWIFT_FLAGS' => "$(inherited) #{ENV.key?('FIREBASE_CI') ? '-D FIREBASE_CI -warnings-as-errors' : ''}" diff --git a/FirebaseCore.podspec b/FirebaseCore.podspec index 63a0a5b27fa..12180f591b8 100644 --- a/FirebaseCore.podspec +++ b/FirebaseCore.podspec @@ -56,7 +56,6 @@ Firebase Core includes FIRApp and FIROptions which provide central configuration s.dependency 'FirebaseCoreInternal', '~> 11.15.0' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => 'Firebase_VERSION=' + s.version.to_s, 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', 'OTHER_CFLAGS' => '-fno-autolink' diff --git a/FirebaseCrashlytics.podspec b/FirebaseCrashlytics.podspec index 6955088b69e..3ebb6837ffa 100644 --- a/FirebaseCrashlytics.podspec +++ b/FirebaseCrashlytics.podspec @@ -75,7 +75,6 @@ Pod::Spec.new do |s| s.watchos.frameworks = 'Security' s.ios.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => 'CLS_SDK_NAME="Crashlytics iOS SDK" ' + # For nanopb: @@ -84,7 +83,6 @@ Pod::Spec.new do |s| } s.osx.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => 'CLS_SDK_NAME="Crashlytics Mac SDK" ' + # For nanopb: @@ -93,7 +91,6 @@ Pod::Spec.new do |s| } s.tvos.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => 'CLS_SDK_NAME="Crashlytics tvOS SDK" ' + # For nanopb: @@ -102,7 +99,6 @@ Pod::Spec.new do |s| } s.watchos.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => 'CLS_SDK_NAME="Crashlytics watchOS SDK" ' + # For nanopb: diff --git a/FirebaseDatabase.podspec b/FirebaseDatabase.podspec index 128a19ba904..09768d48252 100644 --- a/FirebaseDatabase.podspec +++ b/FirebaseDatabase.podspec @@ -53,7 +53,6 @@ Simplify your iOS development, grow your user base, and monetize more effectivel s.dependency 'FirebaseSharedSwift', '~> 11.0' s.dependency 'GoogleUtilities/UserDefaults', '~> 8.1' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } diff --git a/FirebaseDynamicLinks.podspec b/FirebaseDynamicLinks.podspec index 13d0a340d4d..5ad9a08caa3 100644 --- a/FirebaseDynamicLinks.podspec +++ b/FirebaseDynamicLinks.podspec @@ -40,7 +40,6 @@ Firebase Dynamic Links are deep links that enhance user experience and increase s.dependency 'FirebaseCore', '~> 11.15.0' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => 'FIRDynamicLinks3P GIN_SCION_LOGGING', 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } diff --git a/FirebaseFirestoreInternal.podspec b/FirebaseFirestoreInternal.podspec index 0f71bd8dbe0..ef81b8da45b 100644 --- a/FirebaseFirestoreInternal.podspec +++ b/FirebaseFirestoreInternal.podspec @@ -118,7 +118,6 @@ Google Cloud Firestore is a NoSQL document database built for automatic scaling, s.pod_target_xcconfig = { 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14', 'CLANG_CXX_LIBRARY' => 'libc++', - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => "FIRFirestore_VERSION=#{s.version} " + # The nanopb pod sets these defs, so we must too. (We *do* require 16bit diff --git a/FirebaseFirestoreTestingSupport.podspec b/FirebaseFirestoreTestingSupport.podspec index a28ab450c3f..97ab0f834a6 100644 --- a/FirebaseFirestoreTestingSupport.podspec +++ b/FirebaseFirestoreTestingSupport.podspec @@ -45,7 +45,6 @@ Pod::Spec.new do |s| s.dependency 'FirebaseFirestore', '~> 11.0' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'OTHER_CFLAGS' => '-fno-autolink', 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}" ' diff --git a/FirebaseInstallations.podspec b/FirebaseInstallations.podspec index 0adffd04b85..45c40ca732d 100644 --- a/FirebaseInstallations.podspec +++ b/FirebaseInstallations.podspec @@ -52,7 +52,6 @@ Pod::Spec.new do |s| preprocessor_definitions = '' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => preprocessor_definitions, 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } diff --git a/FirebaseMLModelDownloader.podspec b/FirebaseMLModelDownloader.podspec index 004a74143be..2590eead306 100644 --- a/FirebaseMLModelDownloader.podspec +++ b/FirebaseMLModelDownloader.podspec @@ -44,7 +44,6 @@ Pod::Spec.new do |s| s.dependency 'SwiftProtobuf', '~> 1.19' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => 'FIRMLModelDownloader_VERSION=' + s.version.to_s, 'OTHER_CFLAGS' => '-fno-autolink', } diff --git a/FirebaseMessaging.podspec b/FirebaseMessaging.podspec index 9e66e74b205..8cf729a8fca 100644 --- a/FirebaseMessaging.podspec +++ b/FirebaseMessaging.podspec @@ -50,7 +50,6 @@ device, and it is completely free. } s.library = 'sqlite3' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => # for nanopb: 'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1', diff --git a/FirebasePerformance.podspec b/FirebasePerformance.podspec index a95ad9fbd2f..d2124aa25c3 100644 --- a/FirebasePerformance.podspec +++ b/FirebasePerformance.podspec @@ -50,7 +50,6 @@ Firebase Performance library to measure performance of Mobile and Web Apps. end s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'GCC_PREPROCESSOR_DEFINITIONS' => preprocessor_definitions, # Unit tests do library imports using repo-root relative paths. 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', diff --git a/FirebaseRemoteConfig.podspec b/FirebaseRemoteConfig.podspec index 3d90a14b950..ea7760ffc21 100644 --- a/FirebaseRemoteConfig.podspec +++ b/FirebaseRemoteConfig.podspec @@ -47,7 +47,6 @@ app update. "#{s.module_name}_Privacy" => 'FirebaseRemoteConfig/Swift/Resources/PrivacyInfo.xcprivacy' } s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } s.dependency 'FirebaseABTesting', '~> 11.0' diff --git a/FirebaseSessions.podspec b/FirebaseSessions.podspec index 8c92c6b6172..9bb2e6988da 100644 --- a/FirebaseSessions.podspec +++ b/FirebaseSessions.podspec @@ -49,7 +49,6 @@ Pod::Spec.new do |s| s.dependency 'PromisesSwift', '~> 2.1' s.pod_target_xcconfig = { - 'GCC_C_LANGUAGE_STANDARD' => 'c99', 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', 'GCC_PREPROCESSOR_DEFINITIONS' => # For nanopb: diff --git a/Package.swift b/Package.swift index 1a46f5a94ab..f82fa0e8222 100644 --- a/Package.swift +++ b/Package.swift @@ -1430,7 +1430,6 @@ let package = Package( ] ), ] + firestoreTargets(), - cLanguageStandard: .c99, cxxLanguageStandard: CXXLanguageStandard.gnucxx14 ) From ab62ff995b0758f89ffa225dc7313175a94e90b5 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Thu, 12 Jun 2025 16:12:17 -0400 Subject: [PATCH 2/2] [skip ci] add changelog entry --- FirebaseCore/CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/FirebaseCore/CHANGELOG.md b/FirebaseCore/CHANGELOG.md index 03fd4f701a4..33bf5733e7b 100644 --- a/FirebaseCore/CHANGELOG.md +++ b/FirebaseCore/CHANGELOG.md @@ -1,3 +1,6 @@ +# Unreleased +- [fixed] Remove c99 as the required C language standard. (#14950) + # Firebase 11.12.0 - [changed] Firebase now requires at least Xcode 16.2. See https://developer.apple.com/news/?id=9s0rgdy9 for more info.