Your suggestions seem good. R-b with those changes? On Thu, Jul 24, 2014 at 4:58 AM, Laszlo Ersek <ler...@redhat.com> wrote: > comments below > > On 07/23/14 22:04, Jordan Justen wrote: >> 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 > > You probably want x"$arg" != x"IA32" for robustness (or even "IA32" != > "$arg"), but it's not very important. > >> + echo Unsupported processor architecture: $PROCESSOR > > Hm, PROCESSOR is unset here; I think you meant $arg. > > >> + 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 >> + > > OK, PLATFORM_BUILD_DIR matches OvmfPkgIa32X64.dsc / OUTPUT_DIRECTORY > this way (Build/Ovmf3264). > >> 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 > > Can you set BUILD_ROOT_ARCH next to setting PROCESSOR? I think that > would be clearer (but I don't insist). > >> @@ -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 > > BUILD_ROOT_ARCH appears to be passed only to qemu, with -hda. OK, I guess. > >> >> 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 $? >> >> > > Thanks > Laszlo > > ------------------------------------------------------------------------------ > 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
------------------------------------------------------------------------------ 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