1*a9643ea8Slogwang# 2*a9643ea8Slogwang# Derived from FreeBSD src/share/mk/bsd.compiler.mk 3*a9643ea8Slogwang# 4*a9643ea8Slogwang 5*a9643ea8Slogwangifndef COMPILER_TYPE 6*a9643ea8Slogwang ifeq ($(patsubst gcc%,gcc,$(notdir ${CC})),gcc) 7*a9643ea8SlogwangCOMPILER_TYPE:= gcc 8*a9643ea8Slogwang else ifeq ($(notdir ${CC}), clang) 9*a9643ea8SlogwangCOMPILER_TYPE:= clang 10*a9643ea8Slogwang else 11*a9643ea8Slogwang_COMPILER_VERSION:= $(shell ${CC} --version) 12*a9643ea8Slogwang ifneq ($(filter gcc (GCC),${_COMPILER_VERSION}),) 13*a9643ea8SlogwangCOMPILER_TYPE:= gcc 14*a9643ea8Slogwang else ifneq ($(filter Free Software Foundation,${_COMPILER_VERSION}),) 15*a9643ea8SlogwangCOMPILER_TYPE:= gcc 16*a9643ea8Slogwang else ifneq ($(findstring clang,${_COMPILER_VERSION}),) 17*a9643ea8SlogwangCOMPILER_TYPE:= clang 18*a9643ea8Slogwang else 19*a9643ea8Slogwang$(error Unable to determine compiler type for ${CC}. Consider setting COMPILER_TYPE.) 20*a9643ea8Slogwang endif 21*a9643ea8Slogwang# XXX 22*a9643ea8Slogwang#undefine _COMPILER_VERSION 23*a9643ea8Slogwang endif 24*a9643ea8Slogwangendif 25*a9643ea8Slogwang 26*a9643ea8Slogwangifeq (${COMPILER_TYPE}, clang) 27*a9643ea8SlogwangCOMPILER_FEATURES= c++11 28*a9643ea8Slogwangelse 29*a9643ea8SlogwangCOMPILER_FEATURES= 30*a9643ea8Slogwangendif 31*a9643ea8Slogwang 32*a9643ea8Slogwang 33