blob: 927bf87c0dfe459cf2833133daa9ebda8eb327a2 [file] [log] [blame]
#!/usr/bin/env python3
import re
import sys
import shutil
import subprocess
exepath = sys.argv[1]
want_arch = sys.argv[2]
dummy_output = sys.argv[3]
with open(dummy_output, 'w') as f:
f.write('')
if not shutil.which('dumpbin'):
print('dumpbin not found, skipping')
sys.exit(0)
out = subprocess.check_output(['dumpbin', '/HEADERS', exepath],
universal_newlines=True)
for line in out.split('\n'):
m = re.match(r'.* machine \(([A-Za-z0-9]+)\)$', line)
if m:
arch = m.groups()[0].lower()
if arch == 'arm64':
arch = 'aarch64'
elif arch == 'x64':
arch = 'x86_64'
if arch != want_arch:
raise RuntimeError(f'Wanted arch {want_arch} but exe uses {arch}')