From 7aec13574dec30aa3469a7a7bfe1fac5cccda88c Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 26 Nov 2013 15:53:01 +0000 Subject: [PATCH] Force the build to gcc 4.8... gcc 4.6 used on some Debian archs does not support some C++ features. --- debian/changelog | 2 ++ debian/control | 2 +- debian/rules | 15 +++++++++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index ff3f456a..2d5b8c42 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,7 @@ llvm-toolchain-3.4 (1:3.4~+rc1-2) unstable; urgency=low + * Force the build to gcc 4.8... gcc 4.6 used on some Debian archs does not + support some C++ features. * Fail the build when llvm tests are failing under amd64 + i386. More to come. * Fix a libclang.so.1 issue during the clang tests * Improve the patch 23-strlcpy_strlcat_warning_removed.diff diff --git a/debian/control b/debian/control index 20c4b363..25d98fe0 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,7 @@ 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 + lcov, procps, help2man, gcc-4.8, g++-4.8 Build-Conflicts: oprofile, ocaml Standards-Version: 3.9.5 Homepage: http://www.llvm.org/ diff --git a/debian/rules b/debian/rules index 0aff6c8f..aecf1275 100755 --- a/debian/rules +++ b/debian/rules @@ -1,7 +1,9 @@ #!/usr/bin/make -f TARGET_BUILD := build-llvm -GCC_VERSION := $(shell dpkg-query -W -f '$${Version}' g++ | sed -rne 's,^([0-9]+:)?([0-9]+\.[0-9]+).*$$,\2,p') +# Force the version of gcc. Some archs are still using gcc 4.6 +GCC_VERSION := 4.8 +# $(shell dpkg-query -W -f '$${Version}' g++ | sed -rne 's,^([0-9]+:)?([0-9]+\.[0-9]+).*$$,\2,p') LLVM_VERSION := 3.4 SONAME_EXT := 1 DEBIAN_REVISION := $(shell dpkg-parsechangelog | sed -rne 's,^Version: .*-(.*),\1,p') @@ -112,9 +114,11 @@ endif dh $@ # --buildsystem=cmake --builddirectory=$(TARGET_BUILD) + debian/%: debian/%.in sed -e 's|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|g' -e "s|@OCAML_STDLIB_DIR@|$(OCAML_STDLIB_DIR)|g" -e "s|@LLVM_VERSION@|$(LLVM_VERSION)|g" $< > $@ + override_dh_auto_configure: debian/lldb-$(LLVM_VERSION).install debian/lldb-$(LLVM_VERSION).links debian/libllvm$(LLVM_VERSION).install debian/llvm-$(LLVM_VERSION)-dev.links debian/libllvm-$(LLVM_VERSION)-ocaml-dev.install debian/libllvm-$(LLVM_VERSION)-ocaml-dev.dirs debian/llvm-$(LLVM_VERSION)-runtime.binfmt debian/llvm-$(LLVM_VERSION)-runtime.prerm debian/libclang1-$(LLVM_VERSION).links debian/libclang-$(LLVM_VERSION)-dev.links debian/libclang1-$(LLVM_VERSION).install debian/pollycc echo "Using gcc: " $(CC) -v @@ -195,13 +199,15 @@ 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 + override_dh_prep: build_doc dh_prep + build_doc: cd $(CURDIR)/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man cd $(CURDIR)/tools/clang/docs && make -f Makefile.sphinx @@ -230,6 +236,7 @@ build_doc: help2man --version-string=$(LLVM_VERSION) $(TARGET_BUILD)/Release/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1; \ done + override_dh_auto_install: $(MAKE) -C $(TARGET_BUILD) VERBOSE=1 install DESTDIR=$(CURDIR)/debian/tmp/ @@ -286,6 +293,7 @@ override_dh_auto_install: # Managed in lldb-X.Y.links.in rm -f $(CURDIR)/$(TARGET_BUILD)/Release/lib/python*/site-packages/lldb/_lldb.so + override_dh_installman: dh_installman # Make sure that lli manpage is only in llvm-3.2-runtime (See #697117) @@ -298,9 +306,11 @@ override_dh_strip: dh_strip -p libllvm$(LLVM_VERSION) --dbg-package=libllvm$(LLVM_VERSION)-dbg dh_strip -a + override_dh_shlibdeps: LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ dh_shlibdeps + override_dh_installdeb: # Managed by the package dh_installdeb -a @@ -362,6 +372,7 @@ endif override_dh_gencontrol: dh_gencontrol -- $(control_vars) + override_dh_auto_clean: rm -rf $(TARGET_BUILD) tools/clang/include/clang/Debian/debian_path.h docs/_build/ clang/docs/_build tools/clang/docs/_html/ # QA tools