EmulatorPkg: Unix: Use XCODE5 and lldb if Xcode 5 is detected

The EmulatorPkg build.sh will use XCODE5 if that is the default toolchain, and
default to using lldb if Xcode 5 is dectect. This will work for Xcode 6 and 
possibly future version of Xcode too.

/usr/bin/clang is just a wrapper that calls the currently selected Xcode 
version. xcode-select is used used to display or set the current version of
Xcode used by the command line tools. 

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anderw Fish <afish@apple.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15983 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Anderw Fish 2014-08-29 18:58:36 +00:00 committed by andrewfish
parent 4880fc9ff7
commit 8649abce5f
1 changed files with 23 additions and 4 deletions

View File

@ -63,8 +63,17 @@ case `uname` in
echo UnixPkg requires Snow Leopard or later OS
exit 1
else
HOST_TOOLS=XCODE32
TARGET_TOOLS=XCLANG
CLANG_VER=$(clang -ccc-host-triple x86_64-pc-win32-macho 2>&1 >/dev/null) || true
if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
then
# only older versions of Xcode support -ccc-host-tripe, for newer versions
# it is -target
HOST_TOOLS=XCODE32
TARGET_TOOLS=XCODE5
else
HOST_TOOLS=XCODE32
TARGET_TOOLS=XCLANG
fi
fi
BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
BUILD_FAT="-D BUILD_FAT"
@ -190,7 +199,8 @@ do
done
PLATFORMFILE=$WORKSPACE/EmulatorPkg/EmulatorPkg.dsc
BUILD_ROOT_ARCH=$BUILD_OUTPUT_DIR/DEBUG_"$TARGET_TOOLS"/$PROCESSOR
BUILD_DIR=$BUILD_OUTPUT_DIR/DEBUG_"$TARGET_TOOLS"
BUILD_ROOT_ARCH=$BUILD_DIR/$PROCESSOR
if [[ ! -f `which build` || ! -f `which GenFv` ]];
then
@ -215,7 +225,16 @@ if [[ "$RUN_EMULATOR" == "yes" ]]; then
# This .gdbinit script sets a breakpoint that loads symbols for the PE/COFFEE
# images that get loaded in Host
#
cp $WORKSPACE/EmulatorPkg/Unix/.gdbinit $BUILD_OUTPUT_DIR/DEBUG_"$TARGET_TOOLS"/$PROCESSOR
if [[ "$CLANG_VER" == *-ccc-host-triple* ]]
then
# only older versions of Xcode support -ccc-host-tripe, for newer versions
# it is -target
cp $WORKSPACE/EmulatorPkg/Unix/lldbefi.py $BUILD_OUTPUT_DIR/DEBUG_"$TARGET_TOOLS"/$PROCESSOR
cd $BUILD_ROOT_ARCH; /usr/bin/lldb --source $WORKSPACE/EmulatorPkg/Unix/lldbinit Host
exit $?
else
cp $WORKSPACE/EmulatorPkg/Unix/.gdbinit $BUILD_OUTPUT_DIR/DEBUG_"$TARGET_TOOLS"/$PROCESSOR
fi
;;
esac