From owner-svn-ports-head@freebsd.org Thu Oct 15 19:06:34 2015 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DC9BBA1564B; Thu, 15 Oct 2015 19:06:34 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9FB0E643; Thu, 15 Oct 2015 19:06:34 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9FJ6Xqg002164; Thu, 15 Oct 2015 19:06:33 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9FJ6XIg002161; Thu, 15 Oct 2015 19:06:33 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201510151906.t9FJ6XIg002161@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Thu, 15 Oct 2015 19:06:33 +0000 (UTC) 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 X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Oct 2015 19:06:35 -0000 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(Triple); + case llvm::Triple::FreeBSD: + return new FreeBSDTargetInfo(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