diff --git a/debian/changelog b/debian/changelog index 56969081..69d7a7d7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,9 +3,14 @@ llvm-toolchain-snapshot (1:3.5~svn211313-1) unstable; urgency=medium * New snapshot release * Fix CVE-2014-2893 (Closes: #744817) * Merge with 3.4/debian - * Ship compiler-rt files * Ship lldb-mi in lldb * Remove scan-build-fix-clang-detection.diff (applied upstream) + * Ship the compiler-rt static libraries + * Running tests respect DEB_BUILD_OPTIONS=parallel=X + (Closes: #751943) + * Fix FTBFS on powerpc and powerpcspe (Closes: #733890) + * Broken library symlink fixed in lldb-3.5 (Closes: #715130) + * Fix --use-cc when no absolute path is provided (Closes: #748777) -- Sylvestre Ledru Tue, 17 Jun 2014 09:49:31 +0200 diff --git a/debian/clang-3.4-doc.install b/debian/clang-3.4-doc.install new file mode 100644 index 00000000..4dfcdbb4 --- /dev/null +++ b/debian/clang-3.4-doc.install @@ -0,0 +1,3 @@ +usr/lib/llvm-3.4/docs/llvm/html/clang/manpage.css +usr/lib/llvm-3.4/docs/llvm/html/clang/clang.html +usr/lib/llvm-3.4/docs/llvm/ps/clang.ps diff --git a/debian/control b/debian/control index 661fa70d..207444cb 100644 --- a/debian/control +++ b/debian/control @@ -9,8 +9,9 @@ Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect, lsb-release, patchutils, diffstat, xz-utils, chrpath, python-dev, libedit-dev, swig, python-sphinx, ocaml-nox, binutils-dev, libcloog-isl-dev, libisl-dev (>= 0.11.1), libjsoncpp-dev, - lcov, procps, help2man, dh-ocaml, g++ -Build-Conflicts: oprofile, ocaml, libllvm-3.5-ocaml-dev + lcov, procps, help2man, dh-ocaml, + g++ +Build-Conflicts: oprofile, ocaml, libllvm-3.4-ocaml-dev, libllvm-3.5-ocaml-dev Standards-Version: 3.9.5 Homepage: http://www.llvm.org/ Vcs-Svn: svn://svn.debian.org/svn/pkg-llvm/llvm-toolchain/branches/snapshot/ diff --git a/debian/libllvm3.4.links.in b/debian/libllvm3.4.links.in new file mode 100644 index 00000000..9a00059a --- /dev/null +++ b/debian/libllvm3.4.links.in @@ -0,0 +1,2 @@ +usr/lib/llvm-3.4/lib/libLLVM-3.4.2.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-3.4.so.1 + diff --git a/debian/lldb-3.5.links.in b/debian/lldb-3.5.links.in index 0f4d6541..f7ac36a6 100644 --- a/debian/lldb-3.5.links.in +++ b/debian/lldb-3.5.links.in @@ -7,3 +7,7 @@ usr/bin/lldb-3.5 usr/bin/lldb usr/bin/lldb-platform-3.5 usr/bin/lldb-platform usr/bin/lldb-gdbserver-3.5 usr/bin/lldb-gdbserver usr/bin/lldb-mi-3.5 usr/bin/lldb-mi + +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-3.5.so.1 usr/lib/python2.7/dist-packages/lldb/libLLVM-3.5.0.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-3.5.so.1 usr/lib/python2.7/dist-packages/lldb/libLLVM-3.5.so.1 + diff --git a/debian/patches/0044-soname.diff b/debian/patches/0044-soname.diff index 9d0c3835..5cf7f556 100644 --- a/debian/patches/0044-soname.diff +++ b/debian/patches/0044-soname.diff @@ -1,8 +1,8 @@ Index: llvm-toolchain-snapshot_3.5~svn199197/tools/llvm-shlib/Makefile =================================================================== ---- llvm-toolchain-snapshot_3.5~svn199197.orig/tools/llvm-shlib/Makefile 2014-01-14 11:30:47.656868734 +0100 -+++ llvm-toolchain-snapshot_3.5~svn199197/tools/llvm-shlib/Makefile 2014-01-14 11:30:47.652868734 +0100 -@@ -73,7 +73,7 @@ +--- llvm-toolchain-3.4_3.4~svn209031.orig/tools/llvm-shlib/Makefile ++++ llvm-toolchain-3.4_3.4~svn209031/tools/llvm-shlib/Makefile +@@ -78,7 +78,7 @@ endif ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD GNU)) # Add soname to the library. diff --git a/debian/patches/follow-parallel-var.diff b/debian/patches/follow-parallel-var.diff new file mode 100644 index 00000000..45af781d --- /dev/null +++ b/debian/patches/follow-parallel-var.diff @@ -0,0 +1,16 @@ +Index: llvm-toolchain-3.4-3.4.2/test/Makefile +=================================================================== +--- llvm-toolchain-3.4-3.4.2.orig/test/Makefile ++++ llvm-toolchain-3.4-3.4.2/test/Makefile +@@ -29,6 +29,11 @@ else + LIT_ARGS := -s -v + endif + ++# NJOBS allows an override of the number of threads ++ifneq ($(NJOBS),) ++LIT_ARGS += $(NJOBS) ++endif ++ + ifdef TESTSUITE + LIT_TESTSUITE := $(TESTSUITE) + else diff --git a/debian/patches/scan-build-search-path.diff b/debian/patches/scan-build-search-path.diff new file mode 100644 index 00000000..0f23ca08 --- /dev/null +++ b/debian/patches/scan-build-search-path.diff @@ -0,0 +1,40 @@ +Index: llvm-toolchain-snapshot_3.5~svn211471/clang/tools/scan-build/ccc-analyzer +=================================================================== +--- llvm-toolchain-snapshot_3.5~svn211471.orig/clang/tools/scan-build/ccc-analyzer 2014-06-22 10:17:33.229860228 -0700 ++++ llvm-toolchain-snapshot_3.5~svn211471/clang/tools/scan-build/ccc-analyzer 2014-06-22 10:18:05.198707179 -0700 +@@ -25,6 +25,17 @@ + # Compiler command setup. + ##===----------------------------------------------------------------------===## + ++# Search in the PATH if the compiler exists ++sub SearchInPath { ++ my $file = shift; ++ foreach my $dir (split (':', $ENV{PATH})) { ++ if (-x "$dir/$file") { ++ return 1; ++ } ++ } ++ return 0; ++} ++ + my $Compiler; + my $Clang; + my $DefaultCCompiler; +@@ -41,7 +52,7 @@ + + if ($FindBin::Script =~ /c\+\+-analyzer/) { + $Compiler = $ENV{'CCC_CXX'}; +- if (!defined $Compiler || ! -x $Compiler) { $Compiler = $DefaultCXXCompiler; } ++ if (!defined $Compiler || ! -x $Compiler || ! SearchInPath($Compiler)) { $Compiler = $DefaultCXXCompiler; } + + $Clang = $ENV{'CLANG_CXX'}; + if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++'; } +@@ -50,7 +61,7 @@ + } + else { + $Compiler = $ENV{'CCC_CC'}; +- if (!defined $Compiler || ! -x $Compiler) { $Compiler = $DefaultCCompiler; } ++ if (!defined $Compiler || ! -x $Compiler || ! SearchInPath($Compiler)) { $Compiler = $DefaultCCompiler; } + + $Clang = $ENV{'CLANG'}; + if (!defined $Clang || ! -x $Clang) { $Clang = 'clang'; } diff --git a/debian/patches/series b/debian/patches/series index 2f3905fe..9d8df64f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -39,3 +39,5 @@ suffixsvn.diff compiler-rt-path.diff lldb-soname.diff force-link-pass.o.diff +follow-parallel-var.diff +scan-build-search-path.diff diff --git a/debian/rules b/debian/rules index 9ff42876..924402e1 100755 --- a/debian/rules +++ b/debian/rules @@ -6,6 +6,7 @@ TARGET_BUILD := build-llvm GCC_VERSION := $(shell dpkg-query -W -f '$${Version}' g++ | sed -rne 's,^([0-9]+:)?([0-9]+\.[0-9]+).*$$,\2,p') LLVM_VERSION := 3.5 LLVM_VERSION_FULL := $(LLVM_VERSION).0 +LLVM_VERSION_FULL := $(LLVM_VERSION).2 SONAME_EXT := 1 DEBIAN_REVISION := $(shell dpkg-parsechangelog | sed -rne 's,^Version: .*-(.*),\1,p') ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) @@ -28,6 +29,10 @@ LDFLAGS_EXTRA= CXXFLAGS_EXTRA= CONFIGURE_EXTRA= +ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe)) +LDFLAGS_EXTRA += -latomic +endif + confargs := \ --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) @@ -253,6 +258,7 @@ override_dh_auto_install: # Add the trailing soname mv $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT) + if test $(LLDB_ENABLE) = yes; then \ mv $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/liblldb.so $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/liblldb.so.$(SONAME_EXT); \ fi @@ -353,9 +359,9 @@ override_dh_auto_test: # LLVM tests ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK))) # Fail the build if the test fails - LD_LIBRARY_PATH=$(CURDIR)/$(TARGET_BUILD)/Release/lib/ $(MAKE) -C $(TARGET_BUILD) check + NJOBS="$(NJOBS)" LD_LIBRARY_PATH=$(CURDIR)/$(TARGET_BUILD)/Release/lib/ $(MAKE) -C $(TARGET_BUILD) check else - LD_LIBRARY_PATH=$(CURDIR)/$(TARGET_BUILD)/Release/lib/ $(MAKE) -C $(TARGET_BUILD) check || true + NJOBS="$(NJOBS)" LD_LIBRARY_PATH=$(CURDIR)/$(TARGET_BUILD)/Release/lib/ $(MAKE) -C $(TARGET_BUILD) check || true endif # clang tests