qemu-devel
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]