diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2015-02-04 00:19:03 +0100 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2015-02-04 00:19:03 +0100 |
commit | 58ef03fa8aa9397b7ec9611abba0e1b3832fcea7 (patch) | |
tree | 8cec122fcf3320d1203799a8417e278e716076e5 | |
parent | 6b378970a644e13906df6f3568f6a036bcdad812 (diff) | |
parent | 5a3a70d40f3bb5f3dc0933f4525622931456b5c8 (diff) | |
download | coreclr-58ef03fa8aa9397b7ec9611abba0e1b3832fcea7.tar.gz coreclr-58ef03fa8aa9397b7ec9611abba0e1b3832fcea7.tar.bz2 coreclr-58ef03fa8aa9397b7ec9611abba0e1b3832fcea7.zip |
Merge pull request #35 from SirCmpwn/fix-linux-build
Fix error locating llvm-ar during build on Linux
-rwxr-xr-x | src/pal/tools/gen-buildsys-clang.sh | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/pal/tools/gen-buildsys-clang.sh b/src/pal/tools/gen-buildsys-clang.sh index 15327d0574..92a92cd6d6 100755 --- a/src/pal/tools/gen-buildsys-clang.sh +++ b/src/pal/tools/gen-buildsys-clang.sh @@ -24,6 +24,39 @@ else buildtype=$2 fi +# Locate llvm +# This can be a little complicated, because the common use-case of Ubuntu with +# llvm-3.5 installed uses a rather unusual llvm installation with the version +# number postfixed (i.e. llvm-ar-3.5), so we check for that first. +desired_llvm_version=3.5 +locate_llvm_exec() { + if which $1-$desired_llvm_version > /dev/null 2>&1 + then + echo $(which $1-$desired_llvm_version) + elif which $1 > /dev/null 2>&1 + then + echo $(which $1) + else + exit 1 + fi +} +llvm_ar=$(locate_llvm_exec llvm-ar) +[[ $? -eq 0 ]] || { echo "Unable to locate llvm-ar"; exit 1; } +llvm_link=$(locate_llvm_exec llvm-link) +[[ $? -eq 0 ]] || { echo "Unable to locate llvm-link"; exit 1; } +llvm_nm=$(locate_llvm_exec llvm-nm) +[[ $? -eq 0 ]] || { echo "Unable to locate llvm-nm"; exit 1; } +llvm_objdump=$(locate_llvm_exec llvm-objdump) +[[ $? -eq 0 ]] || { echo "Unable to locate llvm-objdump"; exit 1; } +llvm_ranlib=$(locate_llvm_exec llvm-ranlib) +[[ $? -eq 0 ]] || { echo "Unable to locate llvm-ranlib"; exit 1; } -cmake -DCMAKE_USER_MAKE_RULES_OVERRIDE=$1/src/pal/tools/clang-compiler-override.txt -D_CMAKE_TOOLCHAIN_PREFIX=llvm- -D_CMAKE_TOOLCHAIN_SUFFIX=-3.5 -DCMAKE_BUILD_TYPE=$buildtype $1 +cmake -DCMAKE_USER_MAKE_RULES_OVERRIDE=$1/src/pal/tools/clang-compiler-override.txt \ + -DCMAKE_AR=$llvm_ar \ + -DCMAKE_LINKER=$llvm_link \ + -DCMAKE_NM=$llvm_nm \ + -DCMAKE_OBJDUMP=$llvm_objdump \ + -DCMAKE_RANLIB=$llvm_ranlib \ + -DCMAKE_BUILD_TYPE=$buildtype \ + $1 |