Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> --- OvmfPkg/build.sh | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-)
diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh index c3cc72e..9207eae 100755 --- a/OvmfPkg/build.sh +++ b/OvmfPkg/build.sh @@ -41,7 +41,8 @@ fi # Configure defaults for various options # -PROCESSOR=X64 +ARCH_IA32=no +ARCH_X64=no BUILDTARGET=DEBUG BUILD_OPTIONS= PLATFORMFILE= @@ -123,7 +124,12 @@ do else case $LAST_ARG in -a) - PROCESSOR=$arg + if [[ "$arg" != "IA32" && "$arg" != "X64" ]]; then + echo Unsupported processor architecture: $PROCESSOR + echo Only IA32 or X64 is supported + exit 1 + fi + eval ARCH_$arg=yes ;; -b) BUILDTARGET=$arg @@ -146,9 +152,25 @@ do shift done +if [[ "$ARCH_IA32" == "yes" && "$ARCH_X64" == "yes" ]]; then + PROCESSOR=IA32X64 + Processor=Ia32X64 + BUILD_OPTIONS="$BUILD_OPTIONS -a IA32 -a X64" + PLATFORM_BUILD_DIR=Ovmf3264 +elif [[ "$ARCH_IA32" == "yes" && "$ARCH_X64" == "no" ]]; then + PROCESSOR=IA32 + Processor=Ia32 + BUILD_OPTIONS="$BUILD_OPTIONS -a IA32" + PLATFORM_BUILD_DIR=Ovmf$Processor +else + PROCESSOR=X64 + Processor=X64 + BUILD_OPTIONS="$BUILD_OPTIONS -a X64" + PLATFORM_BUILD_DIR=Ovmf$Processor +fi + case $PROCESSOR in IA32) - Processor=Ia32 if [ -n "$QEMU_COMMAND" ]; then # # The user set the QEMU_COMMAND variable. We'll use it to run QEMU. @@ -164,15 +186,16 @@ case $PROCESSOR in echo Unable to find QEMU for IA32 architecture! exit 1 fi + BUILD_ROOT_ARCH=$PROCESSOR ;; - X64) - Processor=X64 + X64|IA32X64) if [ -z "$QEMU_COMMAND" ]; then # # The user didn't set the QEMU_COMMAND variable. # QEMU_COMMAND=qemu-system-x86_64 fi + BUILD_ROOT_ARCH=X64 ;; *) echo Unsupported processor architecture: $PROCESSOR @@ -216,9 +239,9 @@ fi #echo Remaining for qemu: $* #exit 1 -BUILD_ROOT=$WORKSPACE/Build/Ovmf$Processor/"$BUILDTARGET"_"$TARGET_TOOLS" +BUILD_ROOT=$WORKSPACE/Build/$PLATFORM_BUILD_DIR/"$BUILDTARGET"_"$TARGET_TOOLS" FV_DIR=$BUILD_ROOT/FV -BUILD_ROOT_ARCH=$BUILD_ROOT/$PROCESSOR +BUILD_ROOT_ARCH=$BUILD_ROOT/$BUILD_ROOT_ARCH QEMU_FIRMWARE_DIR=$BUILD_ROOT/QEMU if [[ ! -f `which build` || ! -f `which GenFv` ]]; @@ -259,6 +282,6 @@ fi # Build the edk2 OvmfPkg # echo Running edk2 build for OvmfPkg$Processor -build -p $PLATFORMFILE $BUILD_OPTIONS -a $PROCESSOR -b $BUILDTARGET -t $TARGET_TOOLS -n $THREADNUMBER +build -p $PLATFORMFILE $BUILD_OPTIONS -b $BUILDTARGET -t $TARGET_TOOLS -n $THREADNUMBER exit $? -- 2.0.1 ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel