diff --git a/debian/changelog b/debian/changelog index e7857e25..d2b284b8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,9 @@ llvm-toolchain-3.4 (1:3.4.2-1) unstable; urgency=medium * Also disable lldb tests under armel (like armhf). Timeout * Update of the repack script * Use llvm-3.4-dev.links.in to manage the symlinks + * Fix the soname of liblldb.so to see it treated as a real library + (Closes: #750868) + * Switch to the default gcc/g++ compiler. Currently 4.9 (Closes: #751322) -- Sylvestre Ledru Fri, 06 Jun 2014 15:55:57 +0200 diff --git a/debian/control b/debian/control index 8f667606..38c563ee 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect, libedit-dev, swig, python-sphinx, ocaml-nox, binutils-dev, libcloog-isl-dev, libisl-dev (>= 0.11.1), libjsoncpp-dev, lcov, procps, help2man, dh-ocaml, - gcc-4.8, g++-4.8, + g++ Build-Conflicts: oprofile, ocaml, libllvm-3.5-ocaml-dev Standards-Version: 3.9.5 Homepage: http://www.llvm.org/ diff --git a/debian/lldb-3.4.links.in b/debian/lldb-3.4.links.in index 2fef9c42..9a977cab 100644 --- a/debian/lldb-3.4.links.in +++ b/debian/lldb-3.4.links.in @@ -1,4 +1,5 @@ usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so +usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so usr/lib/python2.7/dist-packages/lldb/_lldb.so usr/lib/@DEB_HOST_MULTIARCH@/liblldb.so.1 usr/lib/llvm-3.4/lib/liblldb.so.1 diff --git a/debian/lldb-3.4.lintian-overrides b/debian/lldb-3.4.lintian-overrides index b5aa354c..ee479bdd 100644 --- a/debian/lldb-3.4.lintian-overrides +++ b/debian/lldb-3.4.lintian-overrides @@ -1,6 +1,5 @@ -# That is normal. The lib is not shipped as a new package +# That is normal. The lib is not (yet?) shipped as a new package lldb-3.4: package-name-doesnt-match-sonames liblldb -lldb-3.4: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so -# Does not really matter lldb-3.4: manpage-has-useless-whatis-entry usr/share/man/man1/lldb-3.4.1.gz - +# For now, override this warning. We might create a -dev at some point +lldb-3.4: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so \ No newline at end of file diff --git a/debian/patches/lldb-soname.diff b/debian/patches/lldb-soname.diff new file mode 100644 index 00000000..116d363a --- /dev/null +++ b/debian/patches/lldb-soname.diff @@ -0,0 +1,21 @@ +Index: llvm-toolchain-3.4_3.4~svn209031/lldb/lib/Makefile +=================================================================== +--- llvm-toolchain-3.4_3.4~svn209031.orig/lldb/lib/Makefile ++++ llvm-toolchain-3.4_3.4~svn209031/lldb/lib/Makefile +@@ -16,6 +16,7 @@ LIBRARYNAME = lldb + NO_BUILD_ARCHIVE = 1 + LINK_LIBS_IN_SHARED = 1 + SHARED_LIBRARY = 1 ++SONAME_EXTENSION = 1 + + ifeq (,$(findstring -DLLDB_DISABLE_PYTHON,$(CXXFLAGS))) + PYTHON_BUILD_FLAGS = $(shell python-config --ldflags) +@@ -152,7 +153,7 @@ ifeq ($(HOST_OS), $(filter $(HOST_OS), L + # Link GCC atomic helper library + LLVMLibsOptions += -latomic + endif +- LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) ++ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT).$(SONAME_EXTENSION) + endif + + ifeq ($(HOST_OS),FreeBSD) diff --git a/debian/patches/series b/debian/patches/series index b503ef00..25e74957 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -38,3 +38,4 @@ lldb-link-atomic.diff fix-llvm-config-obj-src-root.patch scan-build-fix-clang-detection.diff compiler-rt-path.diff +lldb-soname.diff diff --git a/debian/rules b/debian/rules index e45a9f69..99823386 100755 --- a/debian/rules +++ b/debian/rules @@ -2,8 +2,8 @@ TARGET_BUILD := build-llvm # Force the version of gcc. Some archs are still using gcc 4.6 -GCC_VERSION := 4.8 -#GCC_VERSION := $(shell dpkg-query -W -f '$${Version}' g++ | sed -rne 's,^([0-9]+:)?([0-9]+\.[0-9]+).*$$,\2,p') +#GCC_VERSION := 4.8 +GCC_VERSION := $(shell dpkg-query -W -f '$${Version}' g++ | sed -rne 's,^([0-9]+:)?([0-9]+\.[0-9]+).*$$,\2,p') LLVM_VERSION := 3.4 LLVM_VERSION_FULL := $(LLVM_VERSION).2 SONAME_EXT := 1 @@ -170,6 +170,8 @@ override_dh_auto_configure: debian/lldb-$(LLVM_VERSION).install debian/libclang1 cov-configure --compiler clang --comptype gcc; \ cov-configure --compiler gcc-4.8 --comptype gcc; \ cov-configure --compiler g++-4.8 --comptype gcc; \ + cov-configure --compiler gcc-4.9 --comptype gcc; \ + cov-configure --compiler g++-4.9 --comptype gcc; \ fi) # Due to bug upstream, no symlink here @@ -203,7 +205,7 @@ override_dh_auto_build: # We run the build with the Asserts, new directory, make a symlink to make # sure the rest still work cd $(TARGET_BUILD) \ - if test -d Release+Asserts -a ! -e Release; then \ + if test -d Release+Asserts -a ! -d Release; then \ ln -s Release+Asserts Release; \ fi @@ -263,7 +265,8 @@ override_dh_auto_install: rm -f libLLVM-$(LLVM_VERSION_FULL).so; \ rm -f libclang.so -# cd $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/ && rm -rf $$(find . -iname "SubDir.lib*" -o -iname .dir) && rm -rf $$(find -empty) +# Remove artefact + cd $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux && rm -rf $$(find . -mindepth 2 -maxdepth 2 -type d) && rm -rf $$(find -empty) && rm -rf */.dir mkdir -p $(CURDIR)/debian/clang-$(LLVM_VERSION)/usr/bin/ cp compiler-rt/lib/asan/scripts/asan_symbolize.py $(CURDIR)/debian/clang-$(LLVM_VERSION)/usr/bin/asan_symbolize @@ -272,7 +275,7 @@ override_dh_auto_install: # under the unsupported archs of compiler-rt mkdir -p $(CURDIR)/debian/tmp/usr/lib/clang/$(LLVM_VERSION)/lib mkdir -p $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/lib/ - + mkdir -p $(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/lib/clang_linux/ # Rename binaries mkdir -p $(CURDIR)/debian/tmp/usr/bin/