From 3cf712d2305fcf2797aa4dd32bcf77eeb46a1905 Mon Sep 17 00:00:00 2001 From: Chinmay Garde Date: Mon, 21 Mar 2016 17:45:47 -0700 Subject: [PATCH] The dynamic services SDK produces a fat Mach binary of x64 and arm64 variants. --- engine/src/flutter/sky/tools/lipo.py | 52 ++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 engine/src/flutter/sky/tools/lipo.py diff --git a/engine/src/flutter/sky/tools/lipo.py b/engine/src/flutter/sky/tools/lipo.py new file mode 100755 index 00000000000..abcc122ca92 --- /dev/null +++ b/engine/src/flutter/sky/tools/lipo.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python +# Copyright 2015 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import argparse +import subprocess +import sys +import os + + +def MakeStamp(stamp_path): + dir_name = os.path.dirname(stamp_path) + + if not os.path.isdir(dir_name): + os.makedirs() + + with open(stamp_path, 'a'): + os.utime(stamp_path, None) + + +def main(): + parser = argparse.ArgumentParser( + description='Creates a FAT Mach binary') + + parser.add_argument('--path', action='append', dest='paths', + default=[], help='The path to a Mach binary') + parser.add_argument('--output', type=str) + parser.add_argument('--stamp', type=str) + + args = parser.parse_args() + + cmd = [ + '/usr/bin/env', + 'xcrun', + 'lipo', + ] + + cmd.extend(args.paths) + + cmd.extend([ + '-create', + '-output', + args.output, + ]) + + subprocess.check_call(cmd) + + MakeStamp(args.stamp) + +if __name__ == '__main__': + sys.exit(main())