diff --git a/pyinst.py b/pyinst.py index 55df1a78f..526e8802f 100644 --- a/pyinst.py +++ b/pyinst.py @@ -6,11 +6,10 @@ import sys from PyInstaller.__main__ import run as run_pyinstaller -OS_NAME, MACHINE = sys.platform, platform.machine() -if MACHINE in ('x86_64', 'amd64'): - MACHINE = '' -elif 'i' in MACHINE and '86' in MACHINE: - MACHINE = 'x86' +OS_NAME, MACHINE, ARCH = sys.platform, platform.machine(), platform.architecture()[0][:2] +if MACHINE in ('x86_64', 'AMD64') or ('i' in MACHINE and '86' in MACHINE): + # NB: Windows x86 has MACHINE = AMD64 irrespective of bitness + MACHINE = 'x86' if ARCH == '32' else '' def main(): @@ -51,7 +50,6 @@ def parse_options(): # Compatibility with older arguments opts = sys.argv[1:] if opts[0:1] in (['32'], ['64']): - ARCH = platform.architecture()[0][:2] if ARCH != opts[0]: raise Exception(f'{opts[0]}bit executable cannot be built on a {ARCH}bit system') opts = opts[1:]