Commit 7c7373be authored by Sylvestre Ledru's avatar Sylvestre Ledru

Add the support of lld (Closes: #TODO)

parent 11116870
llvm-toolchain-snapshot (1:3.9~svn260851-2) UNRELEASED; urgency=medium
[ Ed Schouten ]
* Add the support of lld (Closes: #TODO)
* Remove the autoconf section
* Bring back the removal of the build dir
* Fix the coverage builds (didn't allow several cflags)
......
......@@ -349,6 +349,60 @@ Description: Modular compiler and toolchain technologies, examples
extensions to LLVM and in using it to compile code.
# ------------- lld -------------
Package: lld-3.9
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
# ia64 mips mipsel hurd powerpc ppc64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version}), llvm-3.9-dev
Pre-Depends: ${misc:Pre-Depends}
Description: LLVM-based linker
LLD is a new, high-performance linker. It is built as a set of reusable
components which highly leverage existing libraries in the larger LLVM
Project.
Package: liblld-3.9
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
# ia64 mips mipsel hurd powerpc ppc64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Section: libs
Description: LLVM-based linker, library
LLD is a new, high-performance linker. It is built as a set of reusable
components which highly leverage existing libraries in the larger LLVM
Project.
.
This package contains the LLD runtime library.
Package: liblld-3.9-dbg
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
# ia64 mips mipsel hurd ppc64el alpha s390x powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, liblld-3.9 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Section: debug
Priority: extra
Description: LLVM-based linker, debugging libraries
LLD is a new, high-performance linker. It is built as a set of reusable
components which highly leverage existing libraries in the larger LLVM
Project.
.
This package contains the LLD runtime library debug symbols.
Package: liblld-3.9-dev
Section: libdevel
Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel
# ia64 mips mipsel hurd powerpc ppc64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, lld-3.9 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Description: LLVM-based linker, header files
LLD is a new, high-performance linker. It is built as a set of reusable
components which highly leverage existing libraries in the larger LLVM
Project.
.
This package provides the header files to build extension over lld.
# ------------- lldb -------------
Package: lldb-3.9
......@@ -414,7 +468,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-3.9 (= ${binary:Version})
Replaces: lldb-3.9-dev (<= 1:3.9~svn215195-2)
Breaks: lldb-3.9-dev (<< 1:3.9~svn215195-2)
Pre-Depends: ${misc:Pre-Depends}
Description: Next generation, high-performance debugger - Header files
Description: Next generation, high-performance debugger, header files
LLDB is a next generation, high-performance debugger. It is built as a set of
reusable components which highly leverage existing libraries in the larger LLVM
Project, such as the Clang expression parser and LLVM disassembler.
......
/usr/lib/llvm-@LLVM_VERSION@/include/lld
/usr/lib/llvm-@LLVM_VERSION@/lib/liblld*a
/usr/lib/llvm-@LLVM_VERSION@/lib/liblld*so
#usr/lib/llvm-@LLVM_VERSION@/lib/liblld-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so
usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so usr/lib/python2.7/dist-packages/lld-@LLVM_VERSION@/_lld.so
usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblld.so.1
usr/lib/llvm-@LLVM_VERSION@/bin/ld.lld*
usr/lib/llvm-@LLVM_VERSION@/bin/lld*
usr/bin/lld-link-@LLVM_VERSION@
usr/bin/ld.lld-@LLVM_VERSION@
usr/bin/lld-@LLVM_VERSION@*
......@@ -3,6 +3,7 @@
# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang-extra.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-compiler-rt.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-lld.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-lldb.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-polly.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig.tar.bz2
......@@ -48,7 +49,7 @@ get_svn_url() {
}
get_higher_revision() {
PROJECTS="llvm cfe compiler-rt polly lldb clang-tools-extra"
PROJECTS="llvm cfe compiler-rt polly lld lldb clang-tools-extra"
REVISION_MAX=0
for f in $PROJECTS; do
REVISION=$(LANG=C svn info $(get_svn_url $f $BRANCH $TAG)|grep "^Last Changed Rev:"|awk '{print $4}')
......@@ -117,6 +118,13 @@ rm -rf $POLLY_TARGET/www $POLLY_TARGET/autoconf/config.sub $POLLY_TARGET/autocon
tar jcvf $FULL_VERSION.orig-polly.tar.bz2 $POLLY_TARGET
rm -rf $POLLY_TARGET
# LLD
LLD_TARGET=lld_$VERSION
$SVN_CMD $(get_svn_url lld $BRANCH $TAG) $LLD_TARGET
rm -rf $LLD_TARGET/www/
tar jcvf $FULL_VERSION.orig-lld.tar.bz2 $LLD_TARGET
rm -rf $LLD_TARGET
# LLDB
LLDB_TARGET=lldb_$VERSION
$SVN_CMD $(get_svn_url lldb $BRANCH $TAG) $LLDB_TARGET
......
......@@ -168,6 +168,13 @@ override_dh_auto_configure: preconfigure
ln -s ../polly .; \
fi
cd tools/ && \
if test -h lld; then \
rm lld; \
fi; \
ln -s ../lld .; \
readlink lld
if test "$(LLDB_ENABLE)" = yes; then \
cd tools/ && \
if test -h lldb; then \
......@@ -387,6 +394,7 @@ override_dh_installman:
override_dh_strip:
dh_strip -p libclang$(SONAME_EXT)-$(LLVM_VERSION) --dbg-package=libclang$(SONAME_EXT)-$(LLVM_VERSION)-dbg
dh_strip -p libllvm$(LLVM_VERSION) --dbg-package=libllvm$(LLVM_VERSION)-dbg
dh_strip -p liblld-$(LLVM_VERSION) --dbg-package=liblld-$(LLVM_VERSION)-dbg
dh_strip -p liblldb-$(LLVM_VERSION) --dbg-package=liblldb-$(LLVM_VERSION)-dbg
dh_strip -a
......@@ -422,6 +430,9 @@ endif
# Clang tests (CMake)
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-clang || true
# LLD tests (CMake)
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-lld || true
# LLDB tests (CMake)
ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel))
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-lldb || true
......@@ -467,7 +478,7 @@ override_dh_auto_clean:
find lldb/test -iname '*.pyc' | xargs -I{} -r rm -f {}
find test -name '*.pyc' -o -name '*.cm[ix]' | xargs -r rm -f
find test/Bindings -name '*.o' | xargs -r rm -f
rm -f tools/clang tools/polly tools/lldb projects/compiler-rt
rm -f tools/clang tools/polly tools/lld tools/lldb projects/compiler-rt
rm -rf tools/clang/tools/extra clang/tools/extra/
rm -f $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim
rm -f $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment