diff --git a/debian/changelog b/debian/changelog index 27061384..d4ae9722 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-7 (1:7-2) unstable; urgency=medium + + * Fix the ftbfs under armel on libc++ and enable openmp on armel. + Thanks to Adrian Bunk for the patch + + -- Sylvestre Ledru Wed, 19 Sep 2018 14:12:34 +0200 + llvm-toolchain-7 (1:7-1) unstable; urgency=medium * Stable release diff --git a/debian/rules b/debian/rules index 4be55969..c8b4de02 100755 --- a/debian/rules +++ b/debian/rules @@ -42,8 +42,8 @@ ifneq (,$(filter $(DEB_HOST_ARCH),s390x)) LIBCXX_EXCEPTIONS :=OFF endif -ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe)) -LDFLAGS_EXTRA += -latomic +ifneq (,$(filter $(DEB_HOST_ARCH),armel mips mipsel powerpc powerpcspe riscv64)) +CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-latomic" -DCMAKE_SHARED_LINKER_FLAGS="-latomic" endif # Cxx flags for building libcxx and libcxxabi @@ -80,6 +80,8 @@ ifneq (,$(findstring $(DEB_HOST_ARCH),armel)) # 3.8 fails to build, disable the compiler_rt builtins # See http://lists.llvm.org/pipermail/llvm-dev/2016-May/099761.html CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF + # Check for ancient libstdc++ fails due to atomics usage + CMAKE_EXTRA_LIBCXX += -DLLVM_COMPILER_CHECKED=ON # Prevent clang from getting a > v4t default # See bug #868779 CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabi @@ -113,7 +115,7 @@ endif # Enable openmp (or not) OPENMP_ENABLE=yes -ifneq (,$(filter $(DEB_HOST_ARCH), armel mips mipsel powerpc powerpcspe riscv64 sparc64 s390x x32)) +ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel powerpc powerpcspe riscv64 sparc64 s390x x32)) OPENMP_ENABLE=no endif @@ -349,7 +351,9 @@ LIBCXX_CMAKE_OPTIONS := \ -DCMAKE_AR=$(CURDIR)/$(TARGET_BUILD)/bin/llvm-ar \ -DCMAKE_RANLIB=$(CURDIR)/$(TARGET_BUILD)/bin/llvm-ranlib \ -DCMAKE_C_COMPILER=$(CURDIR)/$(TARGET_BUILD)/bin/clang \ - -DLLVM_EXTERNAL_LIT=$(BASE_PATH)/utils/lit/lit.py + -DLLVM_EXTERNAL_LIT=$(BASE_PATH)/utils/lit/lit.py \ + $(CMAKE_EXTRA) \ + $(CMAKE_EXTRA_LIBCXX) override_dh_auto_build: $(PRE_PROCESS) $(MAKE) $(NJOBS) -C $(TARGET_BUILD) VERBOSE=1 CLANG_VENDOR=$(VENDOR) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 DEBUGMAKE=1