]> git.proxmox.com Git - mirror_qemu.git/blame - roms/edk2-build.sh
migration/compress: compress QEMUFile is not writable
[mirror_qemu.git] / roms / edk2-build.sh
CommitLineData
536d2173
LE
1#!/bin/bash
2
3# Wrapper shell script for building a virtual platform firmware in edk2.
4#
5# Copyright (C) 2019 Red Hat, Inc.
6#
7# This program and the accompanying materials are licensed and made available
8# under the terms and conditions of the BSD License that accompanies this
9# distribution. The full text of the license may be found at
10# <http://opensource.org/licenses/bsd-license.php>.
11#
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
13# WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14
15set -e -u -C
16
17# Save the command line arguments. We need to reset $# to 0 before sourcing
18# "edksetup.sh", as it will inherit $@.
19emulation_target=$1
20shift
21num_args=0
22args=()
23for arg in "$@"; do
24 args[num_args++]="$arg"
25done
26shift $num_args
27
28cd edk2
29
037973bb 30export PYTHON_COMMAND=${EDK2_PYTHON_COMMAND:-python3}
536d2173
LE
31
32# Source "edksetup.sh" carefully.
33set +e +u +C
34source ./edksetup.sh
35ret=$?
36set -e -u -C
37if [ $ret -ne 0 ]; then
38 exit $ret
39fi
40
41# Fetch some option arguments, and set the cross-compilation environment (if
42# any), for the edk2 "build" utility.
43source ../edk2-funcs.sh
44edk2_toolchain=$(qemu_edk2_get_toolchain "$emulation_target")
037973bb 45MAKEFLAGS=$(qemu_edk2_quirk_tianocore_1607 "$MAKEFLAGS")
536d2173
LE
46edk2_thread_count=$(qemu_edk2_get_thread_count "$MAKEFLAGS")
47qemu_edk2_set_cross_env "$emulation_target"
48
49# Build the platform firmware.
50build \
51 --cmd-len=65536 \
52 -n "$edk2_thread_count" \
53 --buildtarget=DEBUG \
54 --tagname="$edk2_toolchain" \
55 "${args[@]}"