Allow CC to not actually exist. During the ports INDEX run, all the

Makefiles are evaluated without building things. In a normal build,
the prerequisites would be built, and CC would be an actual thing. In
an INDEX build, though, they don't exists. Redirect stderr to get rid
of annoying messages, and assume that the compiler version is 0 if the
actual compiler can't tell us. Do this in preference to guessing based
on numbers because gcc410 might be 4.10, or 4.1.0 and without
carefully crafted special knowledge we differentiate between them
easily (also ming-gcc has no clues at all). Elsewhere, don't trust
the compiler version if it is 0.
This commit is contained in:
Warner Losh 2014-05-23 14:34:22 +00:00
parent aedb7289da
commit 79f387daa8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=266587

View File

@ -21,11 +21,11 @@
.if !target(__<bsd.compiler.mk>__)
__<bsd.compiler.mk>__:
_v!= ${CC} --version
_v!= ${CC} --version 2>/dev/null || echo 0.0.0
.if !defined(COMPILER_TYPE)
. if ${CC:T:Mgcc*}
. if ${CC:T:M*gcc*}
COMPILER_TYPE:= gcc
. elif ${CC:T:Mclang}
. elif ${CC:T:M*clang*}
COMPILER_TYPE:= clang
. elif ${_v:Mgcc}
COMPILER_TYPE:= gcc