1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00

Add support for lld, the LLVM linker.

Update/add missing option descriptions.
This commit is contained in:
Brooks Davis 2015-07-28 00:56:50 +00:00
parent 5853b98c0c
commit debf4df5ef
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=393044
3 changed files with 110 additions and 5 deletions

View File

@ -3,11 +3,12 @@
PORTNAME= llvm
PORTVERSION= 3.8.d20150720
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel lang
MASTER_SITES= \
http://github.com/llvm-mirror/llvm/archive/${LLVM_COMMIT}.tar.gz?dummy=/ \
http://github.com/llvm-mirror/clang/archive/${CLANG_COMMIT}.tar.gz?dummy=/:clang \
http://github.com/llvm-mirror/lld/archive/${LLD_COMMIT}.tar.gz?dummy=/:lld
http://github.com/llvm-mirror/lldb/archive/${LLDB_COMMIT}.tar.gz?dummy=/:lldb
http://github.com/llvm-mirror/openmp/archive/${OPENMP_COMMIT}.tar.gz?dummy=/:openmp
DISTFILES= ${LLVM_NAME}.tar.gz
@ -33,19 +34,21 @@ CMAKE_ARGS= -DBUILD_SHARED_LIBS=ON
LLVM_COMMIT= 4f50f9eba412b6c0d5e7a9616dfe7699a07cf17b
CLANG_COMMIT= dc9de2d1a510a8b7b95610d338e89f1f91d3ecdf
LLD_COMMIT= 3002cb875e292930a1a8f375f00b36abd1a4a83a
LLDB_COMMIT= 6160cbd3d3bcbbc409bf48a67ee097672256b03f
OPENMP_COMMIT= 50be853810d64cf7ba61a0ee7281ce82672af972
LLVM_NAME= ${PORTNAME}-${LLVM_COMMIT}
CLANG_NAME= clang-${CLANG_COMMIT}
LLD_NAME= lld-${LLD_COMMIT}
LLDB_NAME= lldb-${LLDB_COMMIT}
OPENMP_NAME= openmp-${OPENMP_COMMIT}
WRKSRC= ${WRKDIR}/${LLVM_NAME}
OPTIONS_DEFINE= CLANG DOCS LIT LLDB
OPTIONS_DEFINE= CLANG DOCS LIT LLD LLDB
OPTIONS_DEFINE_amd64= OPENMP
OPTIONS_DEFAULT= CLANG LIT LLDB
OPTIONS_DEFAULT= CLANG LIT LLD LLDB
OPTIONS_DEFAULT_amd64= OPENMP
OPTIONS_SUB= yes
@ -53,8 +56,12 @@ CLANG_DESC= Build clang
CLANG_EXTRA_PATCHES= ${PATCHDIR}/clang-patch-tools_clang_lib_Headers_CMakeLists.txt
CLANG_DISTFILES= ${CLANG_NAME}.tar.gz:clang
CLANG_CONFLICTS_INSTALL= clang-devel-3.[1234567]*
LIT_DESC= Install lit and FileCheck test tools (requires python)
LIT_DESC= Install lit and FileCheck test tools
LLD_DESC= Install lld, the LLVM linker
LLD_DISTFILES= ${LLD_NAME}.tar.gz:lld
LLDB_DESC= Install lldb, the LLVM debugger
LLDB_DISTFILES= ${LLDB_NAME}.tar.gz:lldb
OPENMP_DESC= Install libomp, the LLVM OpenMP runtime library
OPENMP_DISTFILES= ${OPENMP_NAME}.tar.gz:openmp
OPENMP_CONFLICTS_INSTALL= libiomp5-devel-*
@ -128,6 +135,11 @@ _USES_PYTHON= python
LIT_COMMANDS= lit llvm-lit FileCheck
.endif
.if ${PORT_OPTIONS:MLLD}
COMMANDS+= lld
PORTDOCS+= lld
.endif
.if ${PORT_OPTIONS:MLLDB}
COMMANDS+= argdumper \
lldb \
@ -163,6 +175,9 @@ post-extract:
.if ${PORT_OPTIONS:MCLANG}
${MV} ${WRKDIR}/${CLANG_NAME} ${PATCH_WRKSRC}/tools/clang
.endif
.if ${PORT_OPTIONS:MLLD}
${MV} ${WRKDIR}/${LLD_NAME} ${PATCH_WRKSRC}/tools/lld
.endif
.if ${PORT_OPTIONS:MLLDB}
${MV} ${WRKDIR}/${LLDB_NAME} ${PATCH_WRKSRC}/tools/lldb
.endif
@ -217,6 +232,9 @@ post-install:
${MV} ${STAGEDIR}${LLVM_PREFIX}/share/doc/llvm ${STAGEDIR}${DOCSDIR}
.if ${PORT_OPTIONS:MCLANG}
${MV} ${STAGEDIR}${LLVM_PREFIX}/share/doc/clang ${STAGEDIR}${DOCSDIR}
.endif
.if ${PORT_OPTIONS:MLLD}
${MV} ${STAGEDIR}${LLVM_PREFIX}/share/doc/lld ${STAGEDIR}${DOCSDIR}
.endif
${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/share/doc
.for _man in ${MAN1SRCS}
@ -259,7 +277,7 @@ build-plist:
# ${FIND} ${STAGEDIR}${DOCSDIR} -type f | \
# ${SED} -e 's|${STAGEDIR}${DOCSDIR}|%%PORTDOCS%%%%DOCSDIR%%|' | \
# ${SORT} >> ${PLIST}.tmp
awk '{if ($$0 ~ /clang/ && $$0 !~ /omp.h/) {printf "%%%%CLANG%%%%"} 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%%%%"} print}' ${PLIST}.tmp >> ${PLIST}
${RM} -f ${PLIST}.tmp
.include <bsd.port.post.mk>

View File

@ -2,6 +2,8 @@ SHA256 (llvm-4f50f9eba412b6c0d5e7a9616dfe7699a07cf17b.tar.gz) = ce2fba4ee4c5004a
SIZE (llvm-4f50f9eba412b6c0d5e7a9616dfe7699a07cf17b.tar.gz) = 21150084
SHA256 (clang-dc9de2d1a510a8b7b95610d338e89f1f91d3ecdf.tar.gz) = 4f60a1df9f615957b3e78dd3a01f4f5594e26751a1b57191a5f8de222f969840
SIZE (clang-dc9de2d1a510a8b7b95610d338e89f1f91d3ecdf.tar.gz) = 12426962
SHA256 (lld-3002cb875e292930a1a8f375f00b36abd1a4a83a.tar.gz) = 7d67e9b48b9e68d0d822538042f895672af91d512dc60532b91c1d4948d9b809
SIZE (lld-3002cb875e292930a1a8f375f00b36abd1a4a83a.tar.gz) = 797487
SHA256 (lldb-6160cbd3d3bcbbc409bf48a67ee097672256b03f.tar.gz) = 87acf4295f4170744ddf9fae56a254de107cffc336c543f47d3870eac92e4bbb
SIZE (lldb-6160cbd3d3bcbbc409bf48a67ee097672256b03f.tar.gz) = 13165011
SHA256 (openmp-50be853810d64cf7ba61a0ee7281ce82672af972.tar.gz) = 912fe4a38e9d7aa1b348e719d9730aa14718dd59a964098cc7591f17be0284fe

View File

@ -30,6 +30,7 @@ bin/opt-devel
%%CLANG%%bin/clang-check-devel
%%CLANG%%bin/clang-cpp-devel
%%CLANG%%bin/clang-format-devel
%%LLD%%bin/lld-devel
%%LLDB%%bin/argdumper-devel
%%LLDB%%bin/lldb-devel
%%LLDB%%bin/lldb-mi-devel
@ -51,6 +52,7 @@ llvm-devel/bin/bugpoint
%%CLANG%%llvm-devel/bin/clang-format
%%CLANG%%llvm-devel/bin/git-clang-format
llvm-devel/bin/llc
%%LLD%%llvm-devel/bin/lld
%%LLDB%%llvm-devel/bin/lldb
%%LLDB%%llvm-devel/bin/lldb-3.8.0
%%LLDB%%llvm-devel/bin/lldb-mi
@ -523,6 +525,41 @@ llvm-devel/bin/yaml2obj
%%CLANG%%llvm-devel/include/clang/Tooling/RefactoringCallbacks.h
%%CLANG%%llvm-devel/include/clang/Tooling/ReplacementsYaml.h
%%CLANG%%llvm-devel/include/clang/Tooling/Tooling.h
%%LLD%%llvm-devel/include/lld/Config/Version.h
%%LLD%%llvm-devel/include/lld/Core/AbsoluteAtom.h
%%LLD%%llvm-devel/include/lld/Core/Alias.h
%%LLD%%llvm-devel/include/lld/Core/ArchiveLibraryFile.h
%%LLD%%llvm-devel/include/lld/Core/Atom.h
%%LLD%%llvm-devel/include/lld/Core/DefinedAtom.h
%%LLD%%llvm-devel/include/lld/Core/Error.h
%%LLD%%llvm-devel/include/lld/Core/File.h
%%LLD%%llvm-devel/include/lld/Core/Instrumentation.h
%%LLD%%llvm-devel/include/lld/Core/LLVM.h
%%LLD%%llvm-devel/include/lld/Core/LinkingContext.h
%%LLD%%llvm-devel/include/lld/Core/Node.h
%%LLD%%llvm-devel/include/lld/Core/Parallel.h
%%LLD%%llvm-devel/include/lld/Core/Pass.h
%%LLD%%llvm-devel/include/lld/Core/PassManager.h
%%LLD%%llvm-devel/include/lld/Core/Reader.h
%%LLD%%llvm-devel/include/lld/Core/Reference.h
%%LLD%%llvm-devel/include/lld/Core/Resolver.h
%%LLD%%llvm-devel/include/lld/Core/STDExtras.h
%%LLD%%llvm-devel/include/lld/Core/SharedLibraryAtom.h
%%LLD%%llvm-devel/include/lld/Core/SharedLibraryFile.h
%%LLD%%llvm-devel/include/lld/Core/Simple.h
%%LLD%%llvm-devel/include/lld/Core/SymbolTable.h
%%LLD%%llvm-devel/include/lld/Core/UndefinedAtom.h
%%LLD%%llvm-devel/include/lld/Core/Writer.h
%%LLD%%llvm-devel/include/lld/Core/range.h
%%LLD%%llvm-devel/include/lld/Driver/Driver.h
%%LLD%%llvm-devel/include/lld/Driver/WinLinkModuleDef.h
%%LLD%%llvm-devel/include/lld/ReaderWriter/AtomLayout.h
%%LLD%%llvm-devel/include/lld/ReaderWriter/CoreLinkingContext.h
%%LLD%%llvm-devel/include/lld/ReaderWriter/ELFLinkingContext.h
%%LLD%%llvm-devel/include/lld/ReaderWriter/LinkerScript.h
%%LLD%%llvm-devel/include/lld/ReaderWriter/MachOLinkingContext.h
%%LLD%%llvm-devel/include/lld/ReaderWriter/PECOFFLinkingContext.h
%%LLD%%llvm-devel/include/lld/ReaderWriter/YamlContext.h
%%LLDB%%llvm-devel/include/lldb/API/LLDB.h
%%LLDB%%llvm-devel/include/lldb/API/SBAddress.h
%%LLDB%%llvm-devel/include/lldb/API/SBAttachInfo.h
@ -2213,6 +2250,54 @@ llvm-devel/lib/libLTO.so.3.8.0svn
%%CLANG%%llvm-devel/lib/libclangToolingCore.so.3.8.0svn
%%OPENMP%%llvm-devel/lib/libgomp.so
%%OPENMP%%llvm-devel/lib/libiomp5.so
%%LLD%%llvm-devel/lib/liblldAArch64ELFTarget.so
%%LLD%%llvm-devel/lib/liblldAArch64ELFTarget.so.3.8
%%LLD%%llvm-devel/lib/liblldAArch64ELFTarget.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldARMELFTarget.so
%%LLD%%llvm-devel/lib/liblldARMELFTarget.so.3.8
%%LLD%%llvm-devel/lib/liblldARMELFTarget.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldCOFF.so
%%LLD%%llvm-devel/lib/liblldCOFF.so.3.8
%%LLD%%llvm-devel/lib/liblldCOFF.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldConfig.so
%%LLD%%llvm-devel/lib/liblldConfig.so.3.8
%%LLD%%llvm-devel/lib/liblldConfig.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldCore.so
%%LLD%%llvm-devel/lib/liblldCore.so.3.8
%%LLD%%llvm-devel/lib/liblldCore.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldDriver.so
%%LLD%%llvm-devel/lib/liblldDriver.so.3.8
%%LLD%%llvm-devel/lib/liblldDriver.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldELF.so
%%LLD%%llvm-devel/lib/liblldELF.so.3.8
%%LLD%%llvm-devel/lib/liblldELF.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldExampleSubTarget.so
%%LLD%%llvm-devel/lib/liblldExampleSubTarget.so.3.8
%%LLD%%llvm-devel/lib/liblldExampleSubTarget.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldHexagonELFTarget.so
%%LLD%%llvm-devel/lib/liblldHexagonELFTarget.so.3.8
%%LLD%%llvm-devel/lib/liblldHexagonELFTarget.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldMachO.so
%%LLD%%llvm-devel/lib/liblldMachO.so.3.8
%%LLD%%llvm-devel/lib/liblldMachO.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldMipsELFTarget.so
%%LLD%%llvm-devel/lib/liblldMipsELFTarget.so.3.8
%%LLD%%llvm-devel/lib/liblldMipsELFTarget.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldPECOFF.so
%%LLD%%llvm-devel/lib/liblldPECOFF.so.3.8
%%LLD%%llvm-devel/lib/liblldPECOFF.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldReaderWriter.so
%%LLD%%llvm-devel/lib/liblldReaderWriter.so.3.8
%%LLD%%llvm-devel/lib/liblldReaderWriter.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldX86ELFTarget.so
%%LLD%%llvm-devel/lib/liblldX86ELFTarget.so.3.8
%%LLD%%llvm-devel/lib/liblldX86ELFTarget.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldX86_64ELFTarget.so
%%LLD%%llvm-devel/lib/liblldX86_64ELFTarget.so.3.8
%%LLD%%llvm-devel/lib/liblldX86_64ELFTarget.so.3.8.0svn
%%LLD%%llvm-devel/lib/liblldYAML.so
%%LLD%%llvm-devel/lib/liblldYAML.so.3.8
%%LLD%%llvm-devel/lib/liblldYAML.so.3.8.0svn
%%LLDB%%llvm-devel/lib/liblldb.so
%%LLDB%%llvm-devel/lib/liblldb.so.3.8
%%LLDB%%llvm-devel/lib/liblldb.so.3.8.0