aboutsummaryrefslogtreecommitdiff
path: root/roms
diff options
context:
space:
mode:
Diffstat (limited to 'roms')
-rw-r--r--roms/Makefile1
-rwxr-xr-xroms/edk2-build.sh4
-rw-r--r--roms/edk2-funcs.sh17
3 files changed, 20 insertions, 2 deletions
diff --git a/roms/Makefile b/roms/Makefile
index 3ffd13cc7e..da4efa47a9 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -141,6 +141,7 @@ build-efi-roms: build-pxe-roms
#
edk2-basetools:
$(MAKE) -C edk2/BaseTools \
+ PYTHON_COMMAND=$${EDK2_PYTHON_COMMAND:-python3} \
EXTRA_OPTFLAGS='$(EDK2_BASETOOLS_OPTFLAGS)' \
EXTRA_LDFLAGS='$(EDK2_BASETOOLS_LDFLAGS)'
diff --git a/roms/edk2-build.sh b/roms/edk2-build.sh
index 4f46f8a6a2..d5391c7637 100755
--- a/roms/edk2-build.sh
+++ b/roms/edk2-build.sh
@@ -27,8 +27,7 @@ shift $num_args
cd edk2
-# Work around <https://bugzilla.tianocore.org/show_bug.cgi?id=1607>.
-export PYTHON_COMMAND=python2
+export PYTHON_COMMAND=${EDK2_PYTHON_COMMAND:-python3}
# Source "edksetup.sh" carefully.
set +e +u +C
@@ -43,6 +42,7 @@ fi
# any), for the edk2 "build" utility.
source ../edk2-funcs.sh
edk2_toolchain=$(qemu_edk2_get_toolchain "$emulation_target")
+MAKEFLAGS=$(qemu_edk2_quirk_tianocore_1607 "$MAKEFLAGS")
edk2_thread_count=$(qemu_edk2_get_thread_count "$MAKEFLAGS")
qemu_edk2_set_cross_env "$emulation_target"
diff --git a/roms/edk2-funcs.sh b/roms/edk2-funcs.sh
index a9fae7ee89..3f4485b201 100644
--- a/roms/edk2-funcs.sh
+++ b/roms/edk2-funcs.sh
@@ -251,3 +251,20 @@ qemu_edk2_get_thread_count()
printf '1\n'
fi
}
+
+
+# Work around <https://bugzilla.tianocore.org/show_bug.cgi?id=1607> by
+# filtering jobserver-related flags out of MAKEFLAGS. Print the result to the
+# standard output.
+#
+# Parameters:
+# $1: the value of the MAKEFLAGS variable
+qemu_edk2_quirk_tianocore_1607()
+{
+ local makeflags="$1"
+
+ printf %s "$makeflags" \
+ | LC_ALL=C sed --regexp-extended \
+ --expression='s/--jobserver-(auth|fds)=[0-9]+,[0-9]+//' \
+ --expression='s/-j([0-9]+)?//'
+}