mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
configure: Enable clang for older OSX gcc versions
OSX often has a more recent version of clang than it does for GCC. When an older version of gcc is detected on OSX, the --enable-clang flag is implicitly enabled.
This commit is contained in:
parent
32a81d1e16
commit
682c401045
42
configure
vendored
42
configure
vendored
@ -579,26 +579,32 @@ then
|
|||||||
CFG_ENABLE_CLANG=1
|
CFG_ENABLE_CLANG=1
|
||||||
putvar CFG_ENABLE_CLANG
|
putvar CFG_ENABLE_CLANG
|
||||||
else
|
else
|
||||||
# on OS X, with xcode 5 and newer, certain developers may have
|
if [ $("$CFG_GCC" --version 2>&1 | grep -c ' 4\.[0-6]') -ne 0 ]; then
|
||||||
# cc, gcc and g++ point to a mixture of clang and gcc
|
step_msg "older GCC found, using clang instead"
|
||||||
# if so, this will create very strange build errors
|
CFG_ENABLE_CLANG=1
|
||||||
# this last stanza is to detect some such problems and save the future rust
|
putvar CFG_ENABLE_CLANG
|
||||||
# contributor some time solving that issue.
|
else
|
||||||
# this detection could be generalized to other OSes aside from OS X
|
# on OS X, with xcode 5 and newer, certain developers may have
|
||||||
# but the issue seems most likely to happen on OS X
|
# cc, gcc and g++ point to a mixture of clang and gcc
|
||||||
|
# if so, this will create very strange build errors
|
||||||
|
# this last stanza is to detect some such problems and save the future rust
|
||||||
|
# contributor some time solving that issue.
|
||||||
|
# this detection could be generalized to other OSes aside from OS X
|
||||||
|
# but the issue seems most likely to happen on OS X
|
||||||
|
|
||||||
|
chk_cc () {
|
||||||
|
$1 --version 2> /dev/null | grep -q $2
|
||||||
|
}
|
||||||
|
# check that gcc, cc and g++ all point to the same compiler.
|
||||||
|
# note that for xcode 5, g++ points to clang, not clang++
|
||||||
|
if !((chk_cc gcc clang && chk_cc g++ clang) ||
|
||||||
|
(chk_cc gcc gcc &&( chk_cc g++ g++ || chk g++ gcc))) then
|
||||||
|
err "the gcc and g++ in your path point to different compilers.
|
||||||
|
Check which versions are in your path with cc --version and g++ --version.
|
||||||
|
To resolve this problem, either fix your PATH or run configure with --enable-clang"
|
||||||
|
fi
|
||||||
|
|
||||||
chk_cc () {
|
|
||||||
$1 --version 2> /dev/null | grep -q $2
|
|
||||||
}
|
|
||||||
# check that gcc, cc and g++ all point to the same compiler.
|
|
||||||
# note that for xcode 5, g++ points to clang, not clang++
|
|
||||||
if !((chk_cc gcc clang && chk_cc g++ clang) ||
|
|
||||||
(chk_cc gcc gcc &&( chk_cc g++ g++ || chk g++ gcc))) then
|
|
||||||
err "the gcc and g++ in your path point to different compilers.
|
|
||||||
Check which versions are in your path with cc --version and g++ --version.
|
|
||||||
To resolve this problem, either fix your PATH or run configure with --enable-clang"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user