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>
Gerd Hoffmann committed
Aug 24, 2026 at 18:47 UTC
9b81f5580a939413b6e3d55b5e39d44e5a68347f
1 file changed
+17
-4
roms/edk2-build.py
+17
-4
@@ -51,7 +51,17 @@ def get_toolchain(cfg, build):
51
return cfg[build]['tool']
52
if cfg.has_option('global', 'tool'):
53
return cfg['global']['tool']
54
- return 'GCC5'
54
+ return 'GCC'
55
+
56
+def get_hostarch():
57
+ mach = os.uname().machine
58
+ if mach == 'x86_64':
59
+ return 'X64'
60
+ if mach == 'aarch64':
61
+ return 'AARCH64'
62
+ if mach == 'riscv64':
63
+ return 'RISCV64'
64
+ return 'UNKNOWN'
65
66
def get_version(cfg, silent = False):
67
coredir = get_coredir(cfg)
@@ -137,7 +147,7 @@ def build_run(cmdline, name, section, silent = False, nologs = False):
147
print(f'### exit code: {result.returncode}')
148
else:
149
secs = int(time.time() - start)
140
- print(f'### OK ({int(secs/60)}:{secs%60:02d})')
150
+ print(f'### OK ({int(secs)}sec)')
151
else:
152
print(cmdline, flush = True)
153
result = subprocess.run(cmdline, check = False)
@@ -191,7 +201,10 @@ def build_one(cfg, build, jobs = None, silent = False, nologs = False):
201
if jobs:
202
cmdline += [ '-n', jobs ]
203
for arch in b['arch'].split():
194
- cmdline += [ '-a', arch ]
204
+ if arch == 'HOST':
205
+ cmdline += [ '-a', get_hostarch() ]
206
+ else:
207
+ cmdline += [ '-a', arch ]
208
if 'opts' in b:
209
for name in b['opts'].split():
210
section = 'opts.' + name
@@ -235,7 +248,7 @@ def build_one(cfg, build, jobs = None, silent = False, nologs = False):
248
249
def build_basetools(silent = False, nologs = False):
250
build_message('building: BaseTools', silent = silent)
238
- basedir = os.environ['EDK_TOOLS_PATH']
251
+ basedir = os.environ['EDK_TOOLS_PATH'] + '/Source/C'
252
cmdline = [ 'make', '-C', basedir ]
253
build_run(cmdline, 'BaseTools', 'build.basetools', silent, nologs)
254