Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Nov 2013 17:35:37 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r333142 - head/Mk/Uses
Message-ID:  <201311071735.rA7HZbgF085192@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Thu Nov  7 17:35:36 2013
New Revision: 333142
URL: http://svnweb.freebsd.org/changeset/ports/333142

Log:
  Allow base clang to be used if version is >= 3.3
  This gives 2 new variables to the porters:
  ALT_COMPILER_TYPE which can be empty, clang or cc depending on what ${CC} is
  ALT_COMPILER_VERSION which will give the porter a 2 digit version of the alternative compiler
  
  Requested by:	many

Modified:
  head/Mk/Uses/compiler.mk

Modified: head/Mk/Uses/compiler.mk
==============================================================================
--- head/Mk/Uses/compiler.mk	Thu Nov  7 16:59:23 2013	(r333141)
+++ head/Mk/Uses/compiler.mk	Thu Nov  7 17:35:36 2013	(r333142)
@@ -59,6 +59,22 @@ COMPILER_TYPE=	clang
 COMPILER_TYPE=	gcc
 .endif
 
+ALT_COMPILER_VERSION=	0
+ALT_COMPILER_TYPE=	none
+_ALTCCVERSION=	
+.if ${COMPILER_TYPE} == gcc && exists(/usr/bin/clang)
+_ALTCCVERSION!=	/usr/bin/clang --version
+.elif ${COMPILER_TYPE} == clang && exists(/usr/bin/gcc)
+_ALTCCVERSION!=	/usr/bin/gcc --version
+.endif
+
+ALT_COMPILER_VERSION=	${_ALTCCVERSION:M[0-9].[0-9]*:C/([0-9]).([0-9]).*/\1\2/g}
+.if ${_ALTCCVERSION:Mclang}
+ALT_COMPILER_TYPE=	clang
+.elif !empty(_ALTCCVERSION)
+ALT_COMPILER_TYPE=	gcc
+.endif
+
 .if ${_COMPILER_ARGS:Mopenmp}
 .if ${COMPILER_TYPE} == clang
 USE_GCC=	yes
@@ -101,6 +117,11 @@ USE_GCC=	yes
 .if defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc
 USE_GCC=	yes
 .elif (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 33) || ${COMPILER_TYPE} == gcc
+.if ${ALT_COMPILER_TYPE} == clang && ${ALT_COMPILER_VERSION} >= 33
+CPP=	clang-cpp
+CC=	clang
+CXX=	clang++
+.else
 BUILD_DEPENDS+=	${LOCALBASE}/bin/clang33:${PORTSDIR}/lang/clang33
 CPP=	${LOCALBASE}/bin/clang-cpp33
 CC=	${LOCALBASE}/bin/clang33
@@ -108,6 +129,7 @@ CXX=	${LOCALBASE}/bin/clang++33
 .endif
 .endif
 .endif
+.endif
 
 .if ${_COMPILER_ARGS:Mc11}
 .if !${COMPILER_FEATURES:Mc11}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311071735.rA7HZbgF085192>