svn commit: r353296 - head/Mk/Uses

Baptiste Daroussin bapt at FreeBSD.org
Thu May 8 13:32:13 UTC 2014


Author: bapt
Date: Thu May  8 13:32:12 2014
New Revision: 353296
URL: http://svnweb.freebsd.org/changeset/ports/353296
QAT: https://qat.redports.org/buildarchive/r353296/

Log:
  Add a USES to handle objective C (chosing compiler adding the right dependency on the runtime library)

Added:
  head/Mk/Uses/objc.mk   (contents, props changed)

Added: head/Mk/Uses/objc.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/Mk/Uses/objc.mk	Thu May  8 13:32:12 2014	(r353296)
@@ -0,0 +1,65 @@
+# $FreeBSD$
+#
+# Objective C support
+#
+# Feature:	objc
+# Usage:	USES=objc
+#
+# MAINTAINER:	objc at FreeBSD.org
+
+.if !defined(_INCLUDE_USES_OBJC_MK)
+_INCLUDE_USES_OBJC_MK=	yes
+
+.if defined(objc_ARGS)
+IGNORE=	USES=objc takes no arguments
+.endif
+
+_CCVERSION!=	${CC} --version
+COMPILER_VERSION=	${_CCVERSION:M[0-9].[0-9]*:C/([0-9]).([0-9]).*/\1\2/g}
+.if ${_CCVERSION:Mclang}
+COMPILER_TYPE=	clang
+.else
+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
+
+# We do always need clang
+.if (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 33) || ${COMPILER_TYPE} != clang
+.if ${ALT_COMPILER_TYPE} == clang && ${ALT_COMPILER_VERSION} >= 33
+CC=	/usr/bin/clang
+CPP=	/usr/bin/clang-cpp
+CXX=	/usr/bin/clang++
+.else
+BUILD_DEPENDS+=	${LOCALBASE}/bin/clang33:${PORTSDIR}/lang/clang33
+CPP=	${LOCALBASE}/bin/clang-cpp33
+CC=	${LOCALBASE}/bin/clang33
+CXX=	${LOCALBASE}/bin/clang++33
+.if ${OSVERSION} < 900033
+USE_BINUTILS=	yes
+LDFLAGS+=	-B${LOCALBASE}/bin
+.endif
+.endif
+.endif
+
+LIB_DEPENDS+=	libobjc.so.4.6:${PORTSDIR}/lang/libobjc2
+OBJCFLAGS+=	-I${LOCALBASE}/include
+LDFLAGS+=	-L${LOCALBASE}/lib
+CONFIGURE_ENV+=	OBJC="${CC}" OBJCFLAGS="${OBJCFLAGS}"
+MAKE_ENV+=	OBJC="${CC}" OBJCFLAGS="${OBJCFLAGS}"
+
+.endif


More information about the svn-ports-all mailing list