Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Aug 2015 19:04:06 +0000 (UTC)
From:      Rui Paulo <rpaulo@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r393886 - in head/devel: llvm-devel llvm37
Message-ID:  <201508101904.t7AJ46bj085736@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rpaulo
Date: Mon Aug 10 19:04:05 2015
New Revision: 393886
URL: https://svnweb.freebsd.org/changeset/ports/393886

Log:
  llvm{37,devel}: build and enable LLVM's gold plugin.
  
  This makes it possible to use Link Time Optimisations in with
  -fuse-ld=gold.
  
  Reviewed by:	brooks
  Approved by:	brooks
  Differential Revision:	https://reviews.freebsd.org/D3335

Modified:
  head/devel/llvm-devel/Makefile
  head/devel/llvm-devel/pkg-plist
  head/devel/llvm37/Makefile
  head/devel/llvm37/pkg-plist

Modified: head/devel/llvm-devel/Makefile
==============================================================================
--- head/devel/llvm-devel/Makefile	Mon Aug 10 19:04:04 2015	(r393885)
+++ head/devel/llvm-devel/Makefile	Mon Aug 10 19:04:05 2015	(r393886)
@@ -34,9 +34,9 @@ LLD_COMMIT=	754e78c2a7593764867b8671fcd1
 LLDB_COMMIT=	f89c12e54d5d81c18f4d3f63826d568f6257cabc
 OPENMP_COMMIT=	d90b41fbdaa1036f7a36651449bdcb32813f8423
 
-OPTIONS_DEFINE=	CLANG DOCS LIT LLD LLDB
+OPTIONS_DEFINE=	CLANG DOCS GOLD LIT LLD LLDB
 OPTIONS_DEFINE_amd64=	OPENMP
-OPTIONS_DEFAULT=	CLANG LIT LLD LLDB
+OPTIONS_DEFAULT=	CLANG GOLD LIT LLD LLDB
 OPTIONS_DEFAULT_amd64=	OPENMP
 OPTIONS_SUB=	yes
 
@@ -64,6 +64,9 @@ OPENMP_DESC=		Install libomp, the LLVM O
 OPENMP_CONFLICTS_INSTALL=	libiomp5-devel-*
 OPENMP_GH_PROJECT=	openmp:openmp
 OPENMP_GH_TAGNAME=	${OPENMP_COMMIT}:openmp
+GOLD_DESC=		Build the LLVM Gold plugin for LTO
+GOLD_CMAKE_ON=		-DLLVM_BINUTILS_INCDIR=${LOCALBASE}/include
+GOLD_BUILD_DEPENDS=	ld.gold:${PORTSDIR}/devel/binutils
 
 OPTIONS_SUB=	yes
 
@@ -258,7 +261,7 @@ build-plist:
 	${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} -type f | \
 	    ${SED} -e 's|${STAGEDIR}${PYTHON_SITELIBDIR}|%%LIT%%%%PYTHON_SITELIBDIR%%|' | \
 	    ${SORT} >> ${PLIST}.tmp
-	awk '{if ($$0 ~ /clang/ && $$0 !~ /omp.h/) {printf "%%%%CLANG%%%%"} if ($$0 ~ /lld/ && $$0 !~ /lldb/) {printf "%%%%LLD%%%%"} if ($$0 ~ /(argdumper|lldb)/) {printf "%%%%LLDB%%%%"} if ($$0 ~ /lib.*omp/) {printf "%%%%OPENMP%%%%"} print}' ${PLIST}.tmp >> ${PLIST}
+	awk '{if ($$0 ~ /clang/ && $$0 !~ /omp.h/) {printf "%%%%CLANG%%%%"} if ($$0 ~ /lld/ && $$0 !~ /lldb/) {printf "%%%%LLD%%%%"} if ($$0 ~ /(argdumper|lldb)/) {printf "%%%%LLDB%%%%"} if ($$0 ~ /lib.*omp/) {printf "%%%%OPENMP%%%%"} if ($$0 ~ /LLVMgold/) {printf "%%%%GOLD%%%%"} print}' ${PLIST}.tmp >> ${PLIST}
 	${RM} -f ${PLIST}.tmp
 
 check-commands:

Modified: head/devel/llvm-devel/pkg-plist
==============================================================================
--- head/devel/llvm-devel/pkg-plist	Mon Aug 10 19:04:04 2015	(r393885)
+++ head/devel/llvm-devel/pkg-plist	Mon Aug 10 19:04:05 2015	(r393886)
@@ -1773,6 +1773,7 @@ llvm-devel/include/llvm/Transforms/Utils
 llvm-devel/include/llvm/Transforms/Vectorize.h
 llvm-devel/lib/BugpointPasses.so
 llvm-devel/lib/LLVMHello.so
+%%GOLD%%llvm-devel/lib/LLVMgold.so
 %%CLANG%%llvm-devel/lib/clang/3.8.0/include/Intrin.h
 %%CLANG%%llvm-devel/lib/clang/3.8.0/include/__stddef_max_align_t.h
 %%CLANG%%llvm-devel/lib/clang/3.8.0/include/__wmmintrin_aes.h

Modified: head/devel/llvm37/Makefile
==============================================================================
--- head/devel/llvm37/Makefile	Mon Aug 10 19:04:04 2015	(r393885)
+++ head/devel/llvm37/Makefile	Mon Aug 10 19:04:05 2015	(r393886)
@@ -30,9 +30,9 @@ SUB_LIST=	LLVM_PREFIX="${LLVM_PREFIX}" L
 CMAKE_INSTALL_PREFIX=	${LLVM_PREFIX}
 CMAKE_ARGS=	-DBUILD_SHARED_LIBS=ON
 
-OPTIONS_DEFINE=	CLANG DOCS LIT LLD LLDB
+OPTIONS_DEFINE=	CLANG DOCS GOLD LIT LLD LLDB
 OPTIONS_DEFINE_amd64=	OPENMP
-OPTIONS_DEFAULT=	CLANG LIT LLD LLDB
+OPTIONS_DEFAULT=	CLANG GOLD LIT LLD LLDB
 OPTIONS_DEFAULT_amd64=	OPENMP
 OPTIONS_SUB=	yes
 
@@ -55,6 +55,9 @@ LLDB_BUILD_DEPENDS=	swig:${PORTSDIR}/dev
 LLDB_DISTFILES=		lldb-${DISTVERSION}.src${EXTRACT_SUFX}
 OPENMP_DESC=		Install libomp, the LLVM OpenMP runtime library
 OPENMP_DISTFILES=	openmp-${DISTVERSION}.src${EXTRACT_SUFX}
+GOLD_DESC=		Build the LLVM Gold plugin for LTO
+GOLD_CMAKE_ON=		-DLLVM_BINUTILS_INCDIR=${LOCALBASE}/include
+GOLD_BUILD_DEPENDS=	ld.gold:${PORTSDIR}/devel/binutils
 
 # Emulate USE_GITHUB's ${WRKSRC_tag} to reduce diffs to ../llvm-devel
 .for option in CLANG LLD LLDB OPENMP
@@ -255,7 +258,7 @@ build-plist:
 	${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} -type f | \
 	    ${SED} -e 's|${STAGEDIR}${PYTHON_SITELIBDIR}|%%LIT%%%%PYTHON_SITELIBDIR%%|' | \
 	    ${SORT} >> ${PLIST}.tmp
-	awk '{if ($$0 ~ /clang/ && $$0 !~ /omp.h/) {printf "%%%%CLANG%%%%"} if ($$0 ~ /lld/ && $$0 !~ /lldb/) {printf "%%%%LLD%%%%"} if ($$0 ~ /(argdumper|lldb)/) {printf "%%%%LLDB%%%%"} if ($$0 ~ /lib.*omp/) {printf "%%%%OPENMP%%%%"} print}' ${PLIST}.tmp >> ${PLIST}
+	awk '{if ($$0 ~ /clang/ && $$0 !~ /omp.h/) {printf "%%%%CLANG%%%%"} if ($$0 ~ /lld/ && $$0 !~ /lldb/) {printf "%%%%LLD%%%%"} if ($$0 ~ /(argdumper|lldb)/) {printf "%%%%LLDB%%%%"} if ($$0 ~ /lib.*omp/) {printf "%%%%OPENMP%%%%"} if ($$0 ~ /LLVMgold/) {printf "%%%%GOLD%%%%"} print}' ${PLIST}.tmp >> ${PLIST}
 	${RM} -f ${PLIST}.tmp
 
 check-commands:

Modified: head/devel/llvm37/pkg-plist
==============================================================================
--- head/devel/llvm37/pkg-plist	Mon Aug 10 19:04:04 2015	(r393885)
+++ head/devel/llvm37/pkg-plist	Mon Aug 10 19:04:05 2015	(r393886)
@@ -1774,6 +1774,7 @@ llvm37/include/llvm/Transforms/Utils/Val
 llvm37/include/llvm/Transforms/Vectorize.h
 llvm37/lib/BugpointPasses.so
 llvm37/lib/LLVMHello.so
+%%GOLD%%llvm37/lib/LLVMgold.so
 %%CLANG%%llvm37/lib/clang/3.7.0/include/Intrin.h
 %%CLANG%%llvm37/lib/clang/3.7.0/include/__stddef_max_align_t.h
 %%CLANG%%llvm37/lib/clang/3.7.0/include/__wmmintrin_aes.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508101904.t7AJ46bj085736>