Skip to content

Commit b1af234

Browse files
authored
Disable the use of the API_AVAILABLE macro in Skia in iOS release builds. (flutter#17213)
The use of this macro in C++ translation units leads to the symbol visibility being switched to default instead of hidden. This only happens in bitcode enabled builds. A toolchain upgrade will be necessary to undo this workaround.
1 parent 046a4a6 commit b1af234

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

tools/gn

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,10 @@ def to_gn_args(args):
222222
if args.enable_metal:
223223
gn_args['skia_use_metal'] = True
224224
gn_args['shell_enable_metal'] = True
225-
gn_args['allow_deprecated_api_calls'] = True
225+
# Bitcode enabled builds using the current version of the toolchain leak
226+
# C++ symbols decorated with the availability attribute. Disable these
227+
# attributes in release modes till the toolchain is updated.
228+
gn_args['skia_enable_api_available_macro'] = args.runtime_mode != "release"
226229

227230
if args.enable_vulkan:
228231
# Enable vulkan in the Flutter shell.

0 commit comments

Comments
 (0)