[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: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH] roms/edk2-build.sh: Allow to run edk2-build.sh from command line |
Date: |
Fri, 14 Jun 2019 12:16:16 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
Cc'ing Eric :)
On 6/13/19 7:54 PM, Philippe Mathieu-Daudé wrote:
> The edk2-build.sh script set the 'nounset' option:
>
> BASH(1)
>
> set [arg ...]
>
> -u Treat unset variables and parameters other than the
> special parameters "@" and "*" as an error when
> performing parameter expansion. If expansion is
> attempted on an unset variable or parameter, the shell
> prints an error message, and, if not interactive,
> exits with a non-zero status.
>
> 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
> @@ -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
> + 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
> qemu_edk2_set_cross_env "$emulation_target"
>
> # Build the platform firmware.
>