diff options
author | Anderw Fish <afish@apple.com> | 2014-08-29 18:58:36 +0000 |
---|---|---|
committer | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2014-08-29 18:58:36 +0000 |
commit | 8649abce5f2db8e59af64b5d9a9ff288caf7369a (patch) | |
tree | 569c17602abb55d8c8ccb66c829d7432207e17e1 /EmulatorPkg | |
parent | 4880fc9ff7a60f939a0a36b6e081b57dda533d00 (diff) | |
download | edk2-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')
-rwxr-xr-x | EmulatorPkg/build.sh | 27 |
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 |