------------------------------------------------------------
[PATCH] uefi-build: update TOOLCHAIN configuration
Using ARMGCC vs ARMLINUXGCC causes various problems.
Switching to GCC4x causes other problems, but seems cleaner than either
of the previous two options.
Signed-off-by: Ryan Harkin <
ryan.harkin@linaro.org>
---
uefi-build.sh | 31 ++++++++++++++++++++++++++++---
1 file changed, 28 insertions(+), 3 deletions(-)
diff --git a/uefi-build.sh b/uefi-build.sh
index f376496..5cf38ca 100755
--- a/uefi-build.sh
+++ b/uefi-build.sh
@@ -81,15 +81,41 @@ function build_platform
TARGETS=( RELEASE )
fi
+ if [ "$TOOLCHAIN" == "" ]; then
+ gcc_version=$(${CROSS_COMPILE}gcc -v 2>&1 | tail -1 | awk '{print $3}')
+ case $gcc_version in
+ 4.6.*)
+ export TOOLCHAIN=GCC46
+ export GCC46_ARM_PREFIX=$CROSS_COMPILE
+ export GCC46_AARCH64_PREFIX=$CROSS_COMPILE
+ ;;
+ 4.7.*)
+ export TOOLCHAIN=GCC47
+ export GCC47_ARM_PREFIX=$CROSS_COMPILE
+ export GCC47_AARCH64_PREFIX=$CROSS_COMPILE
+ ;;
+ 4.[8-9].*)
+ export TOOLCHAIN=GCC48
+ export GCC48_ARM_PREFIX=$CROSS_COMPILE
+ export GCC48_AARCH64_PREFIX=$CROSS_COMPILE
+ ;;
+ *)
+ echo "Unsupported toolchain"
+ exit 1
+ ;;
+ esac
+ fi
+ echo "TOOLCHAIN=$TOOLCHAIN"
+
for target in "${TARGETS[@]}" ; do
if [ X"$PLATFORM_PREBUILD_CMDS" != X"" ]; then
echo "Run pre build commands"
eval ${PLATFORM_PREBUILD_CMDS}
fi
if [ X"$PLATFORM_BUILDCMD" == X"" ]; then
- echo CROSS_COMPILE="$TEMP_CROSS_COMPILE" build -a "$PLATFORM_ARCH" -t ARMGCC -p "$PLATFORM_DSC" -b "$target" \
+ echo CROSS_COMPILE="$TEMP_CROSS_COMPILE" build -a "$PLATFORM_ARCH" -t ${TOOLCHAIN} -p "$PLATFORM_DSC" -b "$target" \
${PLATFORM_BUILDFLAGS}
- CROSS_COMPILE="$TEMP_CROSS_COMPILE" build -a "$PLATFORM_ARCH" -t ARMGCC -p "$PLATFORM_DSC" -b "$target" \
+ CROSS_COMPILE="$TEMP_CROSS_COMPILE" build -a "$PLATFORM_ARCH" -t ${TOOLCHAIN} -p "$PLATFORM_DSC" -b "$target" \
${PLATFORM_BUILDFLAGS}
else
${PLATFORM_BUILDCMD} -b "$target" ${PLATFORM_BUILDFLAGS}
@@ -115,7 +141,6 @@ function uefishell
esac
export ARCH
echo "Setting up shell for building UEFI"
- export TOOLCHAIN=ARMGCC
export EDK_TOOLS_PATH=`pwd`/BaseTools
. edksetup.sh BaseTools
make -C $EDK_TOOLS_PATH
--
1.8.3.2