From owner-svn-ports-head@freebsd.org Tue Jul 14 20:32:16 2015 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E268D9A11EC; Tue, 14 Jul 2015 20:32:15 +0000 (UTC) (envelope-from brd@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C5A931CDF; Tue, 14 Jul 2015 20:32:15 +0000 (UTC) (envelope-from brd@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.70]) by repo.freebsd.org (8.14.9/8.14.9) with ESMTP id t6EKWFWl032223; Tue, 14 Jul 2015 20:32:15 GMT (envelope-from brd@FreeBSD.org) Received: (from brd@localhost) by repo.freebsd.org (8.14.9/8.14.9/Submit) id t6EKWFQ5032222; Tue, 14 Jul 2015 20:32:15 GMT (envelope-from brd@FreeBSD.org) Message-Id: <201507142032.t6EKWFQ5032222@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brd set sender to brd@FreeBSD.org using -f From: Brad Davis Date: Tue, 14 Jul 2015 20:32:15 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r392084 - head/Mk/Uses X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jul 2015 20:32:16 -0000 Author: brd Date: Tue Jul 14 20:32:14 2015 New Revision: 392084 URL: https://svnweb.freebsd.org/changeset/ports/392084 Log: Add support for USES= compiler:c++14 PR: 201076 Approved by: bapt, bdrewery (mentor) Modified: head/Mk/Uses/compiler.mk Modified: head/Mk/Uses/compiler.mk ============================================================================== --- head/Mk/Uses/compiler.mk Tue Jul 14 20:31:45 2015 (r392083) +++ head/Mk/Uses/compiler.mk Tue Jul 14 20:32:14 2015 (r392084) @@ -8,6 +8,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 # 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 @@ -34,7 +35,7 @@ _INCLUDE_USES_COMPILER_MK= yes compiler_ARGS= env .endif -VALID_ARGS= c++11-lib c++11-lang c11 features openmp env nestedfct c++0x gcc-c++11-lib +VALID_ARGS= c++11-lib c++11-lang c++14-lang c11 features openmp env nestedfct c++0x gcc-c++11-lib .if ${compiler_ARGS} == gcc-c++11-lib _COMPILER_ARGS+= features gcc-c++11-lib @@ -44,6 +45,8 @@ _COMPILER_ARGS+= features c++11-lib _COMPILER_ARGS+= features c++0x .elif ${compiler_ARGS} == c++11-lang _COMPILER_ARGS+= features c++11-lang +.elif ${compiler_ARGS} == c++14-lang +_COMPILER_ARGS+= features c++14-lang .elif ${compiler_ARGS} == c11 _COMPILER_ARGS+= features c11 .elif ${compiler_ARGS} == features @@ -114,7 +117,7 @@ COMPILER_FEATURES= libstdc++ .endif CSTD= c89 c99 c11 gnu89 gnu99 gnu11 -CXXSTD= c++98 c++11 gnu++98 gnu++11 c++0x +CXXSTD= c++98 c++0x c++11 c++14 gnu++98 gnu++11 .for std in ${CSTD} ${CXXSTD} _LANG=c @@ -138,6 +141,32 @@ CHOSEN_COMPILER_TYPE= gcc .endif .endif +.if ${_COMPILER_ARGS:Mc++14-lang} +.if !${COMPILER_FEATURES:Mc++14} +.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2 +USE_GCC= 5+ +CHOSEN_COMPILER_TYPE= gcc +.elif (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 35) || ${COMPILER_TYPE} == gcc +.if ${ALT_COMPILER_TYPE} == clang && ${ALT_COMPILER_VERSION} >= 35 +CPP= clang-cpp +CC= clang +CXX= clang++ +CHOSEN_COMPILER_TYPE= clang +.else +BUILD_DEPENDS+= ${LOCALBASE}/bin/clang35:${PORTSDIR}/lang/clang35 +CPP= ${LOCALBASE}/bin/clang-cpp35 +CC= ${LOCALBASE}/bin/clang35 +CXX= ${LOCALBASE}/bin/clang++35 +CHOSEN_COMPILER_TYPE= clang +.if ${OSVERSION} < 900033 +USE_BINUTILS= yes +LDFLAGS+= -B${LOCALBASE}/bin +.endif +.endif +.endif +.endif +.endif + .if ${_COMPILER_ARGS:Mc++11-lang} .if !${COMPILER_FEATURES:Mc++11} .if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2