[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] roms/edk2-build.sh: Allow to run edk2-build.sh
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH] roms/edk2-build.sh: Allow to run edk2-build.sh from command line |
Date: |
Fri, 14 Jun 2019 08:29:10 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
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é <address@hidden>
>> ---
>> 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