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