Commit 9b81f5580a for qemu.org
commit 9b81f5580a939413b6e3d55b5e39d44e5a68347f
Author: Gerd Hoffmann <kraxel@redhat.com>
Date: Mon Aug 24 18:47:34 2026 +0200
edk2: update build script
sync with https://gitlab.com/kraxel/edk2-build-config/
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-ID: <20260824164751.1700783-3-kraxel@redhat.com>
diff --git a/roms/edk2-build.py b/roms/edk2-build.py
index e564765aaa..c4bfbae4cf 100755
--- a/roms/edk2-build.py
+++ b/roms/edk2-build.py
@@ -51,7 +51,17 @@ def get_toolchain(cfg, build):
return cfg[build]['tool']
if cfg.has_option('global', 'tool'):
return cfg['global']['tool']
- return 'GCC5'
+ return 'GCC'
+
+def get_hostarch():
+ mach = os.uname().machine
+ if mach == 'x86_64':
+ return 'X64'
+ if mach == 'aarch64':
+ return 'AARCH64'
+ if mach == 'riscv64':
+ return 'RISCV64'
+ return 'UNKNOWN'
def get_version(cfg, silent = False):
coredir = get_coredir(cfg)
@@ -137,7 +147,7 @@ def build_run(cmdline, name, section, silent = False, nologs = False):
print(f'### exit code: {result.returncode}')
else:
secs = int(time.time() - start)
- print(f'### OK ({int(secs/60)}:{secs%60:02d})')
+ print(f'### OK ({int(secs)}sec)')
else:
print(cmdline, flush = True)
result = subprocess.run(cmdline, check = False)
@@ -191,7 +201,10 @@ def build_one(cfg, build, jobs = None, silent = False, nologs = False):
if jobs:
cmdline += [ '-n', jobs ]
for arch in b['arch'].split():
- cmdline += [ '-a', arch ]
+ if arch == 'HOST':
+ cmdline += [ '-a', get_hostarch() ]
+ else:
+ cmdline += [ '-a', arch ]
if 'opts' in b:
for name in b['opts'].split():
section = 'opts.' + name
@@ -235,7 +248,7 @@ def build_one(cfg, build, jobs = None, silent = False, nologs = False):
def build_basetools(silent = False, nologs = False):
build_message('building: BaseTools', silent = silent)
- basedir = os.environ['EDK_TOOLS_PATH']
+ basedir = os.environ['EDK_TOOLS_PATH'] + '/Source/C'
cmdline = [ 'make', '-C', basedir ]
build_run(cmdline, 'BaseTools', 'build.basetools', silent, nologs)