@@ -167,9 +167,10 @@ def CopyIcuDepsToBucket(src, dst):
167167 deps_bucket_path = os .path .join (_bucket_directory , dst )
168168 FindFileAndCopyTo ('icudtl.dat' , source_root , deps_bucket_path )
169169
170- def BuildBucket (runtime_mode , arch , product ):
171- out_dir = 'fuchsia_%s_%s/' % (runtime_mode , arch )
172- bucket_dir = 'flutter/%s/%s/' % (arch , runtime_mode )
170+ def BuildBucket (runtime_mode , arch , optimized , product ):
171+ unopt = "_unopt" if not optimized else ""
172+ out_dir = 'fuchsia_%s%s_%s/' % (runtime_mode , unopt , arch )
173+ bucket_dir = 'flutter/%s/%s%s/' % (arch , runtime_mode , unopt )
173174 deps_dir = 'flutter/%s/deps/' % (arch )
174175 CopyToBucket (out_dir , bucket_dir , product )
175176 CopyVulkanDepsToBucket (out_dir , deps_dir , arch )
@@ -244,8 +245,9 @@ def GetRunnerTarget(runner_type, product, aot):
244245 target += 'runner'
245246 return base + target
246247
247- def BuildTarget (runtime_mode , arch , enable_lto , additional_targets = []):
248- out_dir = 'fuchsia_%s_%s' % (runtime_mode , arch )
248+ def BuildTarget (runtime_mode , arch , optimized , enable_lto , additional_targets = []):
249+ unopt = "_unopt" if not optimized else ""
250+ out_dir = 'fuchsia_%s%s_%s' % (runtime_mode , unopt , arch )
249251 flags = [
250252 '--fuchsia' ,
251253 '--fuchsia-cpu' ,
@@ -254,6 +256,8 @@ def BuildTarget(runtime_mode, arch, enable_lto, additional_targets=[]):
254256 runtime_mode ,
255257 ]
256258
259+ if not optimized :
260+ flags .append ('--unoptimized' )
257261 if not enable_lto :
258262 flags .append ('--no-lto' )
259263
@@ -277,6 +281,12 @@ def main():
277281 required = False ,
278282 help = 'Specifies the flutter engine SHA.' )
279283
284+ parser .add_argument (
285+ '--unoptimized' ,
286+ action = 'store_true' ,
287+ default = False ,
288+ help = 'If set, disables compiler optimization for the build.' )
289+
280290 parser .add_argument (
281291 '--runtime-mode' ,
282292 type = str ,
@@ -312,6 +322,7 @@ def main():
312322 runtime_modes = ['debug' , 'profile' , 'release' ]
313323 product_modes = [False , False , True ]
314324
325+ optimized = not args .unoptimized
315326 enable_lto = not args .no_lto
316327
317328 for arch in archs :
@@ -320,8 +331,8 @@ def main():
320331 product = product_modes [i ]
321332 if build_mode == 'all' or runtime_mode == build_mode :
322333 if not args .skip_build :
323- BuildTarget (runtime_mode , arch , enable_lto , args .targets .split ("," ))
324- BuildBucket (runtime_mode , arch , product )
334+ BuildTarget (runtime_mode , arch , optimized , enable_lto , args .targets .split ("," ))
335+ BuildBucket (runtime_mode , arch , optimized , product )
325336
326337 if args .upload :
327338 if args .engine_version is None :
0 commit comments