summaryrefslogtreecommitdiffstats
path: root/EmulatorPkg/build.sh
diff options
context:
space:
mode:
authorAnderw Fish <afish@apple.com>2014-08-29 18:58:36 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2014-08-29 18:58:36 +0000
commit8649abce5f2db8e59af64b5d9a9ff288caf7369a (patch)
tree569c17602abb55d8c8ccb66c829d7432207e17e1 /EmulatorPkg/build.sh
parent4880fc9ff7a60f939a0a36b6e081b57dda533d00 (diff)
downloadedk2-8649abce5f2db8e59af64b5d9a9ff288caf7369a.tar.gz
edk2-8649abce5f2db8e59af64b5d9a9ff288caf7369a.tar.bz2
edk2-8649abce5f2db8e59af64b5d9a9ff288caf7369a.zip
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
Diffstat (limited to 'EmulatorPkg/build.sh')
-rwxr-xr-xEmulatorPkg/build.sh27
1 files changed, 23 insertions, 4 deletions
diff --git a/EmulatorPkg/build.sh b/EmulatorPkg/build.sh
index fc8ae493cd..5b3992cedf 100755
--- a/EmulatorPkg/build.sh
+++ b/EmulatorPkg/build.sh
@@ -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