Build kitty-tool as a universal binary for freeze builds on macOS
This commit is contained in:
parent
e9e7b97c48
commit
e356af2dc4
24
setup.py
24
setup.py
@ -907,13 +907,31 @@ def build_kitty_tool(args: Options, launcher_dir: str) -> None:
|
|||||||
ld_flags.append('-s')
|
ld_flags.append('-s')
|
||||||
ld_flags.append('-w')
|
ld_flags.append('-w')
|
||||||
cmd += ['-ldflags', ' '.join(ld_flags)]
|
cmd += ['-ldflags', ' '.join(ld_flags)]
|
||||||
cmd += ['-o', os.path.join(launcher_dir, 'kitty-tool'), os.path.abspath('tools/cmd')]
|
dest = os.path.join(launcher_dir, 'kitty-tool')
|
||||||
|
src = os.path.abspath('tools/cmd')
|
||||||
|
|
||||||
|
def run_one(dest: str, **env: str) -> None:
|
||||||
|
c = cmd + ['-o', dest, src]
|
||||||
if args.verbose:
|
if args.verbose:
|
||||||
print(shlex.join(cmd))
|
print(shlex.join(c))
|
||||||
cp = subprocess.run(cmd)
|
e = os.environ.copy()
|
||||||
|
e.update(env)
|
||||||
|
cp = subprocess.run(c, env=e)
|
||||||
if cp.returncode != 0:
|
if cp.returncode != 0:
|
||||||
raise SystemExit(cp.returncode)
|
raise SystemExit(cp.returncode)
|
||||||
|
|
||||||
|
if args.build_universal_binary:
|
||||||
|
outs = []
|
||||||
|
for arch in ('amd64', 'arm64'):
|
||||||
|
d = dest + f'-{arch}'
|
||||||
|
run_one(d, GOOS='darwin', GOARCH=arch)
|
||||||
|
outs.append(d)
|
||||||
|
subprocess.check_call(['lipo', '-create', '-output', dest] + outs)
|
||||||
|
for x in outs:
|
||||||
|
os.remove(x)
|
||||||
|
else:
|
||||||
|
run_one(dest)
|
||||||
|
|
||||||
|
|
||||||
def build_launcher(args: Options, launcher_dir: str = '.', bundle_type: str = 'source') -> None:
|
def build_launcher(args: Options, launcher_dir: str = '.', bundle_type: str = 'source') -> None:
|
||||||
werror = '' if args.ignore_compiler_warnings else '-pedantic-errors -Werror'
|
werror = '' if args.ignore_compiler_warnings else '-pedantic-errors -Werror'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user