Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Appease pylint
  • Loading branch information
cbracken committed May 17, 2024
commit b391402d544b57bc9a72d319dd224bf29e3ff1ae
21 changes: 10 additions & 11 deletions sky/tools/create_macos_binary.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
# found in the LICENSE file.

import argparse
import platform
import os
import subprocess
import sys
Expand All @@ -17,39 +16,39 @@ def canonical_path(path):
source tree's buildroot directory."""
if os.path.isabs(path):
return path
buildroot_dir = os.path.abspath(os.path.join(os.path.realpath(__file__), "..", "..", "..", ".."))
buildroot_dir = os.path.abspath(os.path.join(os.path.realpath(__file__), '..', '..', '..', '..'))
return os.path.join(buildroot_dir, path)


def assert_file_exists(binary_path, arch):
if not os.path.isfile(binary_path):
print("Cannot find macOS %s binary at %s" % (arch, binary_path))
print('Cannot find macOS %s binary at %s' % (arch, binary_path))
sys.exit(1)


def create_universal_binary(in_arm64, in_x64, out):
subprocess.check_call(["lipo", in_arm64, in_x64, "-create", "-output", out])
subprocess.check_call(['lipo', in_arm64, in_x64, '-create', '-output', out])


def main():
parser = argparse.ArgumentParser(
description="Creates a universal binary from input arm64, x64 binaries"
description='Creates a universal binary from input arm64, x64 binaries'
)
parser.add_argument("--in-arm64", type=str, required=True)
parser.add_argument("--in-x64", type=str, required=True)
parser.add_argument("--out", type=str, required=True)
parser.add_argument('--in-arm64', type=str, required=True)
parser.add_argument('--in-x64', type=str, required=True)
parser.add_argument('--out', type=str, required=True)
args = parser.parse_args()

in_arm64 = canonical_path(args.in_arm64)
in_x64 = canonical_path(args.in_x64)
out = canonical_path(args.out)

assert_file_exists(in_arm64, "arm64")
assert_file_exists(in_x64, "x64")
assert_file_exists(in_arm64, 'arm64')
assert_file_exists(in_x64, 'x64')
create_universal_binary(in_arm64, in_x64, out)

return 0


if __name__ == "__main__":
if __name__ == '__main__':
sys.exit(main())