svn commit: r472188 - head/Mk/Uses

Antoine Brodin antoine at FreeBSD.org
Mon Jun 11 12:39:04 UTC 2018


Author: antoine
Date: Mon Jun 11 12:39:03 2018
New Revision: 472188
URL: https://svnweb.freebsd.org/changeset/ports/472188

Log:
  Add support for USES=compiler:c++17-lang
  
  PR:		222415
  Submitted by:	Naram Qashat
  With hat:	portmgr

Modified:
  head/Mk/Uses/compiler.mk

Modified: head/Mk/Uses/compiler.mk
==============================================================================
--- head/Mk/Uses/compiler.mk	Mon Jun 11 12:00:59 2018	(r472187)
+++ head/Mk/Uses/compiler.mk	Mon Jun 11 12:39:03 2018	(r472188)
@@ -9,6 +9,7 @@
 # c++0x:	The port needs a compiler understanding C++0X
 # c++11-lang:	The port needs a compiler understanding C++11
 # c++14-lang:	The port needs a compiler understanding C++14
+# c++17-lang:	The port needs a compiler understanding C++17
 # gcc-c++11-lib:The port needs g++ compiler with a C++11 library
 # c++11-lib:	The port needs a compiler understanding C++11 and with a C++11 ready standard library
 # c11:		The port needs a compiler understanding C11
@@ -35,7 +36,7 @@ _INCLUDE_USES_COMPILER_MK=	yes
 compiler_ARGS=	env
 .endif
 
-VALID_ARGS=	c++11-lib c++11-lang c++14-lang c11 features openmp env nestedfct c++0x gcc-c++11-lib
+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
 
 _CC_hash:=	${CC:hash}
 _CXX_hash:=	${CXX:hash}
@@ -50,6 +51,8 @@ _COMPILER_ARGS+=	features c++0x
 _COMPILER_ARGS+=	features c++11-lang
 .elif ${compiler_ARGS} == c++14-lang
 _COMPILER_ARGS+=	features c++14-lang
+.elif ${compiler_ARGS} == c++17-lang
+_COMPILER_ARGS+=	features c++17-lang
 .elif ${compiler_ARGS} == c11
 _COMPILER_ARGS+=	features c11
 .elif ${compiler_ARGS} == features
@@ -138,7 +141,7 @@ COMPILER_FEATURES=	libstdc++
 .endif
 
 CSTD=	c89 c99 c11 gnu89 gnu99 gnu11
-CXXSTD=	c++98 c++0x c++11 c++14 gnu++98 gnu++11
+CXXSTD=	c++98 c++0x c++11 c++14 c++17 gnu++98 gnu++11 gnu++14 gnu++17
 
 .for std in ${CSTD} ${CXXSTD}
 _LANG=c
@@ -165,6 +168,28 @@ CHOSEN_COMPILER_TYPE=	gcc
 .elif ${COMPILER_TYPE} == clang && ${COMPILER_FEATURES:Mlibstdc++}
 USE_GCC=	yes
 CHOSEN_COMPILER_TYPE=	gcc
+.endif
+.endif
+
+.if ${_COMPILER_ARGS:Mc++17-lang}
+.if !${COMPILER_FEATURES:Mc++17}
+.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2
+USE_GCC=	yes
+CHOSEN_COMPILER_TYPE=	gcc
+.elif (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 50) || ${COMPILER_TYPE} == gcc
+.if ${ALT_COMPILER_TYPE} == clang && ${ALT_COMPILER_VERSION} >= 50
+CPP=	clang-cpp
+CC=	clang
+CXX=	clang++
+CHOSEN_COMPILER_TYPE=	clang
+.else
+BUILD_DEPENDS+=	${LOCALBASE}/bin/clang60:devel/llvm60
+CPP=	${LOCALBASE}/bin/clang-cpp60
+CC=	${LOCALBASE}/bin/clang60
+CXX=	${LOCALBASE}/bin/clang++60
+CHOSEN_COMPILER_TYPE=	clang
+.endif
+.endif
 .endif
 .endif
 


More information about the svn-ports-all mailing list