On 6/14/19 5:16 AM, Philippe Mathieu-Daudé wrote: > Cc'ing Eric :) >
>> When running this script out of 'make', we get: >> >> $ cd roms >> $ ./edk2-build.sh aarch64 --arch=AARCH64 >> --platform=ArmVirtPkg/ArmVirtQemu.dsc > /dev/null >> ./edk2-build.sh: line 46: MAKEFLAGS: unbound variable >> >> Fix this by checking the variable is defined before using it, >> else use a default value. >> >> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> >> --- >> roms/edk2-build.sh | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/roms/edk2-build.sh b/roms/edk2-build.sh >> index 4f46f8a6a2..5390228b4e 100755 >> --- a/roms/edk2-build.sh >> +++ b/roms/edk2-build.sh This is running under /bin/bash (hmm - not '/bin/env bash' like other scripts in qemu?), so... >> @@ -43,7 +43,13 @@ fi >> # any), for the edk2 "build" utility. >> source ../edk2-funcs.sh >> edk2_toolchain=$(qemu_edk2_get_toolchain "$emulation_target") >> -edk2_thread_count=$(qemu_edk2_get_thread_count "$MAKEFLAGS") >> +if [ -v MAKEFLAGS ]; then the non-portable bashism '[ -v' works. However, it's just as easy to work around this problem portably for all POSIX shells without needing 'if': >> + edk2_thread_count=$(qemu_edk2_get_thread_count "$MAKEFLAGS") >> +else >> + # We are not running within 'make', let the edk2 "build" utility to fetch >> + # the logical CPU count with Python's multiprocessing.cpu_count() method. >> + edk2_thread_count=0 >> +fi edk2_thread_count=$(qemu_edk2_get_thread_count "${MAKEFLAGS:-0}") at which point the really long comment needs a bit of a tweak. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature