sync from the 3.3 branch

This commit is contained in:
Sylvestre Ledru 2013-09-05 10:09:20 +00:00
commit 27d8448809
11 changed files with 347 additions and 38 deletions

174
debian/changelog vendored
View File

@ -1,14 +1,56 @@
llvm-toolchain-snapshot (1:3.4~svn190038-1) UNRELEASED; urgency=low llvm-toolchain-snapshot (1:3.4~svn190038-1) UNRELEASED; urgency=low
* New snapshot release
* Remove ia64-fix.diff (applied upstream)
* cpp11-migrate renamed to clang-modernize
[ Luca Falavigna ] [ Luca Falavigna ]
* debian/control: * debian/control:
- Add llvm-3.4-dev to lldb-3.4 Depends field. - Add llvm-3.4-dev to lldb-3.4 Depends field.
[ Sylvestre Ledru ] -- Sylvestre Ledru <sylvestre@debian.org> Thu, 05 Sep 2013 12:04:35 +0200
* Remove ia64-fix.diff (applied upstream)
* cpp11-migrate renamed to clang-modernize
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 27 Aug 2013 11:16:45 +0200 llvm-toolchain-3.3 (1:3.3-9) unstable; urgency=low
[ Luca Falavigna ]
* debian/control:
- Add llvm-3.3-dev to lldb-3.3 Depends field (Closes: #715129).
[ Sylvestre Ledru ]
* Only use -fuse-ld=gold on supported distribution. Simplify the
backports.
* Fix 'bits/c++config.h' file not found under i386
See libstdc++-header-i386.diff. (Closes: #714890)
* Add more fixes for the HURD port... (but still fails)
[ Robert Millan ]
* clang under KfFreeBSD was not exporting the correct defines
(Closes: #721880)
[ Jon Severinsson ]
* Merge from llvm-toolchain-3.2 branch up to 3.2repack-11.
* Drop auto-generated file debian/libllvm3.3.install.
* Automatically determine GCC_VERSION and dep:devlibs based on g++ package
version.
* Automatically determine if -fuse-ld=gold is supported based on binutils
package version.
[ Adam Conrad ]
* debian/patches/lldb-link-atomic.diff: Link lldb with -latomic to get
builtin GCC atomic helpers on arches (like powerpc) that need them.
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 26 Aug 2013 14:48:42 +0200
llvm-toolchain-3.3 (1:3.3-8) unstable; urgency=low
[ Sylvestre Ledru ]
* Fix another issues under HURD...
[ Luca Falavigna ]
* debian/patches/libprofile_rt_sparc.patch:
- Re-enable libprofile_rt on Sparc, fix FTBFS.
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 23 Aug 2013 15:02:05 +0200
llvm-toolchain-3.3 (1:3.3-7) unstable; urgency=low llvm-toolchain-3.3 (1:3.3-7) unstable; urgency=low
@ -110,7 +152,118 @@ llvm-toolchain-snapshot (1:3.3~svn179851-1~exp1) experimental; urgency=low
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 19 Apr 2013 09:31:38 +0200 -- Sylvestre Ledru <sylvestre@debian.org> Fri, 19 Apr 2013 09:31:38 +0200
llvm-toolchain-3.2 (1:3.2repack-1~exp3) experimental; urgency=low llvm-toolchain-3.2 (1:3.2repack-11) unstable; urgency=low
* dh_auto_clean removed, just like in the 3.3
* Use the static library libjsoncpp.a instead of shipping library in polly
Backport of the modification of 3.3
[ Adam Conrad ]
* Revive deltas from the previous Ubuntu versions of llvm and clang:
- debian/patches/35-ubuntu-releases.diff: Add UbuntuSaucy to table.
- debian/patches/JITEmitter.patch: Fix a segfault in the exception
table of the JIT code emitter (See Launchpad bug #1160587)
[ Luca Falavigna ]
* debian/patches/libprofile_rt_sparc.patch:
- Re-enable libprofile_rt on Sparc, fix FTBFS.
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 23 Aug 2013 11:49:09 +0200
llvm-toolchain-3.2 (1:3.2repack-10) unstable; urgency=low
* Fix the wrong package declaration on libstdc++-4.8-dev (Closes: #713944)
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 24 Jun 2013 23:00:47 +0200
llvm-toolchain-3.2 (1:3.2repack-9) unstable; urgency=low
* Switch to libstdc++ 4.8 instead of 4.7 for the headers (Closes: #712520)
* Depends against libobjc-4.8-dev and libgcc-4.8-dev
* Disable the usage of binutils-gold under armel. It currently fails with:
"attempt to map 2752512 bytes at offset 2066666 exceeds size of file;
the file may be corrupt"
* Add DEBUGMAKE=1 to get information about compiler-rt compilation
* Fix "libclang-common-dev: missing-depends-line"
-- Sylvestre Ledru <sylvestre@debian.org> Sat, 22 Jun 2013 07:38:41 +0200
llvm-toolchain-3.2 (1:3.2repack-8) unstable; urgency=low
* Fix the build under ia64. Thanks to Luca Falavigna for the patch
(ia64-fix.diff)
* Disable lldb-3.2:
- the quality is not good enough
- We have lldb-3.3 now in the archive
- Too many backported patches would be necessary for lldb-3.2 to work
- It blocks some important transitions (mesa)
* Add the detection of Ubuntu saucy
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 03 Jun 2013 11:32:29 +0200
llvm-toolchain-3.2 (1:3.2repack-7) unstable; urgency=low
* For now, enable only lldb for amd64 and i386 (blocks too many things)
(Bis) (Closes: #707866)
* Add a symlink of libLLVM-3.2.so.1 to usr/lib/llvm-3.2/lib/libLLVM-3.2.so
to fix make the llvm-config-3.2 --libdir work (Closes: #708677)
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 27 May 2013 13:20:30 +0200
llvm-toolchain-3.2 (1:3.2repack-6) unstable; urgency=low
* Create the compiler-rt directory to make the install of compiler-rt works
-- Sylvestre Ledru <sylvestre@debian.org> Sat, 18 May 2013 18:08:52 +0200
llvm-toolchain-3.2 (1:3.2repack-5) unstable; urgency=low
* For now, enable only lldb for amd64 and i386 (blocks too many things)
-- Sylvestre Ledru <sylvestre@debian.org> Sat, 18 May 2013 10:24:04 +0200
llvm-toolchain-3.2 (1:3.2repack-4) unstable; urgency=low
* Add several patches which, hopefully, will fix the build under ARM, S390,
S390X, etc (lldb-apple_only.diff, lldb-user-remove.diff & lldb-hurd.diff)
* Include sys/wait.h also under kfreebsd (kfreebsd-thread.diff)
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 15 May 2013 12:04:24 +0200
llvm-toolchain-3.2 (1:3.2repack-3) unstable; urgency=low
* Before the configure, show which version of CC is being used.
* Add support of kfreebsd and hurd in lldb (kfreebsd-hurd-lldb.diff)
* Force the usage of gcc 4.7 for all archs. Should fix some FTBFS
(Closes: #707866)
* Fix the symlink on clang++.1.gz llvm-clang.1.gz (Closes: #707832)
[ Jon Severinsson ]
* Re-enable the r600 backend and update it to the mesa-9.1.1 tag.
(Closes: #708009)
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 14 May 2013 12:10:07 +0200
llvm-toolchain-3.2 (1:3.2repack-2) unstable; urgency=low
* Do not depend on libobjc-4.7-dev & libgcc-4.7-dev.
They are still only in experimental
* Disable the usage of binutils-gold under [powerpc powerpcspe ppc64 sparc
sparc64] to fix FTBFS
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 07 May 2013 13:15:20 +0200
llvm-toolchain-3.2 (1:3.2repack-1) unstable; urgency=low
* Upload to unstable
* Standards-Version update to 3.9.4
* clang pure virtual function call crash with binaries built with C++11's
std::thread. Upstream commit 178816 (Closes: #705838)
* Introduce a symbols file for libclang1 (Closes: #705672)
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 21 Apr 2013 14:06:23 +0200
llvm-toolchain-3.2 (1:3.2repack-1~exp4) experimental; urgency=low
* Build using binutls-gold to improve the quality of the binaries. * Build using binutls-gold to improve the quality of the binaries.
See: http://allievi.sssup.it/techblog/?p=791 See: http://allievi.sssup.it/techblog/?p=791
@ -119,6 +272,17 @@ llvm-toolchain-3.2 (1:3.2repack-1~exp3) experimental; urgency=low
See: 31-powerpcspe.diff See: 31-powerpcspe.diff
* Fix the path detection of scan-build (Closes: #698352) * Fix the path detection of scan-build (Closes: #698352)
See: 32-scan-build-path.diff See: 32-scan-build-path.diff
* debian/patches/r600-snapshot.diff: Move backports into individual patches.
* debian/patches/r600-snapshot.diff: Update to mesa-9.1 git tag.
(Closes: #703671, #697356)
* Fix a typo in the detection of the vendor
[ Peter Michael Green ]
* Use binutils-gold only on architectures where it is actually available
* 33-armhf-defaults.diff Fix defaults to use correct CPU and FPU for
debian armhf (Closes: #704111)
* 34-powerpc-no-altivec.diff disable altivec by default on powerpc because
debian powerpc does not require altivec (patch cherry picked from ubuntu)
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 14 Mar 2013 17:47:12 +0100 -- Sylvestre Ledru <sylvestre@debian.org> Thu, 14 Mar 2013 17:47:12 +0100

View File

@ -1,5 +1,5 @@
usr/share/man/man1/clang.1.gz usr/share/man/man1/llvm-clang.1.gz usr/share/man/man1/clang-3.4.1.gz usr/share/man/man1/llvm-clang.1.gz
usr/share/man/man1/clang.1.gz usr/share/man/man1/clang++.1.gz usr/share/man/man1/clang-3.4.1.gz usr/share/man/man1/clang++.1.gz
/usr/share/clang/scan-build/scan-build /usr/bin/scan-build /usr/share/clang/scan-build/scan-build /usr/bin/scan-build
/usr/share/clang/scan-view/scan-view /usr/bin/scan-view /usr/share/clang/scan-view/scan-view /usr/bin/scan-view
/usr/bin/clang /usr/bin/llvm-clang /usr/bin/clang /usr/bin/llvm-clang

16
debian/control vendored
View File

@ -8,8 +8,8 @@ Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl8.5, expect,
sharutils, autotools-dev (>= 20060702.1), libffi-dev (>= 3.0.9), sharutils, autotools-dev (>= 20060702.1), libffi-dev (>= 3.0.9),
lsb-release, patchutils, diffstat, xz-utils, chrpath, python-dev, lsb-release, patchutils, diffstat, xz-utils, chrpath, python-dev,
libedit-dev, swig, python-sphinx, ocaml-nox, binutils-dev, libcloog-isl-dev, libedit-dev, swig, python-sphinx, ocaml-nox, binutils-dev, libcloog-isl-dev,
libisl-dev (>= 0.11.1), binutils, libisl-dev (>= 0.11.1), libjsoncpp-dev,
lcov, procps, help2man, libjsoncpp-dev lcov, procps, help2man
Build-Conflicts: oprofile, ocaml Build-Conflicts: oprofile, ocaml
Standards-Version: 3.9.4 Standards-Version: 3.9.4
Homepage: http://www.llvm.org/ Homepage: http://www.llvm.org/
@ -225,9 +225,15 @@ Description: clang library - Development package
Package: libclang-common-3.4-dev Package: libclang-common-3.4-dev
Architecture: any Architecture: any
Section: libdevel Section: libdevel
<<<<<<< .courant
Depends: ${misc:Depends}, libllvm3.4 (= ${binary:Version}) Depends: ${misc:Depends}, libllvm3.4 (= ${binary:Version})
Replaces: llvm-3.4-dev (<< 1:3.2repack), libclang-3.4-dev Replaces: llvm-3.4-dev (<< 1:3.2repack), libclang-3.4-dev
Breaks: llvm-3.4-dev (<< 1:3.2repack) Breaks: llvm-3.4-dev (<< 1:3.2repack)
=======
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.3 (= ${binary:Version})
Replaces: llvm-3.3-dev (<< 1:3.2repack), libclang-3.3-dev
Breaks: llvm-3.3-dev (<< 1:3.2repack)
>>>>>>> .fusion-droit.r834
Description: clang library - Common development package Description: clang library - Common development package
Clang project is a C, C++, Objective C and Objective C++ front-end Clang project is a C, C++, Objective C and Objective C++ front-end
for the LLVM compiler. Some of its goals include the following: for the LLVM compiler. Some of its goals include the following:
@ -432,9 +438,15 @@ Description: Low-Level Virtual Machine (LLVM), examples
<<<<<<< .courant
Package: lldb-3.4 Package: lldb-3.4
Architecture: amd64 i386 Architecture: amd64 i386
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.4 (= ${binary:Version}), python, llvm-3.4-dev Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.4 (= ${binary:Version}), python, llvm-3.4-dev
=======
Package: lldb-3.3
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.3 (= ${binary:Version}), python, llvm-3.3-dev
>>>>>>> .fusion-droit.r834
Pre-Depends: ${misc:Pre-Depends} Pre-Depends: ${misc:Pre-Depends}
Replaces: lldb-3.2, lldb-3.3 Replaces: lldb-3.2, lldb-3.3
Breaks: lldb-3.2, lldb-3.3 Breaks: lldb-3.2, lldb-3.3

View File

@ -1,7 +1,7 @@
Index: llvm-toolchain-3.3-3.3/clang/lib/Basic/FileManager.cpp Index: llvm-toolchain-3.3-3.3/clang/lib/Basic/FileManager.cpp
=================================================================== ===================================================================
--- llvm-toolchain-3.3-3.3.orig/clang/lib/Basic/FileManager.cpp 2013-01-26 17:29:36.000000000 +0100 --- llvm-toolchain-3.3-3.3.orig/clang/lib/Basic/FileManager.cpp 2013-01-26 16:29:36.000000000 +0000
+++ llvm-toolchain-3.3-3.3/clang/lib/Basic/FileManager.cpp 2013-08-23 09:53:21.538337851 +0200 +++ llvm-toolchain-3.3-3.3/clang/lib/Basic/FileManager.cpp 2013-08-28 10:29:30.000000000 +0000
@@ -43,6 +43,11 @@ @@ -43,6 +43,11 @@
#if defined(LLVM_ON_UNIX) #if defined(LLVM_ON_UNIX)
#include <limits.h> #include <limits.h>
@ -14,3 +14,19 @@ Index: llvm-toolchain-3.3-3.3/clang/lib/Basic/FileManager.cpp
using namespace clang; using namespace clang;
// FIXME: Enhance libsystem to support inode and other fields. // FIXME: Enhance libsystem to support inode and other fields.
Index: llvm-toolchain-3.3-3.3/lldb/include/lldb/lldb-defines.h
===================================================================
--- llvm-toolchain-3.3-3.3.orig/lldb/include/lldb/lldb-defines.h 2013-08-28 14:14:04.000000000 +0000
+++ llvm-toolchain-3.3-3.3/lldb/include/lldb/lldb-defines.h 2013-08-28 14:15:01.000000000 +0000
@@ -12,6 +12,11 @@
#include "lldb/lldb-types.h"
+// For GNU Hurd
+#if defined(__GNU__) && !defined(PATH_MAX)
+# define PATH_MAX 4096
+#endif
+
#if !defined(UINT32_MAX)
#define UINT32_MAX 4294967295U
#endif

View File

@ -0,0 +1,51 @@
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -283,6 +283,30 @@
}
};
+// GNU/kFreeBSD Target
+template<typename Target>
+class KFreeBSDTargetInfo : public OSTargetInfo<Target> {
+protected:
+ virtual void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
+ MacroBuilder &Builder) const {
+ // GNU/kFreeBSD defines; list based off of gcc output
+
+ DefineStd(Builder, "unix", Opts);
+ Builder.defineMacro("__FreeBSD_kernel__");
+ Builder.defineMacro("__GLIBC__");
+ Builder.defineMacro("__ELF__");
+ if (Opts.POSIXThreads)
+ Builder.defineMacro("_REENTRANT");
+ if (Opts.CPlusPlus)
+ Builder.defineMacro("_GNU_SOURCE");
+ }
+public:
+ KFreeBSDTargetInfo(const std::string &triple)
+ : OSTargetInfo<Target>(triple) {
+ this->UserLabelPrefix = "";
+ }
+};
+
// Minix Target
template<typename Target>
class MinixTargetInfo : public OSTargetInfo<Target> {
@@ -5434,6 +5458,8 @@
return new BitrigI386TargetInfo(T);
case llvm::Triple::FreeBSD:
return new FreeBSDTargetInfo<X86_32TargetInfo>(T);
+ case llvm::Triple::KFreeBSD:
+ return new KFreeBSDTargetInfo<X86_32TargetInfo>(T);
case llvm::Triple::Minix:
return new MinixTargetInfo<X86_32TargetInfo>(T);
case llvm::Triple::Solaris:
@@ -5473,6 +5499,8 @@
return new BitrigX86_64TargetInfo(T);
case llvm::Triple::FreeBSD:
return new FreeBSDTargetInfo<X86_64TargetInfo>(T);
+ case llvm::Triple::KFreeBSD:
+ return new KFreeBSDTargetInfo<X86_64TargetInfo>(T);
case llvm::Triple::Solaris:
return new SolarisTargetInfo<X86_64TargetInfo>(T);
case llvm::Triple::MinGW32:

View File

@ -0,0 +1,17 @@
Index: llvm-toolchain-3.3-3.3/runtime/Makefile
===================================================================
--- llvm-toolchain-3.3-3.3.orig/runtime/Makefile 2013-08-28 13:16:23.000000000 +0000
+++ llvm-toolchain-3.3-3.3/runtime/Makefile 2013-08-28 13:16:45.000000000 +0000
@@ -14,12 +14,6 @@
PARALLEL_DIRS := libprofile
-# Disable libprofile: a faulty libtool is generated by autoconf which breaks the
-# build on Sparc
-ifeq ($(ARCH), Sparc)
-PARALLEL_DIRS := $(filter-out libprofile, $(PARALLEL_DIRS))
-endif
-
ifeq ($(TARGET_OS), $(filter $(TARGET_OS), Cygwin MingW Minix))
PARALLEL_DIRS := $(filter-out libprofile, $(PARALLEL_DIRS))
endif

View File

@ -0,0 +1,15 @@
Index: llvm-toolchain-3.3-3.3/clang/lib/Driver/ToolChains.cpp
===================================================================
--- llvm-toolchain-3.3-3.3.orig/clang/lib/Driver/ToolChains.cpp 2013-09-03 14:04:41.000000000 +0000
+++ llvm-toolchain-3.3-3.3/clang/lib/Driver/ToolChains.cpp 2013-09-04 14:09:12.000000000 +0000
@@ -2588,6 +2588,10 @@
StringRef Version = GCCInstallation.getVersion().Text;
StringRef TripleStr = GCCInstallation.getTriple().str();
+ #ifdef __i386__
+ // clang does not detect this path: /usr/include/i386-linux-gnu/c++/4.8/ Help him
+ addLibStdCXXIncludePaths( "/usr/include/", "/c++/" + Version.str(), "i386-linux-gnu", GCCInstallation.getMultiarchSuffix(), DriverArgs, CC1Args);
+ #endif
if (addLibStdCXXIncludePaths(LibDir.str() + "/../include",
"/c++/" + Version.str(),
TripleStr,

28
debian/patches/lldb-hurd.diff vendored Normal file
View File

@ -0,0 +1,28 @@
Index: llvm-toolchain-3.3-3.3/lldb/include/lldb/Host/Config.h
===================================================================
--- llvm-toolchain-3.3-3.3.orig/lldb/include/lldb/Host/Config.h 2013-08-28 10:29:30.000000000 +0000
+++ llvm-toolchain-3.3-3.3/lldb/include/lldb/Host/Config.h 2013-08-28 17:23:00.000000000 +0000
@@ -14,7 +14,7 @@
#include "lldb/Host/macosx/Config.h"
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__GNU__)
#include "lldb/Host/linux/Config.h"
Index: llvm-toolchain-3.3-3.3/lldb/source/Host/common/Host.cpp
===================================================================
--- llvm-toolchain-3.3-3.3.orig/lldb/source/Host/common/Host.cpp 2013-08-28 10:29:30.000000000 +0000
+++ llvm-toolchain-3.3-3.3/lldb/source/Host/common/Host.cpp 2013-08-28 17:25:38.000000000 +0000
@@ -16,8 +16,10 @@
#include <limits.h>
#include <netdb.h>
#include <pwd.h>
+#ifndef __GNU__
#include <sys/sysctl.h>
#include <sys/types.h>
+#endif
#include <unistd.h>
#if defined (__APPLE__)

16
debian/patches/lldb-link-atomic.diff vendored Normal file
View File

@ -0,0 +1,16 @@
Description: Link lldb with -latomic to get GCC atomic helpers
Author: Adam Conrad <adconrad@ubuntu.com>
Forwarded: no
Last-Update: 2013-08-21
--- llvm-toolchain-3.3-3.3.orig/lldb/lib/Makefile
+++ llvm-toolchain-3.3-3.3/lldb/lib/Makefile
@@ -140,6 +140,8 @@ ifeq ($(HOST_OS), $(filter $(HOST_OS), L
LLVMLibsOptions += -Wl,--no-undefined
# Link in python
LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt
+ # Link GCC atomic helper library
+ LLVMLibsOptions += -latomic
LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT)
endif

View File

@ -25,4 +25,8 @@ disable-execinfo-usage.diff
unwind-chain-inclusion.diff unwind-chain-inclusion.diff
hurd-pathmax.diff hurd-pathmax.diff
use-deb-json.diff use-deb-json.diff
libprofile_rt_sparc.diff libprofile_rt_sparc.patch
lldb-hurd.diff
libstdc++-header-i386.diff
kfreebsd_target_info_clang33.diff

38
debian/rules vendored
View File

@ -1,7 +1,7 @@
#!/usr/bin/make -f #!/usr/bin/make -f
TARGET_BUILD := build-llvm TARGET_BUILD := build-llvm
GCC_VERSION := 4.7 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 := 3.4
SONAME_EXT := 1 SONAME_EXT := 1
DEBIAN_REVISION := $(shell dpkg-parsechangelog | sed -rne 's,^Version: .*-(.*),\1,p') DEBIAN_REVISION := $(shell dpkg-parsechangelog | sed -rne 's,^Version: .*-(.*),\1,p')
@ -18,11 +18,8 @@ DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
OCAML_STDLIB_DIR ?= $(shell ocamlc -where) OCAML_STDLIB_DIR ?= $(shell ocamlc -where)
distribution := $(shell lsb_release --id --short) export CC=gcc-$(GCC_VERSION)
distrel := $(shell lsb_release --codename --short) export CXX=g++-$(GCC_VERSION)
ifeq ($(distrel),n/a)
distrel := sid
endif
LDFLAGS_EXTRA= LDFLAGS_EXTRA=
CXXFLAGS_EXTRA= CXXFLAGS_EXTRA=
@ -44,30 +41,17 @@ ifneq (,$(findstring $(DEB_HOST_ARCH),armel))
opt_flags += -marm opt_flags += -marm
endif endif
ifeq ($(distribution),Ubuntu) ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.8-20121128-1~ ; echo $$?),0)
ifeq ($(distrel),precise) control_vars = '-Vdep:devlibs=libstdc++-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev, libobjc-$(GCC_VERSION)-dev'
control_vars = '-Vdep:devlibs=libstdc++6-4.6-dev' else ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.7.2-10~ ; echo $$?),0)
endif control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev, libobjc-$(GCC_VERSION)-dev'
ifeq ($(distrel),quantal)
control_vars = '-Vdep:devlibs=libstdc++6-4.7-dev'
endif
ifeq ($(distrel),raring)
control_vars = '-Vdep:devlibs=libstdc++6-4.7-dev, libgcc-4.7-dev, libobjc-4.7-dev'
endif
else else
ifeq ($(distrel),wheezy) control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
control_vars = '-Vdep:devlibs=libstdc++6-4.7-dev'
else
# Debian experimental
control_vars = '-Vdep:devlibs=libstdc++6-4.7-dev, libgcc-4.7-dev, libobjc-4.7-dev'
endif
endif endif
BINUTILS_GOLD_ARCHS := amd64 armhf i386 powerpc powerpcspe ppc64 sparc sparc64 x32 BINUTILS_GOLD_ARCHS := amd64 armhf i386 powerpc powerpcspe ppc64 sparc sparc64 x32
BINUTILS_GOLD_UNSUPPORTED_DISTRO = wheezy quantal ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0)
ifneq (,$(findstring $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS))) ifneq (,$(findstring $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
ifeq (,$(findstring $(distrel),$(BINUTILS_GOLD_UNSUPPORTED_DISTRO)))
# -fused-ld=gold enables the gold linker (but is not supported by all archs / distro) # -fused-ld=gold enables the gold linker (but is not supported by all archs / distro)
LDFLAGS_EXTRA += -fuse-ld=gold LDFLAGS_EXTRA += -fuse-ld=gold
endif endif
@ -100,6 +84,8 @@ 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" $< > $@ 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/pollycc 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/pollycc
echo "Using gcc: "
$(CC) -v
mkdir -p $(TARGET_BUILD) mkdir -p $(TARGET_BUILD)
mkdir -p clang/include/clang/Debian mkdir -p clang/include/clang/Debian
sed -e "s|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|" \ sed -e "s|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|" \
@ -158,7 +144,7 @@ override_dh_auto_configure: debian/lldb-$(LLVM_VERSION).install debian/lldb-$(LL
override_dh_auto_build: override_dh_auto_build:
$(PRE_PROCESS) $(MAKE) $(NJOBS) -C $(TARGET_BUILD) VERBOSE=1 CLANG_VENDOR=$(VENDOR) CXXFLAGS="$(CXXFLAGS_EXTRA) -std=c++0x" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 $(PRE_PROCESS) $(MAKE) $(NJOBS) -C $(TARGET_BUILD) VERBOSE=1 CLANG_VENDOR=$(VENDOR) CXXFLAGS="$(CXXFLAGS_EXTRA) -std=c++0x" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 DEBUGMAKE=1
override_dh_prep: build_doc override_dh_prep: build_doc
dh_prep dh_prep