svn commit: r399359 - in head: devel/llvm37 devel/llvm37/files lang/cloudabi-clang

Brooks Davis brooks at FreeBSD.org
Thu Oct 15 19:06:35 UTC 2015


Author: brooks
Date: Thu Oct 15 19:06:33 2015
New Revision: 399359
URL: https://svnweb.freebsd.org/changeset/ports/399359

Log:
  Let cloudabi-clang install a compiler for aarch64.
  
  Now that CloudABI has been ported over to aarch64, let's extend the
  FreeBSD ports to install a functioning toolchain for it.
  
  This change extend the llvm37 port to backport a tiny change that is
  needed to make Clang support the CloudABI for aarch64 target (r250416).
  This change makes Clang use the right ELFOSABI number, but also makes it
  set the right #defines (e.g., __CloudABI__).
  
  It also extends the cloudabi-clang port to set up symlinks against Clang
  for aarch64.
  
  Submitted by:	ed
  Differential Revision:	https://reviews.freebsd.org/D3906

Added:
  head/devel/llvm37/files/clang-patch-svn-250416   (contents, props changed)
Modified:
  head/devel/llvm37/Makefile
  head/lang/cloudabi-clang/Makefile

Modified: head/devel/llvm37/Makefile
==============================================================================
--- head/devel/llvm37/Makefile	Thu Oct 15 18:47:13 2015	(r399358)
+++ head/devel/llvm37/Makefile	Thu Oct 15 19:06:33 2015	(r399359)
@@ -2,7 +2,7 @@
 
 PORTNAME=	llvm
 DISTVERSION=	3.7.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	devel lang
 MASTER_SITES=	http://llvm.org/${PRE_}releases/${LLVM_RELEASE}/${RCDIR}
 DISTNAME=	${PORTNAME}-${DISTVERSION}.src
@@ -39,9 +39,10 @@ OPTIONS_SUB=	yes
 
 CLANG_DESC=	Build clang
 CLANG_EXTRA_PATCHES= \
-		${PATCHDIR}/clang-patch-fformat_extensions.diff \
-		${PATCHDIR}/clang-patch-tools_clang_lib_Headers_CMakeLists.txt \
-		${PATCHDIR}/clang-patch-tools_clang_tools_clang-format_clang-format.py
+	${PATCHDIR}/clang-patch-fformat_extensions.diff \
+	${PATCHDIR}/clang-patch-tools_clang_lib_Headers_CMakeLists.txt \
+	${PATCHDIR}/clang-patch-tools_clang_tools_clang-format_clang-format.py \
+	${PATCHDIR}/clang-patch-svn-250416
 CLANG_CONFLICTS_INSTALL=	clang-devel-3.[1234567]*
 CLANG_DISTFILES=	cfe-${DISTVERSION}.src${EXTRACT_SUFX}
 CLANG_CMAKE_ON=		-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp

Added: head/devel/llvm37/files/clang-patch-svn-250416
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/llvm37/files/clang-patch-svn-250416	Thu Oct 15 19:06:33 2015	(r399359)
@@ -0,0 +1,22 @@
+------------------------------------------------------------------------
+r250416 | ed | 2015-10-15 15:07:07 +0000 (Thu, 15 Oct 2015) | 5 lines
+
+Add support for CloudABI/aarch64.
+
+The core C library has already been ported over to aarch64 successfully,
+meaning there is no reason to hold this change back.
+
+------------------------------------------------------------------------
+Index: lib/Basic/Targets.cpp
+===================================================================
+--- tools/clang/lib/Basic/Targets.cpp	(revision 250415)
++++ tools/clang/lib/Basic/Targets.cpp	(revision 250416)
+@@ -7364,6 +7364,8 @@
+       return new DarwinAArch64TargetInfo(Triple);
+ 
+     switch (os) {
++    case llvm::Triple::CloudABI:
++      return new CloudABITargetInfo<AArch64leTargetInfo>(Triple);
+     case llvm::Triple::FreeBSD:
+       return new FreeBSDTargetInfo<AArch64leTargetInfo>(Triple);
+     case llvm::Triple::Linux:

Modified: head/lang/cloudabi-clang/Makefile
==============================================================================
--- head/lang/cloudabi-clang/Makefile	Thu Oct 15 18:47:13 2015	(r399358)
+++ head/lang/cloudabi-clang/Makefile	Thu Oct 15 19:06:33 2015	(r399359)
@@ -3,6 +3,7 @@
 
 PORTNAME=	cloudabi-clang
 PORTVERSION=	3.7
+PORTREVISION=	1
 CATEGORIES=	lang
 MASTER_SITES=	# None
 DISTFILES=	# None
@@ -19,17 +20,20 @@ LLVM_SUFFIX=	${DISTVERSION:S/.//}
 
 NO_BUILD=	yes
 
-PLIST_FILES=	bin/x86_64-unknown-cloudabi-cc \
-		bin/x86_64-unknown-cloudabi-c++ \
-		llvm${LLVM_SUFFIX}/x86_64-unknown-cloudabi
+CLOUDABI_ARCHS=	aarch64-unknown-cloudabi x86_64-unknown-cloudabi
+
+.for arch in ${CLOUDABI_ARCHS}
+PLIST_FILES+=	bin/${arch}-cc bin/${arch}-c++ llvm${LLVM_SUFFIX}/${arch}
+.endfor
 
 do-install:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}
+.for arch in ${CLOUDABI_ARCHS}
 	@${LN} -s ../llvm${LLVM_SUFFIX}/bin/clang \
-		${STAGEDIR}${PREFIX}/bin/x86_64-unknown-cloudabi-cc
+		${STAGEDIR}${PREFIX}/bin/${arch}-cc
 	@${LN} -s ../llvm${LLVM_SUFFIX}/bin/clang++ \
-		${STAGEDIR}${PREFIX}/bin/x86_64-unknown-cloudabi-c++
-	@${MKDIR} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}
-	@${LN} -s ../x86_64-unknown-cloudabi \
-		${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}/x86_64-unknown-cloudabi
+		${STAGEDIR}${PREFIX}/bin/${arch}-c++
+	@${LN} -s ../${arch} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}/${arch}
+.endfor
 
 .include <bsd.port.mk>


More information about the svn-ports-all mailing list