Commit e33751fb by Mislav Marohnić

Improve detecting LLVM 3.5 from Homebrew

The main "llvm" Homebrew package is occasionally getting updated and is
not guaranteed to be version 3.5. Right now it's 3.6, but that depends
on the version of Homebrew that someone has installed.

This lists through all installed Homebrew packages named "llvm*" and
tests each `llvm-config --version` for "3.5*" until it finds one.
parent e932d471
...@@ -812,12 +812,13 @@ require_llvm() { ...@@ -812,12 +812,13 @@ require_llvm() {
local llvm_version="$1" local llvm_version="$1"
if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then
if [[ "$RUBY_CONFIGURE_OPTS" != *--llvm-* ]]; then if [[ "$RUBY_CONFIGURE_OPTS" != *--llvm-* ]]; then
if [ "$llvm_version" = "3.2" ]; then case "$llvm_version" in
3.2 )
package_option ruby configure --prebuilt-name="llvm-3.2-x86_64-apple-darwin13.tar.bz2" package_option ruby configure --prebuilt-name="llvm-3.2-x86_64-apple-darwin13.tar.bz2"
else ;;
local llvm_prefix="$(brew --prefix llvm 2>/dev/null || true)" 3.5 )
local llvm_config="${llvm_prefix}/bin/llvm-config" local llvm_config="$(locate_llvm "$llvm_version")"
if [ -x "$llvm_config" ]; then if [ -n "$llvm_config" ]; then
package_option ruby configure --llvm-config="$llvm_config" package_option ruby configure --llvm-config="$llvm_config"
else else
{ echo { echo
...@@ -833,11 +834,26 @@ require_llvm() { ...@@ -833,11 +834,26 @@ require_llvm() {
} >&3 } >&3
return 1 return 1
fi fi
fi ;;
esac
fi fi
fi fi
} }
locate_llvm() {
local llvm_version="$1"
local package llvm_config
shopt -s nullglob
for package in `brew list 2>/dev/null | grep "^llvm"`; do
llvm_config="$(echo "$(brew --prefix "$package")/bin/llvm-config"*)"
if [ -n "$llvm_config" ] && [[ "$("$llvm_config" --version)" = "$llvm_version"* ]]; then
echo "$llvm_config"
break
fi
done
shopt -u nullglob
}
needs_yaml() { needs_yaml() {
[[ "$RUBY_CONFIGURE_OPTS" != *--with-libyaml-dir=* ]] && [[ "$RUBY_CONFIGURE_OPTS" != *--with-libyaml-dir=* ]] &&
! use_homebrew_yaml ! use_homebrew_yaml
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment