iOS,macOS: Enable ARC in flutter_cflags_objc[c] (flutter/engine#56685)

Enables the `-fobjc-arc` compiler flag for Objective-C and Objective-C++
translation units.

Eliminates the flutter_cflags_objc[c]_arc settings, since they're now
redundant.

All Obj-C/Obj-C++ code in our codebase has now been migrated to ARC.

Issue: https://github.com/flutter/flutter/issues/137801
This commit is contained in:
Chris Bracken 2024-11-18 13:37:40 -08:00 committed by GitHub
parent d2d49cabe7
commit bcbcb6631e
14 changed files with 43 additions and 45 deletions

View File

@ -77,14 +77,13 @@ if (is_ios || is_mac) {
flutter_cflags_objc = [
"-Werror=overriding-method-mismatch",
"-Werror=undeclared-selector",
"-fobjc-arc",
]
if (is_mac) {
flutter_cflags_objc += [ "-fapplication-extension" ]
}
flutter_cflags_objcc = flutter_cflags_objc
flutter_cflags_objc_arc = flutter_cflags_objc + [ "-fobjc-arc" ]
flutter_cflags_objcc_arc = flutter_cflags_objc_arc
}
# A combo of host os name and cpu is used in several locations to

View File

@ -135,8 +135,8 @@ source_set("fml") {
libs = []
if (is_ios || is_mac) {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources += [
"platform/darwin/cf_utils.cc",
@ -359,8 +359,8 @@ if (enable_unittests) {
]
if (is_mac || is_ios) {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources += [
"platform/darwin/cf_utils_unittests.mm",

View File

@ -43,7 +43,7 @@ template("impeller_component") {
}
if (is_ios || is_mac) {
cflags_objc += flutter_cflags_objc_arc
cflags_objc += flutter_cflags_objc
}
if (!defined(invoker.cflags_objcc)) {
@ -51,7 +51,7 @@ template("impeller_component") {
}
if (is_ios || is_mac) {
cflags_objcc += flutter_cflags_objcc_arc
cflags_objcc += flutter_cflags_objcc
}
}
}

View File

@ -296,8 +296,8 @@ if (enable_unittests) {
}
if (test_enable_metal) {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources += [
"shell_test_platform_view_metal.h",

View File

@ -71,8 +71,8 @@ source_set("gpu_surface_vulkan") {
if (shell_enable_metal) {
source_set("gpu_surface_metal") {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources = [
"gpu_surface_metal_delegate.cc",
@ -99,8 +99,8 @@ if (shell_enable_metal) {
if (is_mac) {
impeller_component("gpu_surface_metal_unittests") {
testonly = true
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
target_type = "executable"
sources = [

View File

@ -9,8 +9,8 @@ import("//flutter/testing/testing.gni")
import("framework_common.gni")
source_set("common") {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources = [
"buffer_conversions.h",
@ -75,8 +75,8 @@ config("framework_relative_headers") {
# Framework code shared between iOS and macOS.
source_set("framework_common") {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources = [
"framework/Source/FlutterBinaryMessengerRelay.mm",
@ -111,8 +111,8 @@ test_fixtures("framework_common_fixtures") {
# Unit tests for channels.
executable("framework_common_unittests") {
testonly = true
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
ldflags = [ "-ObjC" ]
sources = [

View File

@ -8,8 +8,8 @@ import("//flutter/common/config.gni")
import("//flutter/impeller/tools/impeller.gni")
source_set("graphics") {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources = [
"FlutterDarwinContextMetalSkia.h",

View File

@ -41,8 +41,8 @@ _flutter_framework_headers_copy_dir = "$_flutter_framework_dir/Headers"
source_set("flutter_framework_source") {
visibility = [ ":*" ]
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
defines = [ "FLUTTER_FRAMEWORK=1" ]
if (darwin_extension_safe) {
@ -203,9 +203,8 @@ shared_library("ios_test_flutter") {
# This bug results engine build failure since the engine treats warnings as errors.
# The `-Wno-unguarded-availability-new` can be removed when the Xcode bug is fixed.
# See details in https://github.com/flutter/flutter/issues/128958.
cflags_objc = flutter_cflags_objc_arc
cflags_objcc =
flutter_cflags_objcc_arc + [ "-Wno-unguarded-availability-new" ]
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc + [ "-Wno-unguarded-availability-new" ]
cflags = [
"-fvisibility=default",
"-F$platform_frameworks_path",

View File

@ -52,8 +52,8 @@ _flutter_framework_headers_copy_dir =
source_set("flutter_framework_source") {
visibility = [ ":*" ]
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources = [
"framework/Source/AccessibilityBridgeMac.h",
@ -173,8 +173,8 @@ test_fixtures("flutter_desktop_darwin_fixtures") {
executable("flutter_desktop_darwin_unittests") {
testonly = true
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
ldflags = [ "-ObjC" ]
sources = [

View File

@ -144,8 +144,8 @@ template("embedder_source_set") {
}
if (embedder_enable_metal) {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources += [
"embedder_external_texture_metal.h",
@ -389,8 +389,8 @@ if (enable_unittests) {
}
if (test_enable_metal) {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources += [ "tests/embedder_metal_unittests.mm" ]
}

View File

@ -193,8 +193,8 @@ if (is_mac || is_ios) {
testonly = true
if (shell_enable_metal) {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources = [
"test_metal_context.h",
@ -257,8 +257,8 @@ if (enable_unittests) {
]
if (test_enable_metal) {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources += [ "test_metal_surface_unittests.mm" ]
deps += [ ":metal" ]

View File

@ -76,8 +76,8 @@ if (enable_unittests) {
]
if (is_mac) {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
ldflags = [ "-ObjC" ]
sources += [ "ax/platform/ax_platform_node_mac_unittest.mm" ]

View File

@ -82,8 +82,8 @@ source_set("ax") {
]
if (is_mac) {
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
sources += [
"platform/ax_platform_node_mac.h",

View File

@ -51,8 +51,8 @@ source_set("gfx") {
"mac/coordinate_conversion.h",
"mac/coordinate_conversion.mm",
]
cflags_objc = flutter_cflags_objc_arc
cflags_objcc = flutter_cflags_objcc_arc
cflags_objc = flutter_cflags_objc
cflags_objcc = flutter_cflags_objcc
}
deps = [