Date: Thu, 15 Oct 2015 19:06:33 +0000 (UTC) From: Brooks Davis <brooks@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r399359 - in head: devel/llvm37 devel/llvm37/files lang/cloudabi-clang Message-ID: <201510151906.t9FJ6XIg002161@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201510151906.t9FJ6XIg002161>