diff options
author | brooks <brooks@FreeBSD.org> | 2012-09-13 16:00:46 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2012-09-13 16:00:46 +0000 |
commit | f17cb55447d48bc158b5154afa555cbb98793552 (patch) | |
tree | 026ab7b76d6035ab651e3761d73e9f9f465ed976 /sys/conf/kern.mk | |
parent | 1e4174de1a4f6a3cd6d80a545ec7187ecc402d68 (diff) | |
download | FreeBSD-src-f17cb55447d48bc158b5154afa555cbb98793552.zip FreeBSD-src-f17cb55447d48bc158b5154afa555cbb98793552.tar.gz |
Introduce a new make variable COMPILER_TYPE that specifies what
type of compiler is being used (currently clang or gcc). COMPILER_TYPE
is set in the new bsd.compiler.mk file based on the value of the CC
variable or, should it prove informative, by running ${CC} --version
and examining the output.
To avoid negative performance impacts in the default case and correct
value for COMPILER_TYPE type is determined and passed in the environment
of submake instances while building world.
Replace adhoc attempts at determining the compiler type by examining
CC or MK_CLANG_IS_CC with checks of COMPILER_TYPE. This eliminates
bootstrapping complications when first setting WITH_CLANG_IS_CC.
Sponsored by: DARPA, AFRL
Reviewed by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>, imp, linimon
(with some modifications post review)
MFC after: 2 weeks
Diffstat (limited to 'sys/conf/kern.mk')
-rw-r--r-- | sys/conf/kern.mk | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 5e031b3..e42b753 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -15,7 +15,7 @@ CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ # Disable a few warnings for clang, since there are several places in the # kernel where fixing them is more trouble than it is worth, or where there is # a false positive. -.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang" +.if ${COMPILER_TYPE} == "clang" NO_WCONSTANT_CONVERSION= -Wno-constant-conversion NO_WARRAY_BOUNDS= -Wno-array-bounds NO_WSHIFT_COUNT_NEGATIVE= -Wno-shift-count-negative @@ -52,7 +52,7 @@ CWARNEXTRA?= -Wno-error-tautological-compare -Wno-error-empty-body \ # Setting -mno-sse implies -mno-sse2, -mno-sse3, -mno-ssse3, -mno-sse41 and -mno-sse42 # .if ${MACHINE_CPUARCH} == "i386" -.if ${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang" +.if ${COMPILER_TYPE} != "clang" CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2 .else CFLAGS+= -mno-aes -mno-avx @@ -100,7 +100,7 @@ INLINE_LIMIT?= 15000 # (-mfpmath= is not supported) # .if ${MACHINE_CPUARCH} == "amd64" -.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang" +.if ${COMPILER_TYPE} == "clang" CFLAGS+= -mno-aes -mno-avx .endif CFLAGS+= -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float \ |