Lines 9-14
Link Here
|
9 |
# c++0x: The port needs a compiler understanding C++0X |
9 |
# c++0x: The port needs a compiler understanding C++0X |
10 |
# c++11-lang: The port needs a compiler understanding C++11 |
10 |
# c++11-lang: The port needs a compiler understanding C++11 |
11 |
# c++14-lang: The port needs a compiler understanding C++14 |
11 |
# c++14-lang: The port needs a compiler understanding C++14 |
|
|
12 |
# c++17-lang: The port needs a compiler understanding C++17 |
12 |
# gcc-c++11-lib:The port needs g++ compiler with a C++11 library |
13 |
# gcc-c++11-lib:The port needs g++ compiler with a C++11 library |
13 |
# c++11-lib: The port needs a compiler understanding C++11 and with a C++11 ready standard library |
14 |
# c++11-lib: The port needs a compiler understanding C++11 and with a C++11 ready standard library |
14 |
# c11: The port needs a compiler understanding C11 |
15 |
# c11: The port needs a compiler understanding C11 |
Lines 35-41
Link Here
|
35 |
compiler_ARGS= env |
36 |
compiler_ARGS= env |
36 |
.endif |
37 |
.endif |
37 |
|
38 |
|
38 |
VALID_ARGS= c++11-lib c++11-lang c++14-lang c11 features openmp env nestedfct c++0x gcc-c++11-lib |
39 |
VALID_ARGS= c++11-lib c++11-lang c++14-lang c++17-lang c11 features openmp env nestedfct c++0x gcc-c++11-lib |
39 |
|
40 |
|
40 |
_CC_hash:= ${CC:hash} |
41 |
_CC_hash:= ${CC:hash} |
41 |
_CXX_hash:= ${CXX:hash} |
42 |
_CXX_hash:= ${CXX:hash} |
Lines 50-55
Link Here
|
50 |
_COMPILER_ARGS+= features c++11-lang |
51 |
_COMPILER_ARGS+= features c++11-lang |
51 |
.elif ${compiler_ARGS} == c++14-lang |
52 |
.elif ${compiler_ARGS} == c++14-lang |
52 |
_COMPILER_ARGS+= features c++14-lang |
53 |
_COMPILER_ARGS+= features c++14-lang |
|
|
54 |
.elif ${compiler_ARGS} == c++17-lang |
55 |
_COMPILER_ARGS+= features c++17-lang |
53 |
.elif ${compiler_ARGS} == c11 |
56 |
.elif ${compiler_ARGS} == c11 |
54 |
_COMPILER_ARGS+= features c11 |
57 |
_COMPILER_ARGS+= features c11 |
55 |
.elif ${compiler_ARGS} == features |
58 |
.elif ${compiler_ARGS} == features |
Lines 138-144
Link Here
|
138 |
.endif |
141 |
.endif |
139 |
|
142 |
|
140 |
CSTD= c89 c99 c11 gnu89 gnu99 gnu11 |
143 |
CSTD= c89 c99 c11 gnu89 gnu99 gnu11 |
141 |
CXXSTD= c++98 c++0x c++11 c++14 gnu++98 gnu++11 |
144 |
CXXSTD= c++98 c++0x c++11 c++14 c++17 gnu++98 gnu++11 gnu++14 gnu++17 |
142 |
|
145 |
|
143 |
.for std in ${CSTD} ${CXXSTD} |
146 |
.for std in ${CSTD} ${CXXSTD} |
144 |
_LANG=c |
147 |
_LANG=c |
Lines 168-173
Link Here
|
168 |
.endif |
171 |
.endif |
169 |
.endif |
172 |
.endif |
170 |
|
173 |
|
|
|
174 |
.if ${_COMPILER_ARGS:Mc++17-lang} |
175 |
.if !${COMPILER_FEATURES:Mc++17} |
176 |
.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2 |
177 |
USE_GCC= yes |
178 |
CHOSEN_COMPILER_TYPE= gcc |
179 |
.elif (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 50) || ${COMPILER_TYPE} == gcc |
180 |
.if ${ALT_COMPILER_TYPE} == clang && ${ALT_COMPILER_VERSION} >= 50 |
181 |
CPP= clang-cpp |
182 |
CC= clang |
183 |
CXX= clang++ |
184 |
CHOSEN_COMPILER_TYPE= clang |
185 |
.else |
186 |
BUILD_DEPENDS+= ${LOCALBASE}/bin/clang60:devel/llvm60 |
187 |
CPP= ${LOCALBASE}/bin/clang-cpp60 |
188 |
CC= ${LOCALBASE}/bin/clang60 |
189 |
CXX= ${LOCALBASE}/bin/clang++60 |
190 |
CHOSEN_COMPILER_TYPE= clang |
191 |
.endif |
192 |
.endif |
193 |
.endif |
194 |
.endif |
195 |
|
171 |
.if ${_COMPILER_ARGS:Mc++14-lang} |
196 |
.if ${_COMPILER_ARGS:Mc++14-lang} |
172 |
.if !${COMPILER_FEATURES:Mc++14} |
197 |
.if !${COMPILER_FEATURES:Mc++14} |
173 |
.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2 |
198 |
.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2 |