[Midnightbsd-cvs] mports [15878] trunk/Mk/extensions: fix clang detection, add ninja
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Fri Feb 21 15:23:48 EST 2014
Revision: 15878
http://svnweb.midnightbsd.org/mports/?rev=15878
Author: laffer1
Date: 2014-02-21 15:23:47 -0500 (Fri, 21 Feb 2014)
Log Message:
-----------
fix clang detection, add ninja
Modified Paths:
--------------
trunk/Mk/extensions/compiler.mk
Added Paths:
-----------
trunk/Mk/extensions/ninja.mk
Modified: trunk/Mk/extensions/compiler.mk
===================================================================
--- trunk/Mk/extensions/compiler.mk 2014-02-21 16:01:51 UTC (rev 15877)
+++ trunk/Mk/extensions/compiler.mk 2014-02-21 20:23:47 UTC (rev 15878)
@@ -4,8 +4,9 @@
#
# Feature: compiler
# Usage: USES=compiler or USES=compiler:ARGS
-# Valid ARGS: env (default, implicit) c++11-lib c++11-lang c11 openmp nestedfct features
+# Valid ARGS: env (default, implicit) c++0x c++11-lib c++11-lang c11 openmp nestedfct features
#
+# c++0x: The port needs a compiler understanding C++0X
# c++11-lang: The port needs a compiler understanding C++11
# 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
@@ -30,10 +31,12 @@
compiler_ARGS= env
.endif
-VALID_ARGS= c++11-lib c++11-lang c11 features openmp env nestedfct
+VALID_ARGS= c++11-lib c++11-lang c11 features openmp env nestedfct c++0x
.if ${compiler_ARGS} == c++11-lib
_COMPILER_ARGS+= features c++11-lib
+.elif ${compiler_ARGS} == c++0x
+_COMPILER_ARGS+= features c++0x
.elif ${compiler_ARGS} == c++11-lang
_COMPILER_ARGS+= features c++11-lang
.elif ${compiler_ARGS} == c11
@@ -51,7 +54,7 @@
_COMPILER_ARGS= #
.endif
-.if ${_COMPILER_ARGS:Mc++11*} || ${_COMPILER_ARGS:Mc11}
+.if ${_COMPILER_ARGS:Mc++*} || ${_COMPILER_ARGS:Mc11}
_COMPILER_ARGS+= features
.endif
@@ -72,7 +75,7 @@
_ALTCCVERSION!= /usr/bin/gcc --version
.endif
-ALT_COMPILER_VERSION= ${_ALTCCVERSION:M[0-9].[0-9]*:C/([0-9]).([0-9]).*/\1\2/g}
+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)
@@ -104,7 +107,7 @@
.endif
CSTD= c89 c99 c11 gnu89 gnu99 gnu11
-CXXSTD= c++98 c++11 gnu++98 gnu++11
+CXXSTD= c++98 c++11 gnu++98 gnu++11 c++0x
.for std in ${CSTD} ${CXXSTD}
_LANG=c
@@ -134,7 +137,7 @@
USE_GCC= 4.7+
CHOSEN_COMPILER_TYPE= gcc
.elif (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 33) || ${COMPILER_TYPE} == gcc
-.if ${ALT_COMPILER_TYPE} == clang && ${ALT_COMPILER_VERSION} >= 33
+.if ${ALT_COMPILER_TYPE} == clang && ${ALT_COMPILER_VERSION} == 33
CPP= clang-cpp
CC= clang
CXX= clang++
@@ -154,6 +157,32 @@
.endif
.endif
+.if ${_COMPILER_ARGS:Mc++0x}
+.if !${COMPILER_FEATURES:Mc++0x}
+.if defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc
+USE_GCC= yes
+CHOSEN_COMPILER_TYPE= gcc
+.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++
+CHOSEN_COMPILER_TYPE= clang
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/bin/clang33:${PORTSDIR}/lang/clang33
+CHOSEN_COMPILER_TYPE= clang
+CPP= ${LOCALBASE}/bin/clang-cpp33
+CC= ${LOCALBASE}/bin/clang33
+CXX= ${LOCALBASE}/bin/clang++33
+.if ${OSVERSION} < 4016
+USE_BINUTILS= yes
+LDFLAGS+= -B${LOCALBASE}/bin
+.endif
+.endif
+.endif
+.endif
+.endif
+
.if ${_COMPILER_ARGS:Mc11}
.if !${COMPILER_FEATURES:Mc11}
.if defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc
@@ -160,6 +189,12 @@
USE_GCC= 4.7+
CHOSEN_COMPILER_TYPE= gcc
.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++
+CHOSEN_COMPILER_TYPE= clang
+.else
BUILD_DEPENDS+= ${LOCALBASE}/bin/clang33:${PORTSDIR}/lang/clang33
CHOSEN_COMPILER_TYPE= clang
CPP= ${LOCALBASE}/bin/clang-cpp33
@@ -172,5 +207,6 @@
.endif
.endif
.endif
+.endif
.endif
Added: trunk/Mk/extensions/ninja.mk
===================================================================
--- trunk/Mk/extensions/ninja.mk (rev 0)
+++ trunk/Mk/extensions/ninja.mk 2014-02-21 20:23:47 UTC (rev 15878)
@@ -0,0 +1,30 @@
+# $MidnightBSD$
+# Provide support to use Ninja
+#
+# Feature: ninja
+# Usage: USES=ninja
+#
+# User defined variables:
+# NINJA_VERBOSE - Enable verbose output.
+#
+
+.if !defined(_INCLUDE_USES_NINJA_MK)
+_INCLUDE_USES_NINJA_MK= yes
+
+.if defined(ninja_ARGS)
+IGNORE= Incorrect 'USES+= ninja:${ninja_ARGS}' ninja takes no arguments
+.endif
+
+.if defined(NINJA_VERBOSE)
+MAKE_ARGS+= -v
+.endif
+
+BUILD_DEPENDS+= ninja:${PORTSDIR}/devel/ninja
+
+CMAKE_ARGS+= -GNinja
+MAKEFILE=
+MAKE_CMD= ninja
+MAKE_FLAGS=
+_DESTDIR_VIA_ENV= yes
+
+.endif
More information about the Midnightbsd-cvs
mailing list