summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsylvestre <sylvestre@670adf90-79fe-46c2-b027-9eb1e76e7c7d>2014-07-31 06:27:03 +0000
committersylvestre <sylvestre@670adf90-79fe-46c2-b027-9eb1e76e7c7d>2014-07-31 06:27:03 +0000
commit8f5fd9b75e8c96b32b0a64d8e6c9c46542a5d7c5 (patch)
tree6007592c92c0fabd80538f59aa08a73540efd919
downloadllvm-toolchain-3.5-8f5fd9b75e8c96b32b0a64d8e6c9c46542a5d7c5.tar.gz
it is time to branch snapshot => 3.5
git-svn-id: svn://svn.debian.org/svn/pkg-llvm/llvm-toolchain/branches/3.5@1282 670adf90-79fe-46c2-b027-9eb1e76e7c7d
-rw-r--r--debian/README.source5
-rw-r--r--debian/TODO18
-rw-r--r--debian/changelog747
-rw-r--r--debian/clang-X.Y-doc.docs.in2
-rw-r--r--debian/clang-X.Y-doc.install.in3
-rw-r--r--debian/clang-X.Y-examples.examples.in1
-rw-r--r--debian/clang-X.Y.install.in27
-rw-r--r--debian/clang-X.Y.links.in15
-rw-r--r--debian/clang-X.Y.lintian-overrides.in4
-rw-r--r--debian/clang-X.Y.manpages.in6
-rw-r--r--debian/clang-X.Y.postinst.in31
-rw-r--r--debian/clang-X.Y.prerm.in14
-rw-r--r--debian/clang-format-X.Y.install.in5
-rw-r--r--debian/clang-format-X.Y.lintian-overrides.in4
-rw-r--r--debian/clang-format-X.Y.manpages.in2
-rw-r--r--debian/clang-modernize-X.Y.install.in2
-rw-r--r--debian/clang-modernize-X.Y.lintian-overrides.in2
-rw-r--r--debian/clang-modernize-X.Y.manpages.in1
-rw-r--r--debian/compat1
-rw-r--r--debian/control400
-rw-r--r--debian/copyright311
-rw-r--r--debian/debian_path.h16
-rw-r--r--debian/libclang-X.Y-dev.install.in12
-rw-r--r--debian/libclang-X.Y-dev.links.in3
-rw-r--r--debian/libclang-common-X.Y-dev.install.in6
-rw-r--r--debian/libclang-common-X.Y-dev.links.in7
-rw-r--r--debian/libclang1-X.Y.install.in3
-rw-r--r--debian/libclang1-X.Y.links.in2
-rw-r--r--debian/libclang1-X.Y.lintian-overrides.in2
-rw-r--r--debian/libclang1-X.Y.symbols.in302
-rw-r--r--debian/libllvm-X.Y-ocaml-dev.META.in63
-rw-r--r--debian/libllvm-X.Y-ocaml-dev.dirs.in2
-rw-r--r--debian/libllvm-X.Y-ocaml-dev.doc-base.in8
-rw-r--r--debian/libllvm-X.Y-ocaml-dev.install.in2
-rw-r--r--debian/libllvm-X.Y-ocaml-dev.lintian-overrides.in2
-rw-r--r--debian/libllvm3.4.links.in2
-rw-r--r--debian/libllvmX.Y.install.in1
-rw-r--r--debian/libllvmX.Y.links.in3
-rw-r--r--debian/libllvmX.Y.lintian-overrides.in2
-rw-r--r--debian/lldb-X.Y-dev.install.in2
-rw-r--r--debian/lldb-X.Y.install.in12
-rw-r--r--debian/lldb-X.Y.links.in13
-rw-r--r--debian/lldb-X.Y.lintian-overrides.in5
-rw-r--r--debian/lldb-X.Y.manpages.in2
-rw-r--r--debian/lldb-X.Y.postinst.in8
-rw-r--r--debian/llvm-X.Y-dev.dirs.in5
-rw-r--r--debian/llvm-X.Y-dev.install.in24
-rw-r--r--debian/llvm-X.Y-dev.links.in11
-rw-r--r--debian/llvm-X.Y-doc.dirs.in1
-rw-r--r--debian/llvm-X.Y-doc.install.in6
-rw-r--r--debian/llvm-X.Y-examples.dirs.in1
-rw-r--r--debian/llvm-X.Y-examples.examples.in1
-rw-r--r--debian/llvm-X.Y-examples.links.in3
-rw-r--r--debian/llvm-X.Y-runtime.binfmt.in3
-rw-r--r--debian/llvm-X.Y-runtime.install.in8
-rw-r--r--debian/llvm-X.Y-runtime.links.in1
-rw-r--r--debian/llvm-X.Y-runtime.manpages.in2
-rw-r--r--debian/llvm-X.Y-runtime.postinst.in9
-rw-r--r--debian/llvm-X.Y-runtime.prerm.in16
-rw-r--r--debian/llvm-X.Y-tools.dirs.in3
-rw-r--r--debian/llvm-X.Y-tools.install.in13
-rw-r--r--debian/llvm-X.Y.dirs.in3
-rw-r--r--debian/llvm-X.Y.install.in10
-rw-r--r--debian/llvm-X.Y.links.in1
-rw-r--r--debian/llvm-X.Y.lintian-overrides.in9
-rw-r--r--debian/llvm-X.Y.manpages.in10
-rw-r--r--debian/llvm-priv-dev.dirs1
-rw-r--r--debian/man/clang-format-diff-3.4.130
-rw-r--r--debian/man/cpp11-migrate-3.4.1256
-rwxr-xr-xdebian/orig-tar.sh139
-rw-r--r--debian/patches/0003-Debian-version-info-and-bugreport.patch15
-rw-r--r--debian/patches/0010-shared-lib-paths.patch38
-rw-r--r--debian/patches/0021-shared-lib-debian.patch26
-rw-r--r--debian/patches/0023-link-libopagent.patch33
-rw-r--r--debian/patches/0044-soname.diff13
-rw-r--r--debian/patches/0047-version-name.diff28
-rw-r--r--debian/patches/0050-powerpcspe-fp.diff101
-rw-r--r--debian/patches/18-soname.patch21
-rw-r--r--debian/patches/19-clang_debian_version.patch21
-rw-r--r--debian/patches/21-searchPathHeaders.diff16
-rw-r--r--debian/patches/23-strlcpy_strlcat_warning_removed.diff158
-rw-r--r--debian/patches/26-set-correct-float-abi.diff33
-rw-r--r--debian/patches/27-fix_clang_stdint.diff29
-rw-r--r--debian/patches/30-kfreebsd.diff28
-rw-r--r--debian/patches/31-powerpcspe.diff15
-rw-r--r--debian/patches/34-powerpc-no-altivec.diff24
-rw-r--r--debian/patches/atomic_library_1.diff45
-rw-r--r--debian/patches/atomic_library_2.diff42
-rw-r--r--debian/patches/clang-format-version.diff39
-rw-r--r--debian/patches/compiler-rt-path.diff13
-rw-r--r--debian/patches/declare_clear_cache.diff13
-rw-r--r--debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff54
-rw-r--r--debian/patches/disable-execinfo-usage.diff13
-rw-r--r--debian/patches/disabletestlldb.diff12
-rw-r--r--debian/patches/do-not-fail-on-unexpected-pass.diff13
-rw-r--r--debian/patches/fix-clang-path-and-build.diff13
-rw-r--r--debian/patches/fix-llvm-config-obj-src-root.patch16
-rw-r--r--debian/patches/follow-parallel-var.diff16
-rw-r--r--debian/patches/force-gcc-header-obj.diff16
-rw-r--r--debian/patches/force-link-pass.o.diff28
-rw-r--r--debian/patches/hurd-EIEIO-undef.diff14
-rw-r--r--debian/patches/hurd-pathmax.diff43
-rw-r--r--debian/patches/hurd.diff19
-rw-r--r--debian/patches/include-target.diff13
-rw-r--r--debian/patches/kfreebsd_ptrace_kludge.diff81
-rw-r--r--debian/patches/kfreebsd_v2.diff319
-rw-r--r--debian/patches/libstdc++-header-i386.diff16
-rw-r--r--debian/patches/lldb-__linux__-ftbfs-powerpc.patch54
-rw-r--r--debian/patches/lldb-kfreebsd.diff24
-rw-r--r--debian/patches/lldb-link-atomic.diff15
-rw-r--r--debian/patches/lldb-soname.diff21
-rw-r--r--debian/patches/profile_rt.diff21
-rw-r--r--debian/patches/python-clangpath.diff13
-rw-r--r--debian/patches/removeduplicatedeclaration.diff38
-rw-r--r--debian/patches/scan-build-clang-path.diff13
-rw-r--r--debian/patches/series44
-rw-r--r--debian/patches/silent-MCJIIT-tests.diff132
-rw-r--r--debian/patches/silent-more-tests.diff51
-rw-r--r--debian/patches/suffixsvn.diff26
-rw-r--r--debian/patches/unwind-chain-inclusion.diff39
-rw-r--r--debian/patches/use-deb-json.diff26
-rwxr-xr-xdebian/pollycc.in3
-rw-r--r--debian/prepare-new-release.sh17
-rw-r--r--debian/python-clang-X.Y.install.in1
-rwxr-xr-xdebian/rules453
-rw-r--r--debian/source/format1
-rw-r--r--debian/watch4
127 files changed, 5080 insertions, 0 deletions
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..deeb3f2
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,5 @@
+
+Repack of the snapshot release are done with orig-tar.sh which will checkout the sources.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>, Tue, 26 Feb 2013 14:57:56 +0100
+
diff --git a/debian/TODO b/debian/TODO
new file mode 100644
index 0000000..7fcc587
--- /dev/null
+++ b/debian/TODO
@@ -0,0 +1,18 @@
+* add the support of libclang in llvm default (for now, it is
+called libclang1-3.3.so)
+
+* add a symbol file for libclang.so in llvm default
+
+* check if we should use alternatives
+
+* remove of clang & llvm 3.2
+
+* look at the bugs of llvm 3.2
+
+* move the header at the right place in libclang-dev
+
+* bootstrap of clang with itself
+
+* update of the soname
+
+* man page for clang-format
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..d7dc82d
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,747 @@
+llvm-toolchain-3.5 (1:3.5~+rc1-2) unstable; urgency=medium
+
+ * Sync with 3.4 svn to retrieve some changes:
+ * Replace $(CURDIR)/debian/tmp by a variable
+ * Move the polly installation in the dh_auto_install rules instead
+ of using *.install files. In llvm.org/apt/, I have to sometime disable
+ polly
+ * hurd-EIEIO-undef.diff: try to undef an errno.h to fix the ftbfs
+ * clang-X suggests clang-X-doc (Closes: #755922)
+ * Manage all files using .in mecanism. It will simplify the upgrade of
+ version
+ * Disable lldb for ppc64el. Thanks to Dimitri John Ledkov (Closes: #756380)
+ * Fix the FTBFS under PowerPC. Thanks to Dimitri John Ledkov for the patch
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Thu, 24 Jul 2014 11:42:56 +0200
+
+llvm-toolchain-3.5 (1:3.5~+rc1-1) unstable; urgency=medium
+
+ * First RC release of the 3.5 llvm toolchain
+ * Apply lldb-kfreebsd.diff patch to fix FTBFS under KFreeBSD
+ Thanks to Ed Maste
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 23 Jul 2014 08:57:59 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn213451-1) unstable; urgency=medium
+
+ * New snapshot release
+ * If the version of gcc is too old, force the usage of gcc 4.8
+ * Clang will now show the full version. Example: 3.5.0-svn213052-1~exp1
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Sat, 19 Jul 2014 15:27:11 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn211669-2) unstable; urgency=medium
+
+ * Remove useless dependency on g++
+ * Use the option stable '-analyzer-config stable-report-filename=true'
+ to the llvm scan-build reports
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Sun, 29 Jun 2014 19:13:05 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn211669-1) unstable; urgency=medium
+
+ * New snapshot release
+ * Fix CVE-2014-2893 (Closes: #744817)
+ * Merge with 3.4/debian
+ * 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 <sylvestre@debian.org> Wed, 25 Jun 2014 07:58:03 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn209039-2) unstable; urgency=medium
+
+ * Provide a link as compatibility with previous lib name (Closes: #748569)
+ * Be less permissive when installing lldb. Remove duplication of the install
+ of liblldb.so.1
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Sun, 18 May 2014 20:01:40 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn209039-1) unstable; urgency=medium
+
+ * New snapshot release
+ * Fix the cmake install patch
+ * Disable profile_rt.diff for now
+ * Refresh of libclang1-3.5.symbols
+ * Fix path to /usr/lib/clang/3.5.0/ (Closes upstream #19088)
+ * Fix the wrong dependency declaration on llvm-3.5-tools
+ * Add gnustep & gnustep-devel as suggests of clang-3.5
+ * Add libc6-dev as an explicit dependency of clang-3.5
+ * Build with dh_install --fail-missing
+ * Start to use /usr/bin/foo-X.Y. First step to have several clang versions
+ installed together
+ * Add some missing files:
+ - lli-child-target - llvm-3.5-runtime
+ - count - llvm-3.5-tools
+ - html.tar.gz - llvm-3.5-doc
+ - ocamldoc.tar.gz - llvm-3.5-doc
+ - BugpointPasses.so - llvm-3.5-dev
+ - liblldb* - lldb-3.5-dev
+ - clang-apply-replacements - clang-3.5
+ - clang-tidy - clang-3.5
+ - clang-query - clang-3.5
+ - pp-trace - clang-3.5
+ - lldb-platform - lldb-3.5
+ - lldb-gdbserver - lldb-3.5
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Fri, 16 May 2014 23:23:50 +0200
+
+llvm-toolchain-3.4 (1:3.4.2-2) unstable; urgency=medium
+
+ * Improve the CVE-2014-2893 fix (Closes: #744817)
+ * Add a check to avoid an error on arch where compiler-rt is not available
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Mon, 16 Jun 2014 23:00:47 +0200
+
+llvm-toolchain-3.4 (1:3.4.2-1) unstable; urgency=medium
+
+ * New upstream release
+ * Add build conflict on libllvm-3.5-ocaml-dev
+ * 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)
+ * Fixes CVE-2014-2893 (Closes: #744817)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Fri, 06 Jun 2014 15:55:57 +0200
+
+llvm-toolchain-3.4 (1:3.4.1-4) unstable; urgency=medium
+
+ * Be less permissive when installing lldb. Remove duplication of the install
+ of liblldb.so.1
+ * Add symlinks lldb-3.4, lldb-platform-3.4 & lldb-gdbserver-3.4 without 3.4
+ * Clang was unusable with libstdc++ from gcc 4.9 (Closes: #744792)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Sun, 18 May 2014 20:18:19 +0200
+
+llvm-toolchain-3.4 (1:3.4.1-3) unstable; urgency=medium
+
+ * Fix path for arch without support of compiler-rt. Should fix most of the
+ FTBFS
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Fri, 16 May 2014 15:27:37 +0200
+
+llvm-toolchain-3.4 (1:3.4.1-2) unstable; urgency=medium
+
+ * Fix the soname. No changes in the ABI, so, no need to update the soname
+ (Closes: #747701)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Sun, 11 May 2014 17:29:22 +0200
+
+llvm-toolchain-3.4 (1:3.4.1-1) unstable; urgency=medium
+
+ * New upstream release. Note that only LLVM & Clang had a new release.
+ I just copied the 3.4 tarballs for clang-extra-tools, polly, lldb and
+ compiler-rt.
+ * Symlink for current build mode missing (Closes upstream #18836)
+ * Add link usr/lib/llvm-3.4/ to usr/lib/llvm-3.4/build/Debug+Asserts
+ * Backport of a r201586 from upstream. scan-build was failing on some project
+ like firefox build system. (Yeh, advantage to be the packager of a software
+ that I use ;) ). See scan-build-fix-clang-detection.diff
+ * Fix the version in the symbol list (libclang1-3.4.symbols)
+ * Update the path regarding upstream changed (3.4 => 3.4.1)
+ (Patch improved also by Martin Nowack)
+ * Remove generated file libllvm3.4.install
+ * Add gnustep & gnustep-devel as suggests of clang-3.4
+ * Add libc6-dev as an explicit dependency of clang-3.4
+ * Build with dh_install --fail-missing
+ * Start to use /usr/bin/foo-X.Y. First step to have several clang versions
+ installed together
+ * Add some missing files:
+ - lli-child-target - llvm-3.4-runtime
+ - count - llvm-3.4-tools
+ - html.tar.gz - llvm-3.4-doc
+ - ocamldoc.tar.gz - llvm-3.4-doc
+ - BugpointPasses.so - llvm-3.4-dev
+ - liblldb* - lldb-3.4-dev
+ - lldb-platform-3.4 - lldb-3.4
+ - clang-apply-replacements - clang-3.4
+ - clang-tidy - clang-3.4
+ - pp-trace - clang-3.4
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Fri, 09 May 2014 19:57:33 +0200
+
+llvm-toolchain-snapshot (1:3.5~svn200375-1) unstable; urgency=medium
+
+ * New snapshot release
+ * polly unnopstream is now using the isl trunk. Disabling it for now.
+ * Only explicit the link against atomic when running mips & mipsel
+ * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365
+ * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot
+ packages and it should be the norm now...
+
+ [ Martin Nowack ]
+ * Fixed build directory for llvm-config
+ * Add Unittests for running tests for llvm-based projects
+ * Install FileCheck and not for testing
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 29 Jan 2014 07:36:29 -0800
+
+llvm-toolchain-snapshot (1:3.5~svn199601-1) unstable; urgency=low
+
+ * New snapshot release
+ * Update clang-format declaration from 3.4 => 3.5. Closes upstream bug #18451
+ * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365
+ * Force gcc 4.8. LLVM & Co are now in C++ 11.
+ * Also make clang-3.5 breaks/replaces clang. Conflicts on
+ /usr/share/clang/scan-view/ScanView.py (Closes: #730266)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 15 Jan 2014 15:08:03 +0100
+
+llvm-toolchain-snapshot (1:3.5~svn197556-1) unstable; urgency=low
+
+ * New snapshot release
+ * Merge changes from 1:3.4~+rc3-1
+ * Disable much of the display of the lldb display
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Tue, 17 Dec 2013 12:02:52 +0100
+
+llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low
+
+ * Sync from 3.4~+rc2-1
+ * Make lldb 3.5 also conflict with 3.4 (Closes: #730163)
+ * Make python-clang 3.5 also conflict with 3.4 (Closes: #730164)
+ * Fix a FTBFS with clang
+ * Refresh the /usr/include/clang mess
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Tue, 10 Dec 2013 09:57:15 +0100
+
+llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low
+
+ * Switch from 3.4 to 3.5
+ * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch
+ Useless now and missleading
+ * Standards-Version updated to 3.9.5
+ * kfreebsd.diff remove (applied upstream)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 20 Nov 2013 21:24:28 +0100
+
+llvm-toolchain-3.4 (1:3.4-2) unstable; urgency=medium
+
+ * Only explicit the link against atomic when running mips & mipsel
+ * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365
+ * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot
+ packages and it should be the norm now...
+ * Introduce llvm-3.4-tools to contain the new files needed by Martin
+
+ [ Matthias Klose ]
+ * Disable the lldb build for AArch64.
+ * Don't run the lldb tests on armhf (time out on the buildd).
+
+ [ Martin Nowack ]
+ * Fixed build directory for llvm-config
+ * Add Unittests for running tests for llvm-based projects
+ * Install FileCheck and not for testing
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Tue, 11 Feb 2014 11:19:21 +0100
+
+llvm-toolchain-3.4 (1:3.4-1) unstable; urgency=medium
+
+ * New upstream release
+ * Remove explicit dep on gcc 4.8
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Fri, 20 Dec 2013 18:36:58 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu4) trusty; urgency=medium
+
+ * Rebuild for ocaml-4.01.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 23 Dec 2013 12:11:17 +0000
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu3) trusty; urgency=low
+
+ * Bring over Ubuntu changes from 3.3:
+ - Revert to using the static copy of libjsoncpp, since the shared
+ library lacks sane versioning, and this is only a few thousand
+ lines of cargo-culted code from a reasonably stagnant upstream.
+ - Drop lcov build-dep to avoid pulling it into main, due to its
+ being fundamentally incompatibe with our newer GCC versions.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 20 Dec 2013 12:59:01 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu2) trusty; urgency=low
+
+ * Don't run the lldb tests on armhf (time out on the buildd).
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 18 Dec 2013 12:29:56 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu1) trusty; urgency=low
+
+ * Disable the lldb build for AArch64.
+ * Build-depend on gcc-multilib on amd64 and i386.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 17 Dec 2013 18:44:50 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc3-1) unstable; urgency=low
+
+ * New testing upstream release
+ * Relative call in the chroot without proc failed.
+ See: fix-an-issue-in-chroot-witout-proc.diff
+ * Bring back lldb-link-atomic.diff to make sure lldb builds under
+ powerpc
+ * Also limit the number of archs for liblldb-dev
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Tue, 17 Dec 2013 11:27:40 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc2-3) unstable; urgency=low
+
+ * Fix the bad declaration on the lldb desactivation
+ * Also disable lldb under powerpc
+ * Hopefully, fix lldb under Kfreebsd-* (thanks to Ed Maste if it works)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 04 Dec 2013 23:53:49 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc2-2) unstable; urgency=low
+
+ * Add the Ocaml ABI dependency (Closes: #731344)
+ * Disable LLDB also for ia64, mips & mipsel
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 04 Dec 2013 15:37:39 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc2-1) unstable; urgency=low
+
+ * New testing upstream release
+ * 0047-version-name.diff ocamldoc.diff removed (applied upstream)
+ * r600 is now compiled by default (remove the configure arg)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Tue, 03 Dec 2013 10:25:59 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc1-3) unstable; urgency=low
+
+ * Remove the usage of --with-c-include-dirs, --with-cxx-include-root,
+ --with-cxx-include-arch and --with-cxx-include-64bit-dir
+ It was blocking the automatic detection of the path of clang.
+ In particular in the context of the usage of -target.
+ However, it does not completely fix the detection of the i386 C++ path.
+ See the next item.
+ (Closes: #729933)
+ * Bring back the path to libstdc++ under i386. Still not fixed upstream
+ (Closes: #730857)
+ * Define also MAXPATHLEN in Path.inc for HURD.
+ * Silent the trillion of warnings in the LLDB Python wrapper (swig generated)
+ See silent-swig-warning.diff
+ * Silent some i386 tests failing (it is expected)
+ See silent-MCJIIT-tests.diff
+ * Make lldb 3.4 also conflict with 3.5 (Closes: #730163)
+ * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164)
+ * Port LLVM to mips64el. Thanks to YunQiang Su. Initially done for
+ 3.3 and ported on the 3.4 (Closes: #730808)
+ * If we get an unexpected pass, do not break the tests
+ do-not-fail-on-unexpected-pass.diff (I am disabling some tests)
+ * Fix the path detection of the objective h headers.
+ * Also add usr/lib/llvm-3.4/lib/clang/3.4/include =>
+ usr/lib/clang/3.4/include symlink to simplify the path detection
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Sun, 01 Dec 2013 17:49:46 +0100
+
+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
+ (also remove the tests)
+ * Make lldb 3.4 also conflict with 3.5 (Closes: #730163)
+ * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164)
+ * Remove usr/lib/llvm-3.4/build/autoconf/LICENSE.TXT
+ * silent warning "manpage-has-useless-whatis-entry" in lldb-3.4
+ * silent warning "package-name-doesnt-match-sonames libclang1"
+ * Refresh patch kfreebsd_v2.diff to, maybe, fix lldb build under kfreebsd.
+ Thanks to Ed Maste for the patch.
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Tue, 26 Nov 2013 18:32:49 +0100
+
+llvm-toolchain-3.4 (1:3.4~+rc1-1) unstable; urgency=low
+
+ * New testing upstream release
+ * kfreebsd.diff removed. Applied upstream
+ * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch
+ Useless now and missleading
+ * Branch from llvm-toolchain-snapshot
+ * Standards-Version updated to 3.9.5
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 20 Nov 2013 21:24:28 +0100
+
+llvm-toolchain-snapshot (1:3.4~svn194079-1) unstable; urgency=low
+
+ * New snapshot release
+ * Also install clang 3.4 examples (clang-3.4-examples) (Closes: #728260)
+ * Move c-index-test* from llvm-3.4 => clang-3.4. It was triggering an
+ unnecessary dependency from llvm-3.4 to libclang
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Fri, 01 Nov 2013 05:19:55 +0100
+
+llvm-toolchain-snapshot (1:3.4~svn193628-1) unstable; urgency=low
+
+ * New snapshot release
+ - Fix the scan-build warning (Closes: #725332)
+ * Merge changes from the 3.3 branch (see 1:3.3-12)
+ * Add lldb-3.4-dev package
+ * Remove mipsel-ftbfs.diff (applied upstream)
+ * Add support of coverity checker (non-free and not packaged)
+ * libprofile_rt and runtime has been removed upstream (r191835)
+ Features are provided by compiler-rt
+ * Update the build dependency from tcl8.5 to tcl (Closes: #725954)
+ * clang-modernize-3.4 was not coinstallable with clang 3.4
+ (Closes: #724245)
+ * The package wasn't cleaned correctly (Closes: #722155)
+ * libtinfo-dev is now a dependency of llvm-3.4-dev (Closes: #727129)
+ * Install libclang.so in /usr/lib/*/libclang-3.4.so
+ * Install libclang.so.1 in /usr/lib/*/libclang-3.4.so.1
+ * Also ship the python clang binding (python-clang-3.4)
+ * Enable polly if the dependencies are OK (only Debian unstable for now)
+ * Bring back /usr/lib/llvm-3.4/lib/libclang.so (libclang-3.4-dev) and
+ /usr/lib/llvm-3.4/lib/libclang.so.1 (libclang1-3.4)
+ * Honor the option "nocheck"
+ * Disable the build of lldb under HURD
+ * Ship the lldb headers into lldb-X.Y-dev (Closes: #723743)
+ I might create a liblldb-X.Y library at some point but I think it is too
+ early.
+ * Update the build dependency from tcl8.5 to tcl (Closes: #725953)
+ * Update of the clang descriptions (Closes: #727684)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Tue, 29 Oct 2013 17:56:18 +0100
+
+llvm-toolchain-snapshot (1:3.4~svn190846-1) unstable; urgency=low
+
+ * New snapshot release
+ * Merge changes from the 3.3 branch (see 1:3.3-9)
+ * Remove ia64-fix.diff (applied upstream)
+ * cpp11-migrate renamed to clang-modernize
+ * lldb-3.4 is back to Architectures: any
+ * Patch lldb-hurd.diff removed (applied upstream)
+ * Directory www/ from tarballs polly & lldb removed
+ * Update of the description of LLVM packages
+ (LLVM no longer mean Low Level Virtual Machine)
+
+ [ Luca Falavigna ]
+ * debian/control:
+ - Add llvm-3.4-dev to lldb-3.4 Depends field.
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Thu, 05 Sep 2013 12:04:35 +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
+
+ * debhelper version 9.20130720 fails on the call to dh_auto_clean
+ Remove it. It was anyway useless.
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Thu, 22 Aug 2013 14:28:25 +0200
+
+llvm-toolchain-3.3 (1:3.3-6) unstable; urgency=low
+
+ * Fix the FTBFS under hurd and KFreeBSD
+ * Do not remove all *.o in tests. Some of them are from upstream source
+ tarball. Thanks to Maarten Lankhorst for the fix.
+ * Fix the lintian error 'lldb-3.3: postinst-must-call-ldconfig'
+ * Add the manpages of clang-format-3.3
+ * Overrides the manpages warnings
+ * Also apply unwind-chain-inclusion.diff from the snapshot branch to make sure
+ we can build the package locally even if libclang-dev is installed
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Thu, 22 Aug 2013 09:01:04 +0200
+
+llvm-toolchain-3.3 (1:3.3-5) unstable; urgency=low
+
+ * Install llvm-c headers also in usr/include/llvm-3.3/llvm-c
+ * Fix the FTBFS under mips & mipsel
+ * Refresh of the kfreebsd i386 patch
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 07 Aug 2013 13:12:23 +0200
+
+llvm-toolchain-3.3 (1:3.3-4) unstable; urgency=low
+
+ * Use the static library libjsoncpp.a instead of the ship library in polly
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Sun, 11 Aug 2013 09:54:17 +0200
+
+llvm-toolchain-snapshot (1:3.4~svn185325-1) unstable; urgency=low
+
+ * binutils-gold no longer exists. Use -fuse-ld=gold instead.
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Thu, 01 Aug 2013 14:06:38 +0200
+
+llvm-toolchain-snapshot (1:3.3-2) unstable; urgency=low
+
+ * Fix warning python-script-but-no-python-dep on clang-format-X.Y
+ * manpages are generated during build time (simplifies maintenance)
+ * Fix duplicate underscore.js and jquery.js
+ * Move libjs-jquery & libjs-underscore dependencies to llvm-X.Y-doc
+ * Add lldb-X.Y manpage
+ * Hopefully fix the ftbfs under mipsel (mipsel-ftbfs.diff)
+ * 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"
+
+ [ Léo Cavaillé ]
+ * Add patch to find correctly LLVMGold.so with -O4 (Closes: #712437)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Thu, 20 Jun 2013 15:39:11 +0200
+
+llvm-toolchain-snapshot (1:3.4~svn184294-1~exp1) experimental; urgency=low
+
+ * New snapshot release
+ * Improve some scripts and fix cpp11-migrate install from
+ clang-tools-extra.
+ * Fix "versionless" clang manpages install.
+ * Fix Toolchain patch from change of scope (add namespaces).
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 19 Jun 2013 14:20:12 +0200
+
+llvm-toolchain-snapshot (1:3.4~svn183914-1) unstable; urgency=low
+
+ * New snapshot release
+ * Upload to unstable (will be blocked by a RC bug)
+ * Sync changes from llvm-toolchain-3.3:
+ - Introduce cpp11-migrate-3.4 and clang-format-3.4
+ - Install the vim llvm script at the right place
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Thu, 13 Jun 2013 18:47:08 +0200
+
+llvm-toolchain-snapshot (1:3.4~svn182733-1~exp1) experimental; urgency=low
+
+ * New snapshot release (3.4 release)
+ * Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so
+ to fix make the llvm-config-3.4 --libdir work (Closes: #708677)
+ * Various packages rename to allow co installations:
+ * libclang1 => libclang1-3.4
+ * libclang1-dbg => libclang1-3.4-dbg
+ * libclang-dev => libclang-3.4-dev
+ * libclang-common-dev => libclang-common-3.4-dev
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Mon, 27 May 2013 15:01:57 +0200
+
+llvm-toolchain-snapshot (1:3.3~svn179851-1~exp1) experimental; urgency=low
+
+ * Draft of a snapshot release (3.3)
+ * Enable r600 experimental backend
+ * Improve the dependencies:
+ * clang-3.3 depends on the exact same libllvm3.3 release
+ * idem for lldb-3.3
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Fri, 19 Apr 2013 09:31:38 +0200
+
+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.
+ See: http://allievi.sssup.it/techblog/?p=791
+ * Detect the vendor (Debian or Ubuntu) and update the configuration
+ * Port to powerpcspe. Thanks to Roland Stigge (Closes: #701587)
+ See: 31-powerpcspe.diff
+ * Fix the path detection of scan-build (Closes: #698352)
+ 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
+
+llvm-toolchain-3.2 (1:3.2repack-1~exp3) experimental; urgency=low
+
+ * Remove package "clang". It is now provided by llvm-defaults.
+ * Fix some issues relative to the epoch change
+ * Fix a wrong path in the _lldb.so Python symlink
+ * Install cmake files to build LLVM extensions (Closes: #701153)
+ * Remove the embedded copy of libjs-jquery (Closes: #701087)
+ * Fix the install of lli manpage (Closes: #697117)
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Sun, 17 Feb 2013 12:05:15 +0100
+
+llvm-toolchain-3.2 (1:3.2repack-1~exp2) experimental; urgency=low
+
+ * Install the python files for lldb. Thanks to Daniel Malea for spotting this.
+ * Update of the clean target
+ * Introduce an epoch to match the changes in bug #699899
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Wed, 13 Feb 2013 12:22:30 +0100
+
+llvm-toolchain-3.2 (3.2repack-1~exp1) experimental; urgency=low
+
+ * Build the whole LLVM toolchain at once. This includes:
+ - LLVM
+ - Clang
+ - compiler-rt
+ - lldb
+ - polly
+ * Also install clang-check & clang-tblgen in the clang-3.2 package
+ * Fix the patch detection of clang from scan-build (Closes: #698352)
+ * debian/patches/0050-powerpcspe-fp.diff: Add, hopefully fix FTBFS on
+ powerpcspe, by disabling save / restore of floating point registers which
+ don't exist on powerpcspe. Thanks to Roland Stigge for the patch.
+ (Closes: #696474)
+ * libLLVM-3.2.so.1 is now shipped only once (Closes: #696913)
+ * Enable RTTI (Closes: #697754)
+ * Introduce lldb as a new package (Closes: #698601)
+ * Add a script pollycc which will call clang with the right arguments.
+ * Use __builtin___clear_cache on ARM to fix a clang bug.
+ Thanks to Matthias Klose.
+
+ -- Sylvestre Ledru <sylvestre@debian.org> Sat, 09 Feb 2013 12:14:10 +0100
diff --git a/debian/clang-X.Y-doc.docs.in b/debian/clang-X.Y-doc.docs.in
new file mode 100644
index 0000000..b3cc6a0
--- /dev/null
+++ b/debian/clang-X.Y-doc.docs.in
@@ -0,0 +1,2 @@
+tools/clang/docs/_build/html/
+
diff --git a/debian/clang-X.Y-doc.install.in b/debian/clang-X.Y-doc.install.in
new file mode 100644
index 0000000..877ca59
--- /dev/null
+++ b/debian/clang-X.Y-doc.install.in
@@ -0,0 +1,3 @@
+usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/clang/manpage.css
+usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/clang/clang.html
+usr/lib/llvm-@LLVM_VERSION@/docs/llvm/ps/clang.ps
diff --git a/debian/clang-X.Y-examples.examples.in b/debian/clang-X.Y-examples.examples.in
new file mode 100644
index 0000000..49cbc5f
--- /dev/null
+++ b/debian/clang-X.Y-examples.examples.in
@@ -0,0 +1 @@
+clang/examples/*
diff --git a/debian/clang-X.Y.install.in b/debian/clang-X.Y.install.in
new file mode 100644
index 0000000..3c9bce7
--- /dev/null
+++ b/debian/clang-X.Y.install.in
@@ -0,0 +1,27 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/clang
+usr/lib/llvm-@LLVM_VERSION@/bin/clang++
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-check
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-tblgen
+usr/lib/llvm-@LLVM_VERSION@/bin/c-index-test
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-apply-replacements
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-tidy
+usr/lib/llvm-@LLVM_VERSION@/bin/pp-trace
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-query
+
+usr/bin/c-index-test*
+tools/clang/tools/scan-build /usr/share/clang/
+tools/clang/tools/scan-view /usr/share/clang/
+#usr/share/man/man1/clang.1 usr/share/man/man1/
+debian/pollycc /usr/bin/
+
+usr/bin/clang-@LLVM_VERSION@
+usr/bin/clang++-@LLVM_VERSION@
+usr/bin/clang-check-@LLVM_VERSION@
+usr/bin/clang-tblgen-@LLVM_VERSION@
+usr/bin/c-index-test-@LLVM_VERSION@
+usr/bin/clang-apply-replacements-@LLVM_VERSION@
+usr/bin/clang-tidy-@LLVM_VERSION@
+usr/bin/pp-trace-@LLVM_VERSION@
+usr/bin/clang-query-@LLVM_VERSION@
+
+usr/lib/llvm-@LLVM_VERSION@/share/man/man1/clang.1
diff --git a/debian/clang-X.Y.links.in b/debian/clang-X.Y.links.in
new file mode 100644
index 0000000..2599ba3
--- /dev/null
+++ b/debian/clang-X.Y.links.in
@@ -0,0 +1,15 @@
+usr/share/man/man1/clang-@LLVM_VERSION@.1.gz usr/share/man/man1/llvm-clang.1.gz
+usr/share/man/man1/clang-@LLVM_VERSION@.1.gz usr/share/man/man1/clang++.1.gz
+/usr/share/clang/scan-build/scan-build /usr/bin/scan-build
+/usr/share/clang/scan-view/scan-view /usr/bin/scan-view
+/usr/bin/clang /usr/bin/llvm-clang
+
+usr/bin/clang-@LLVM_VERSION@ usr/bin/clang
+usr/bin/clang++-@LLVM_VERSION@ usr/bin/clang++
+usr/bin/clang-check-@LLVM_VERSION@ usr/bin/clang-check
+usr/bin/clang-tblgen-@LLVM_VERSION@ usr/bin/clang-tblgen
+usr/bin/c-index-test-@LLVM_VERSION@ usr/bin/c-index-test
+usr/bin/clang-apply-replacements-@LLVM_VERSION@ usr/bin/clang-apply-replacements
+usr/bin/clang-tidy-@LLVM_VERSION@ usr/bin/clang-tidy
+usr/bin/pp-trace-@LLVM_VERSION@ usr/bin/pp-trace
+usr/bin/clang-query-@LLVM_VERSION@ usr/bin/clang-query
diff --git a/debian/clang-X.Y.lintian-overrides.in b/debian/clang-X.Y.lintian-overrides.in
new file mode 100644
index 0000000..52efa24
--- /dev/null
+++ b/debian/clang-X.Y.lintian-overrides.in
@@ -0,0 +1,4 @@
+# I know but well...
+clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-check.1.gz
+clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-tblgen.1.gz
+clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/scan-view.1.gz
diff --git a/debian/clang-X.Y.manpages.in b/debian/clang-X.Y.manpages.in
new file mode 100644
index 0000000..d1b6df0
--- /dev/null
+++ b/debian/clang-X.Y.manpages.in
@@ -0,0 +1,6 @@
+build-llvm/tools/clang/docs/tools/clang.1
+clang/tools/scan-build/scan-build.1
+debian/man/clang-check.1
+debian/man/clang-tblgen.1
+debian/man/scan-view.1
+
diff --git a/debian/clang-X.Y.postinst.in b/debian/clang-X.Y.postinst.in
new file mode 100644
index 0000000..64ae9fa
--- /dev/null
+++ b/debian/clang-X.Y.postinst.in
@@ -0,0 +1,31 @@
+#! /bin/sh -e
+
+prio=10
+
+update-alternatives --quiet \
+ --install /usr/bin/c++ \
+ c++ \
+ /usr/bin/clang++ \
+ $prio
+
+update-alternatives --quiet \
+ --install /usr/bin/cc \
+ cc \
+ /usr/bin/clang \
+ $prio
+
+update-alternatives --quiet \
+ --install /usr/bin/c89 \
+ c89 \
+ /usr/bin/clang \
+ $prio
+
+update-alternatives --quiet \
+ --install /usr/bin/c99 \
+ c99 \
+ /usr/bin/clang \
+ $prio
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/clang-X.Y.prerm.in b/debian/clang-X.Y.prerm.in
new file mode 100644
index 0000000..46ceec8
--- /dev/null
+++ b/debian/clang-X.Y.prerm.in
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
+ update-alternatives --quiet --remove cc /usr/bin/clang
+ update-alternatives --quiet --remove c89 /usr/bin/clang
+ update-alternatives --quiet --remove c99 /usr/bin/clang
+ update-alternatives --quiet --remove c++ /usr/bin/clang++
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/clang-format-X.Y.install.in b/debian/clang-format-X.Y.install.in
new file mode 100644
index 0000000..8e96840
--- /dev/null
+++ b/debian/clang-format-X.Y.install.in
@@ -0,0 +1,5 @@
+clang/tools/clang-format/clang-format-@LLVM_VERSION@.py usr/share/vim/addons/syntax/
+clang/tools/clang-format/clang-format-diff-@LLVM_VERSION@ /usr/bin/
+clang/tools/clang-format/clang-format.el usr/share/emacs/site-lisp/clang-format-@LLVM_VERSION@/
+usr/bin/clang-format-@LLVM_VERSION@
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-format
diff --git a/debian/clang-format-X.Y.lintian-overrides.in b/debian/clang-format-X.Y.lintian-overrides.in
new file mode 100644
index 0000000..aa78679
--- /dev/null
+++ b/debian/clang-format-X.Y.lintian-overrides.in
@@ -0,0 +1,4 @@
+# I know but well...
+clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-format-diff-@LLVM_VERSION@.1.gz
+clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-format-@LLVM_VERSION@.1.gz
+
diff --git a/debian/clang-format-X.Y.manpages.in b/debian/clang-format-X.Y.manpages.in
new file mode 100644
index 0000000..a073eda
--- /dev/null
+++ b/debian/clang-format-X.Y.manpages.in
@@ -0,0 +1,2 @@
+debian/man/clang-format-diff-@LLVM_VERSION@.1
+
diff --git a/debian/clang-modernize-X.Y.install.in b/debian/clang-modernize-X.Y.install.in
new file mode 100644
index 0000000..3400bb6
--- /dev/null
+++ b/debian/clang-modernize-X.Y.install.in
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/clang-modernize
+usr/bin/clang-modernize-@LLVM_VERSION@
diff --git a/debian/clang-modernize-X.Y.lintian-overrides.in b/debian/clang-modernize-X.Y.lintian-overrides.in
new file mode 100644
index 0000000..bbb307e
--- /dev/null
+++ b/debian/clang-modernize-X.Y.lintian-overrides.in
@@ -0,0 +1,2 @@
+# I know but well...
+clang-modernize-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-modernize-@LLVM_VERSION@.1.gz
diff --git a/debian/clang-modernize-X.Y.manpages.in b/debian/clang-modernize-X.Y.manpages.in
new file mode 100644
index 0000000..bff3712
--- /dev/null
+++ b/debian/clang-modernize-X.Y.manpages.in
@@ -0,0 +1 @@
+debian/man/clang-modernize-@LLVM_VERSION@.1
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..fe63dc5
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,400 @@
+Source: llvm-toolchain-3.5
+Section: devel
+Priority: optional
+Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
+Uploaders: Sylvestre Ledru <sylvestre@debian.org>
+Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect,
+ autoconf, automake, perl, libtool, doxygen, chrpath, texinfo,
+ sharutils, autotools-dev (>= 20060702.1), libffi-dev (>= 3.0.9),
+ 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
+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/
+Vcs-Browser: http://svn.debian.org/viewsvn/pkg-llvm/llvm-toolchain/branches/snapshot/
+
+# ------------- clang -------------
+
+Package: clang-3.5
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
+ libclang-common-3.5-dev (= ${binary:Version}),
+ libclang1-3.5 (= ${binary:Version}), libc6-dev
+Provides: c-compiler, objc-compiler, c++-compiler
+Recommends: llvm-3.5-dev, python
+Suggests: gnustep, gnustep-devel, clang-3.5-doc
+Replaces: clang, clang-3.1, clang-3.2, clang-3.3, clang-3.4, compiler-rt
+Breaks: clang, clang-3.1, clang-3.2, clang-3.3, clang-3.4, compiler-rt
+Description: C, C++ and Objective-C compiler (LLVM based)
+ Clang project is a C, C++, Objective C and Objective C++ front-end
+ for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
+ Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998 and 2001 standards and also provides
+ a partial support of C++1y.
+
+Package: clang-format-3.5
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python
+Replaces: clang-format-3.3
+Breaks: clang-format-3.3
+Description: Tool to format C/C++/Obj-C code
+ Clang-format is both a library and a stand-alone tool with the goal of
+ automatically reformatting C++ sources files according to configurable
+ style guides. To do so, clang-format uses Clang's Lexer to transform an
+ input file into a token stream and then changes all the whitespace around
+ those tokens. The goal is for clang-format to both serve both as a user
+ tool (ideally with powerful IDE integrations) and part of other
+ refactoring tools, e.g. to do a reformatting of all the lines changed
+ during a renaming.
+ .
+ This package also provides vim and emacs plugins.
+
+Package: cpp11-migrate-3.5
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, clang-modernize-3.5
+Replaces: cpp11-migrate-3.3
+Breaks: cpp11-migrate-3.3
+Description: Tool to convert C++98 and C++03 code to C++11
+ The purpose of the C++11 Migrator is to do source-to-source translation to
+ migrate existing C++ code to use C++11 features to enhance
+ maintainability, readability, runtime performance, and compile-time
+ performance. Development is still early and transforms fall mostly into
+ the first two categories. The migrator is based on Clang's LibTooling and
+ the AST Matching library.
+ .
+ This is a transitional dummy package. It can safely be removed.
+
+Package: clang-modernize-3.5
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, clang-3.5
+Replaces: cpp11-migrate-3.3, cpp11-migrate-3.4
+Breaks: cpp11-migrate-3.3, cpp11-migrate-3.4
+Description: Tool to convert C++98 and C++03 code to C++11
+ The purpose of the C++11 Migrator is to do source-to-source translation to
+ migrate existing C++ code to use C++11 features to enhance
+ maintainability, readability, runtime performance, and compile-time
+ performance. Development is still early and transforms fall mostly into
+ the first two categories. The migrator is based on Clang's LibTooling and
+ the AST Matching library.
+
+
+Package: clang-3.5-doc
+Architecture: all
+Section: doc
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: C, C++ and Objective-C compiler (LLVM based) - Documentation
+ Clang project is a C, C++, Objective C and Objective C++ front-end
+ for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
+ Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998 and 2001 standards and also provides
+ a partial support of C++1y.
+ .
+ This package contains the documentation.
+
+Package: libclang1-3.5
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: C interface to the clang library
+ Clang project is a C, C++, Objective C and Objective C++ front-end
+ for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
+ Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998 and 2001 standards and also provides
+ a partial support of C++1y.
+ .
+ This package contains the clang library.
+ .
+ The C Interface to Clang provides a relatively small API that exposes
+ facilities for parsing source code into an abstract syntax tree (AST),
+ loading already-parsed ASTs, traversing the AST, associating physical source
+ locations with elements within the AST, and other facilities that support
+ Clang-based development tools.
+
+Package: libclang1-3.5-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libclang1-3.5
+Description: clang library
+ Clang project is a C, C++, Objective C and Objective C++ front-end
+ for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
+ Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998 and 2001 standards and also provides
+ a partial support of C++1y.
+ .
+ This package contains the debugging symbols.
+
+Package: libclang-3.5-dev
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
+ libclang1-3.5 (= ${binary:Version}), libclang-common-3.5-dev (= ${binary:Version})
+Description: clang library - Development package
+ Clang project is a C, C++, Objective C and Objective C++ front-end
+ for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
+ Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998 and 2001 standards and also provides
+ a partial support of C++1y.
+ .
+ This package contains the clang headers to develop extensions over
+ libclang1-3.5.
+
+Package: libclang-common-3.5-dev
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.5 (= ${binary:Version})
+Description: clang library - Common development package
+ Clang project is a C, C++, Objective C and Objective C++ front-end
+ for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
+ Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998 and 2001 standards and also provides
+ a partial support of C++1y.
+ .
+ This package contains the clang generic headers and some libraries
+ (profiling, etc).
+
+
+Package: python-clang-3.5
+Section: python
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python
+Replaces: python-clang-3.3, python-clang-3.4
+Breaks: python-clang-3.3, python-clang-3.4
+Description: Clang Python Bindings
+ This binding package provides access to the Clang compiler and libraries.
+
+
+Package: clang-3.5-examples
+Architecture: any
+Section: doc
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Clang examples
+ Clang project is a C, C++, Objective C and Objective C++ front-end
+ for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler
+ Collection (GCC).
+ .
+ Clang implements all of the ISO C++ 1998 and 2001 standards and also provides
+ a partial support of C++1y.
+ .
+ This package contains the clang examples.
+
+# ------------- LLVM -------------
+
+Package: libllvm3.5
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: Modular compiler and toolchain technologies, runtime library
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ This package contains the LLVM runtime library.
+
+Package: libllvm3.5-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.5
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: Modular compiler and toolchain technologies, debugging libraries
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ This package contains the LLVM runtime library debug symbols.
+
+Package: llvm-3.5
+Architecture: any
+Suggests: llvm-3.5-doc
+Depends: llvm-3.5-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Recommends: llvm-3.5-dev
+Description: Modular compiler and toolchain technologies
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ The strengths of the LLVM infrastructure are its extremely
+ simple design (which makes it easy to understand and use),
+ source-language independence, powerful mid-level optimizer, automated
+ compiler debugging support, extensibility, and its stability and
+ reliability. LLVM is currently being used to host a wide variety of
+ academic research projects and commercial projects. LLVM includes C
+ and C++ front-ends, a front-end for a Forth-like language (Stacker),
+ a young scheme front-end, and Java support is in development. LLVM can
+ generate code for X86, SparcV9, PowerPC or many other architectures.
+ .
+ LLVM is the key component of the clang compiler and the gcc plugin called
+ dragonegg.
+
+Package: llvm-3.5-runtime
+Architecture: any
+Depends: binfmt-support, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: llvm (<< 2.7-1)
+Replaces: llvm (<< 2.7-1)
+Description: Modular compiler and toolchain technologies, IR interpreter
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides the minimal required to execute programs in LLVM
+ format.
+
+Package: llvm-3.5-dev
+Architecture: any
+Depends: ${shlibs:Depends}, libffi-dev (>= 3.0.9), ${misc:Depends},
+ llvm-3.5 (= ${binary:Version}), libtinfo-dev
+Replaces: llvm (<< 2.2-3)
+Description: Modular compiler and toolchain technologies, libraries and headers
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides the libraries and headers to develop applications
+ using llvm.
+
+
+
+Package: llvm-3.5-tools
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, python,
+ llvm-3.5-dev (= ${binary:Version})
+Description: Modular compiler and toolchain technologies, tools
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides tools for testing.
+
+
+Package: libllvm-3.5-ocaml-dev
+Section: ocaml
+Architecture: any
+Suggests: llvm-3.5-doc
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-3.5-dev (= ${binary:Version})
+Provides: ${ocaml:Provides}
+Description: Modular compiler and toolchain technologies, OCaml bindings
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package provides the OCaml bindings to develop applications using llvm.
+
+Package: llvm-3.5-doc
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, libjs-jquery, libjs-underscore
+Description: Modular compiler and toolchain technologies, documentation
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package contains all documentation (extensive).
+
+Package: llvm-3.5-examples
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, llvm-3.5-dev (>= ${source:Version}), llvm-3.5-dev (<< ${source:Version}+c~)
+Description: Modular compiler and toolchain technologies, examples
+ LLVM is a collection of libraries and tools that make it easy to build
+ compilers, optimizers, just-in-time code generators, and many other
+ compiler-related programs.
+ .
+ LLVM uses a single, language-independent virtual instruction set both
+ as an offline code representation (to communicate code between
+ compiler phases and to run-time systems) and as the compiler internal
+ representation (to analyze and transform programs). This persistent
+ code representation allows a common set of sophisticated compiler
+ techniques to be applied at compile-time, link-time, install-time,
+ run-time, or "idle-time" (between program runs).
+ .
+ This package contains examples for using LLVM, both in developing
+ extensions to LLVM and in using it to compile code.
+
+
+# ------------- lldb -------------
+
+Package: lldb-3.5
+Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 powerpc
+# ia64 mips mipsel hurd have been removed
+Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.5 (= ${binary:Version}), python, llvm-3.5-dev
+Pre-Depends: ${misc:Pre-Depends}
+Replaces: lldb-3.2, lldb-3.3, lldb-3.4
+Breaks: lldb-3.2, lldb-3.3, lldb-3.4
+Description: Next generation, high-performance debugger
+ LLDB is a next generation, high-performance debugger. It is built as a set of
+ reusable components which highly leverage existing libraries in the larger LLVM
+ Project, such as the Clang expression parser and LLVM disassembler.
+
+Package: lldb-3.5-dev
+Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 powerpc
+# ia64 mips mipsel hurd have been removed
+Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-3.5 (= ${binary:Version})
+Pre-Depends: ${misc:Pre-Depends}
+Description: Next generation, high-performance debugger - Header files
+ LLDB is a next generation, high-performance debugger. It is built as a set of
+ reusable components which highly leverage existing libraries in the larger LLVM
+ Project, such as the Clang expression parser and LLVM disassembler.
+ .
+ This package provides the header files to build extension over lldb.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..ec25a23
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,311 @@
+This package was debianized by Sylvestre Ledru <sylvestre@debian.org>.
+
+It was downloaded from http://llvm.org/releases/download.html
+
+Debian package is released under the same license as LLVM/Clang
+
+
+==============================================================================
+LLVM Release License
+==============================================================================
+University of Illinois/NCSA
+Open Source License
+
+Copyright (c) 2003-2007 University of Illinois at Urbana-Champaign.
+All rights reserved.
+
+Developed by:
+
+ LLVM Team
+
+ University of Illinois at Urbana-Champaign
+
+ http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimers.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimers in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the names of the LLVM Team, University of Illinois at
+ Urbana-Champaign, nor the names of its contributors may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+==============================================================================
+Copyrights and Licenses for Third Party Software Distributed with LLVM:
+==============================================================================
+The LLVM software contains code written by third parties. Such software will
+have its own individual LICENSE.TXT file in the directory in which it appears.
+This file will describe the copyrights, license, and restrictions which apply
+to that code.
+
+The disclaimer of warranty in the University of Illinois Open Source License
+applies to all code in the LLVM Distribution, and nothing in any of the
+other licenses gives permission to use the names of the LLVM Team or the
+University of Illinois to endorse or promote products derived from this
+Software.
+
+The following pieces of software have additional or alternate copyrights,
+licenses, and/or restrictions:
+
+Program Directory
+------- ---------
+System Library llvm/lib/System
+Compiler Driver llvm/tools/llvmc
+Autoconf llvm/autoconf
+ llvm/projects/ModuleMaker/autoconf
+ llvm/projects/sample/autoconf
+
+-----
+
+Files:
+lib/Support/regutils.h
+lib/Support/regexec.c
+lib/Support/regstrlcpy.c
+lib/Support/regex_impl.h
+lib/Support/regcclass.h
+lib/Support/regerror.c
+lib/Support/regengine.inc
+lib/Support/regex2.h
+lib/Support/regcomp.c
+lib/Support/regcname.h
+lib/Support/regfree.c
+
+License:
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+
+-----
+
+Files:
+tools/clang/lib/Headers/limits.h
+tools/clang/lib/Headers/lzcntintrin.h
+tools/clang/lib/Headers/rtmintrin.h
+tools/clang/lib/Headers/immintrin.h
+tools/clang/lib/Headers/stdbool.h
+tools/clang/lib/Headers/cpuid.h
+tools/clang/lib/Headers/fmaintrin.h
+tools/clang/lib/Headers/iso646.h
+tools/clang/lib/Headers/x86intrin.h
+tools/clang/lib/Headers/mm_malloc.h
+tools/clang/lib/Headers/ammintrin.h
+tools/clang/lib/Headers/emmintrin.h
+tools/clang/lib/Headers/float.h
+tools/clang/lib/Headers/stdarg.h
+tools/clang/lib/Headers/popcntintrin.h
+tools/clang/lib/Headers/tgmath.h
+tools/clang/lib/Headers/mmintrin.h
+tools/clang/lib/Headers/unwind.h
+tools/clang/lib/Headers/stdalign.h
+tools/clang/lib/Headers/xopintrin.h
+tools/clang/lib/Headers/stddef.h
+tools/clang/lib/Headers/bmi2intrin.h
+tools/clang/lib/Headers/wmmintrin.h
+tools/clang/lib/Headers/stdint.h
+tools/clang/lib/Headers/smmintrin.h
+tools/clang/lib/Headers/__wmmintrin_aes.h
+tools/clang/lib/Headers/fma4intrin.h
+tools/clang/lib/Headers/altivec.h
+tools/clang/lib/Headers/tmmintrin.h
+tools/clang/lib/Headers/xmmintrin.h
+tools/clang/lib/Headers/varargs.h
+tools/clang/lib/Headers/avx2intrin.h
+tools/clang/lib/Headers/mm3dnow.h
+tools/clang/lib/Headers/__wmmintrin_pclmul.h
+tools/clang/lib/Headers/pmmintrin.h
+tools/clang/lib/Headers/nmmintrin.h
+tools/clang/lib/Headers/bmiintrin.h
+tools/clang/lib/Headers/f16cintrin.h
+tools/clang/lib/Headers/avxintrin.h
+
+License:
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+
+-----
+
+Files:
+utils/unittest/googletest/gtest.cc
+utils/unittest/googletest/include/gtest/internal/gtest-filepath.h
+utils/unittest/googletest/include/gtest/internal/gtest-port.h
+utils/unittest/googletest/include/gtest/internal/gtest-death-test-internal.h
+utils/unittest/googletest/include/gtest/internal/gtest-internal.h
+utils/unittest/googletest/include/gtest/internal/gtest-string.h
+utils/unittest/googletest/include/gtest/internal/gtest-param-util.h
+utils/unittest/googletest/include/gtest/internal/gtest-linked_ptr.h
+utils/unittest/googletest/include/gtest/internal/gtest-internal-inl.h
+utils/unittest/googletest/include/gtest/gtest-message.h
+utils/unittest/googletest/include/gtest/gtest-spi.h
+utils/unittest/googletest/include/gtest/gtest-test-part.h
+utils/unittest/googletest/include/gtest/gtest.h
+utils/unittest/googletest/include/gtest/gtest-printers.h
+utils/unittest/googletest/include/gtest/gtest_prod.h
+utils/unittest/googletest/include/gtest/gtest-death-test.h
+utils/unittest/googletest/include/gtest/gtest-typed-test.h
+utils/unittest/googletest/gtest-typed-test.cc
+utils/unittest/googletest/gtest-port.cc
+utils/unittest/googletest/gtest-printers.cc
+utils/unittest/googletest/gtest-all.cc
+utils/unittest/googletest/gtest-filepath.cc
+utils/unittest/googletest/gtest-death-test.cc
+utils/unittest/googletest/gtest-test-part.cc
+
+License:
+ * Copyright 2007, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-----
+
+Files:
+tools/lldb/test/pexpect-2.4/pexpect.py
+tools/lldb/test/pexpect-2.4/screen.py
+tools/lldb/test/pexpect-2.4/PKG-INFO
+tools/lldb/test/pexpect-2.4/doc
+tools/lldb/test/pexpect-2.4/doc/index.html
+tools/lldb/test/pexpect-2.4/doc/index.template.html
+tools/lldb/test/pexpect-2.4/doc/clean.css
+tools/lldb/test/pexpect-2.4/doc/examples.html
+tools/lldb/test/pexpect-2.4/doc/email.png
+tools/lldb/test/pexpect-2.4/FSM.py
+tools/lldb/test/pexpect-2.4/pxssh.py
+tools/lldb/test/pexpect-2.4/INSTALL
+tools/lldb/test/pexpect-2.4/setup.py
+tools/lldb/test/pexpect-2.4/README
+tools/lldb/test/pexpect-2.4/LICENSE
+tools/lldb/test/pexpect-2.4/fdpexpect.py
+tools/lldb/test/pexpect-2.4/ANSI.py
+tools/lldb/test/pexpect-2.4/examples
+tools/lldb/test/pexpect-2.4/examples/df.py
+tools/lldb/test/pexpect-2.4/examples/ssh_session.py
+tools/lldb/test/pexpect-2.4/examples/astat.py
+tools/lldb/test/pexpect-2.4/examples/fix_cvs_files.py
+tools/lldb/test/pexpect-2.4/examples/bd_serv.py
+tools/lldb/test/pexpect-2.4/examples/chess3.py
+tools/lldb/test/pexpect-2.4/examples/hive.py
+tools/lldb/test/pexpect-2.4/examples/rippy.py
+tools/lldb/test/pexpect-2.4/examples/topip.py
+tools/lldb/test/pexpect-2.4/examples/README
+tools/lldb/test/pexpect-2.4/examples/table_test.html
+tools/lldb/test/pexpect-2.4/examples/ssh_tunnel.py
+tools/lldb/test/pexpect-2.4/examples/ftp.py
+tools/lldb/test/pexpect-2.4/examples/chess.py
+tools/lldb/test/pexpect-2.4/examples/sshls.py
+tools/lldb/test/pexpect-2.4/examples/chess2.py
+tools/lldb/test/pexpect-2.4/examples/cgishell.cgi
+tools/lldb/test/pexpect-2.4/examples/passmass.py
+tools/lldb/test/pexpect-2.4/examples/python.py
+tools/lldb/test/pexpect-2.4/examples/monitor.py
+tools/lldb/test/pexpect-2.4/examples/script.py
+tools/lldb/test/pexpect-2.4/examples/bd_client.py
+tools/lldb/test/pexpect-2.4/examples/uptime.py
+
+License:
+Free, open source, and all that good stuff.
+Pexpect Copyright (c) 2008 Noah Spurrier
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/debian/debian_path.h b/debian/debian_path.h
new file mode 100644
index 0000000..539636f
--- /dev/null
+++ b/debian/debian_path.h
@@ -0,0 +1,16 @@
+//===----------------------------------------------------------------------===//
+//
+// Debian paths declaration management
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef DEBIAN_PATH_H
+#define DEBIAN_PATH_H
+
+// Provides the debian revision
+#define DEB_PATCHSETVERSION "@DEB_PATCHSETVERSION@"
+
+#endif
diff --git a/debian/libclang-X.Y-dev.install.in b/debian/libclang-X.Y-dev.install.in
new file mode 100644
index 0000000..71a871f
--- /dev/null
+++ b/debian/libclang-X.Y-dev.install.in
@@ -0,0 +1,12 @@
+usr/lib/llvm-@LLVM_VERSION@/include/clang
+usr/lib/llvm-@LLVM_VERSION@/include/clang-c
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang*a
+
+usr/lib/llvm-@LLVM_VERSION@/lib/libmodernizeCore.a
+
+build-llvm/tools/clang/runtime/compiler-rt/clang_linux/ usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@/lib/
+
+#usr/include/clang /usr/include/
+#usr/include/clang-c /usr/include/
+#usr/lib/libclang.so /usr/lib/
+#usr/lib/libclang*a /usr/lib/
diff --git a/debian/libclang-X.Y-dev.links.in b/debian/libclang-X.Y-dev.links.in
new file mode 100644
index 0000000..e5025d2
--- /dev/null
+++ b/debian/libclang-X.Y-dev.links.in
@@ -0,0 +1,3 @@
+usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so
+usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so
+usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so
diff --git a/debian/libclang-common-X.Y-dev.install.in b/debian/libclang-common-X.Y-dev.install.in
new file mode 100644
index 0000000..5e8d078
--- /dev/null
+++ b/debian/libclang-common-X.Y-dev.install.in
@@ -0,0 +1,6 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include
+
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib
+
+#usr/lib/clang/@LLVM_VERSION_FULL@/lib /usr/lib/clang/@LLVM_VERSION@/
+#usr/lib/clang/@LLVM_VERSION_FULL@/include/ /usr/include/clang/@LLVM_VERSION@/
diff --git a/debian/libclang-common-X.Y-dev.links.in b/debian/libclang-common-X.Y-dev.links.in
new file mode 100644
index 0000000..717c6b2
--- /dev/null
+++ b/debian/libclang-common-X.Y-dev.links.in
@@ -0,0 +1,7 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION@/include
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION@/include
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION@/lib
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION_FULL@/include
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION_FULL@/include
+usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION_FULL@/lib
+
diff --git a/debian/libclang1-X.Y.install.in b/debian/libclang1-X.Y.install.in
new file mode 100644
index 0000000..27c6af7
--- /dev/null
+++ b/debian/libclang1-X.Y.install.in
@@ -0,0 +1,3 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
+usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so.1
+
diff --git a/debian/libclang1-X.Y.links.in b/debian/libclang1-X.Y.links.in
new file mode 100644
index 0000000..1eee7d4
--- /dev/null
+++ b/debian/libclang1-X.Y.links.in
@@ -0,0 +1,2 @@
+# as upstream
+usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1
diff --git a/debian/libclang1-X.Y.lintian-overrides.in b/debian/libclang1-X.Y.lintian-overrides.in
new file mode 100644
index 0000000..77bcd4e
--- /dev/null
+++ b/debian/libclang1-X.Y.lintian-overrides.in
@@ -0,0 +1,2 @@
+# I know and I am not planning to change that.
+libclang1-@LLVM_VERSION@: package-name-doesnt-match-sonames libclang1
diff --git a/debian/libclang1-X.Y.symbols.in b/debian/libclang1-X.Y.symbols.in
new file mode 100644
index 0000000..d3fff79
--- /dev/null
+++ b/debian/libclang1-X.Y.symbols.in
@@ -0,0 +1,302 @@
+libclang.so.1 libclang1-@LLVM_VERSION@ #MINVER#
+ clang_BlockCommandComment_getArgText@Base 3.2
+ clang_BlockCommandComment_getCommandName@Base 3.2
+ clang_BlockCommandComment_getNumArgs@Base 3.2
+ clang_BlockCommandComment_getParagraph@Base 3.2
+ clang_CXCursorSet_contains@Base 3.2
+ clang_CXCursorSet_insert@Base 3.2
+ clang_CXIndex_getGlobalOptions@Base 3.2
+ clang_CXIndex_setGlobalOptions@Base 3.2
+ clang_CXXMethod_isConst@Base @LLVM_VERSION@
+ clang_CXXMethod_isPureVirtual@Base @LLVM_VERSION@
+ clang_CXXMethod_isStatic@Base 3.2
+ clang_CXXMethod_isVirtual@Base 3.2
+ clang_Comment_getChild@Base 3.2
+ clang_Comment_getKind@Base 3.2
+ clang_Comment_getNumChildren@Base 3.2
+ clang_Comment_isWhitespace@Base 3.2
+ clang_CompilationDatabase_dispose@Base 3.2
+ clang_CompilationDatabase_fromDirectory@Base 3.2
+ clang_CompilationDatabase_getAllCompileCommands@Base @LLVM_VERSION@
+ clang_CompilationDatabase_getCompileCommands@Base 3.2
+ clang_CompileCommand_getArg@Base 3.2
+ clang_CompileCommand_getDirectory@Base 3.2
+ clang_CompileCommand_getNumArgs@Base 3.2
+ clang_CompileCommands_dispose@Base 3.2
+ clang_CompileCommands_getCommand@Base 3.2
+ clang_CompileCommands_getSize@Base 3.2
+ clang_Cursor_getArgument@Base 3.2
+ clang_Cursor_getBriefCommentText@Base 3.2
+ clang_Cursor_getCommentRange@Base 3.2
+ clang_Cursor_getModule@Base 3.2
+ clang_Cursor_getNumArguments@Base 3.2
+ clang_Cursor_getObjCDeclQualifiers@Base @LLVM_VERSION@
+ clang_Cursor_getObjCPropertyAttributes@Base @LLVM_VERSION@
+ clang_Cursor_getObjCSelectorIndex@Base 3.2
+ clang_Cursor_getParsedComment@Base 3.2
+ clang_Cursor_getRawCommentText@Base 3.2
+ clang_Cursor_getReceiverType@Base 3.2
+ clang_Cursor_getSpellingNameRange@Base 3.2
+ clang_Cursor_getTranslationUnit@Base 3.2
+ clang_Cursor_isBitField@Base @LLVM_VERSION@
+ clang_Cursor_isDynamicCall@Base 3.2
+ clang_Cursor_isNull@Base 3.2
+ clang_Cursor_isObjCOptional@Base @LLVM_VERSION@
+ clang_Cursor_isVariadic@Base @LLVM_VERSION@
+ clang_FullComment_getAsHTML@Base 3.2
+ clang_FullComment_getAsXML@Base 3.2
+ clang_HTMLStartTagComment_isSelfClosing@Base 3.2
+ clang_HTMLStartTag_getAttrName@Base 3.2
+ clang_HTMLStartTag_getAttrValue@Base 3.2
+ clang_HTMLStartTag_getNumAttrs@Base 3.2
+ clang_HTMLTagComment_getAsString@Base 3.2
+ clang_HTMLTagComment_getTagName@Base 3.2
+ clang_IndexAction_create@Base 3.2
+ clang_IndexAction_dispose@Base 3.2
+ clang_InlineCommandComment_getArgText@Base 3.2
+ clang_InlineCommandComment_getCommandName@Base 3.2
+ clang_InlineCommandComment_getNumArgs@Base 3.2
+ clang_InlineCommandComment_getRenderKind@Base 3.2
+ clang_InlineContentComment_hasTrailingNewline@Base 3.2
+ clang_Location_isFromMainFile@Base @LLVM_VERSION@
+ clang_Location_isInSystemHeader@Base @LLVM_VERSION@
+ clang_ModuleMapDescriptor_create@Base @LLVM_VERSION@
+ clang_ModuleMapDescriptor_dispose@Base @LLVM_VERSION@
+ clang_ModuleMapDescriptor_setFrameworkModuleName@Base @LLVM_VERSION@
+ clang_ModuleMapDescriptor_setUmbrellaHeader@Base @LLVM_VERSION@
+ clang_ModuleMapDescriptor_writeToBuffer@Base @LLVM_VERSION@
+ clang_Module_getASTFile@Base @LLVM_VERSION@
+ clang_Module_getFullName@Base 3.2
+ clang_Module_getName@Base 3.2
+ clang_Module_getNumTopLevelHeaders@Base 3.2
+ clang_Module_getParent@Base 3.2
+ clang_Module_getTopLevelHeader@Base 3.2
+ clang_Module_isSystem@Base @LLVM_VERSION@
+ clang_ParamCommandComment_getDirection@Base 3.2
+ clang_ParamCommandComment_getParamIndex@Base 3.2
+ clang_ParamCommandComment_getParamName@Base 3.2
+ clang_ParamCommandComment_isDirectionExplicit@Base 3.2
+ clang_ParamCommandComment_isParamIndexValid@Base 3.2
+ clang_Range_isNull@Base 3.2
+ clang_TParamCommandComment_getDepth@Base 3.2
+ clang_TParamCommandComment_getIndex@Base 3.2
+ clang_TParamCommandComment_getParamName@Base 3.2
+ clang_TParamCommandComment_isParamPositionValid@Base 3.2
+ clang_TextComment_getText@Base 3.2
+ clang_Type_getAlignOf@Base @LLVM_VERSION@
+ clang_Type_getCXXRefQualifier@Base @LLVM_VERSION@
+ clang_Type_getClassType@Base @LLVM_VERSION@
+ clang_Type_getNumTemplateArguments@Base @LLVM_VERSION@
+ clang_Type_getOffsetOf@Base @LLVM_VERSION@
+ clang_Type_getSizeOf@Base @LLVM_VERSION@
+ clang_Type_getTemplateArgumentAsType@Base @LLVM_VERSION@
+ clang_VerbatimBlockLineComment_getText@Base 3.2
+ clang_VerbatimLineComment_getText@Base 3.2
+ clang_VirtualFileOverlay_addFileMapping@Base @LLVM_VERSION@
+ clang_VirtualFileOverlay_create@Base @LLVM_VERSION@
+ clang_VirtualFileOverlay_dispose@Base @LLVM_VERSION@
+ clang_VirtualFileOverlay_setCaseSensitivity@Base @LLVM_VERSION@
+ clang_VirtualFileOverlay_writeToBuffer@Base @LLVM_VERSION@
+ clang_annotateTokens@Base 3.2
+ clang_codeCompleteAt@Base 3.2
+ clang_codeCompleteGetContainerKind@Base 3.2
+ clang_codeCompleteGetContainerUSR@Base 3.2
+ clang_codeCompleteGetContexts@Base 3.2
+ clang_codeCompleteGetDiagnostic@Base 3.2
+ clang_codeCompleteGetNumDiagnostics@Base 3.2
+ clang_codeCompleteGetObjCSelector@Base 3.2
+ clang_constructUSR_ObjCCategory@Base 3.2
+ clang_constructUSR_ObjCClass@Base 3.2
+ clang_constructUSR_ObjCIvar@Base 3.2
+ clang_constructUSR_ObjCMethod@Base 3.2
+ clang_constructUSR_ObjCProperty@Base 3.2
+ clang_constructUSR_ObjCProtocol@Base 3.2
+ clang_createCXCursorSet@Base 3.2
+ clang_createIndex@Base 3.2
+ clang_createTranslationUnit2@Base @LLVM_VERSION@
+ clang_createTranslationUnit@Base 3.2
+ clang_createTranslationUnitFromSourceFile@Base 3.2
+ clang_defaultCodeCompleteOptions@Base 3.2
+ clang_defaultDiagnosticDisplayOptions@Base 3.2
+ clang_defaultEditingTranslationUnitOptions@Base 3.2
+ clang_defaultReparseOptions@Base 3.2
+ clang_defaultSaveOptions@Base 3.2
+ clang_disposeCXCursorSet@Base 3.2
+ clang_disposeCXPlatformAvailability@Base 3.2
+ clang_disposeCXTUResourceUsage@Base 3.2
+ clang_disposeCodeCompleteResults@Base 3.2
+ clang_disposeDiagnostic@Base 3.2
+ clang_disposeDiagnosticSet@Base 3.2
+ clang_disposeIndex@Base 3.2
+ clang_disposeOverriddenCursors@Base 3.2
+ clang_disposeSourceRangeList@Base @LLVM_VERSION@
+ clang_disposeString@Base 3.2
+ clang_disposeTokens@Base 3.2
+ clang_disposeTranslationUnit@Base 3.2
+ clang_enableStackTraces@Base 3.2
+ clang_equalCursors@Base 3.2
+ clang_equalLocations@Base 3.2
+ clang_equalRanges@Base 3.2
+ clang_equalTypes@Base 3.2
+ clang_executeOnThread@Base 3.2
+ clang_findIncludesInFile@Base @LLVM_VERSION@
+ clang_findIncludesInFileWithBlock@Base @LLVM_VERSION@
+ clang_findReferencesInFile@Base 3.2
+ clang_findReferencesInFileWithBlock@Base 3.2
+ clang_formatDiagnostic@Base 3.2
+ clang_getArgType@Base 3.2
+ clang_getArrayElementType@Base 3.2
+ clang_getArraySize@Base 3.2
+ clang_getBuildSessionTimestamp@Base @LLVM_VERSION@
+ clang_getCString@Base 3.2
+ clang_getCXTUResourceUsage@Base 3.2
+ clang_getCXXAccessSpecifier@Base 3.2
+ clang_getCanonicalCursor@Base 3.2
+ clang_getCanonicalType@Base 3.2
+ clang_getChildDiagnostics@Base 3.2
+ clang_getClangVersion@Base 3.2
+ clang_getCompletionAnnotation@Base 3.2
+ clang_getCompletionAvailability@Base 3.2
+ clang_getCompletionBriefComment@Base 3.2
+ clang_getCompletionChunkCompletionString@Base 3.2
+ clang_getCompletionChunkKind@Base 3.2
+ clang_getCompletionChunkText@Base 3.2
+ clang_getCompletionNumAnnotations@Base 3.2
+ clang_getCompletionParent@Base 3.2
+ clang_getCompletionPriority@Base 3.2
+ clang_getCursor@Base 3.2
+ clang_getCursorAvailability@Base 3.2
+ clang_getCursorCompletionString@Base 3.2
+ clang_getCursorDefinition@Base 3.2
+ clang_getCursorDisplayName@Base 3.2
+ clang_getCursorExtent@Base 3.2
+ clang_getCursorKind@Base 3.2
+ clang_getCursorKindSpelling@Base 3.2
+ clang_getCursorLanguage@Base 3.2
+ clang_getCursorLexicalParent@Base 3.2
+ clang_getCursorLinkage@Base 3.2
+ clang_getCursorLocation@Base 3.2
+ clang_getCursorPlatformAvailability@Base 3.2
+ clang_getCursorReferenceNameRange@Base 3.2
+ clang_getCursorReferenced@Base 3.2
+ clang_getCursorResultType@Base 3.2
+ clang_getCursorSemanticParent@Base 3.2
+ clang_getCursorSpelling@Base 3.2
+ clang_getCursorType@Base 3.2
+ clang_getCursorUSR@Base 3.2
+ clang_getDeclObjCTypeEncoding@Base 3.2
+ clang_getDefinitionSpellingAndExtent@Base 3.2
+ clang_getDiagnostic@Base 3.2
+ clang_getDiagnosticCategory@Base 3.2
+ clang_getDiagnosticCategoryName@Base 3.2
+ clang_getDiagnosticCategoryText@Base 3.2
+ clang_getDiagnosticFixIt@Base 3.2
+ clang_getDiagnosticInSet@Base 3.2
+ clang_getDiagnosticLocation@Base 3.2
+ clang_getDiagnosticNumFixIts@Base 3.2
+ clang_getDiagnosticNumRanges@Base 3.2
+ clang_getDiagnosticOption@Base 3.2
+ clang_getDiagnosticRange@Base 3.2
+ clang_getDiagnosticSetFromTU@Base 3.2
+ clang_getDiagnosticSeverity@Base 3.2
+ clang_getDiagnosticSpelling@Base 3.2
+ clang_getElementType@Base 3.2
+ clang_getEnumConstantDeclUnsignedValue@Base 3.2
+ clang_getEnumConstantDeclValue@Base 3.2
+ clang_getEnumDeclIntegerType@Base 3.2
+ clang_getExpansionLocation@Base 3.2
+ clang_getFieldDeclBitWidth@Base @LLVM_VERSION@
+ clang_getFile@Base 3.2
+ clang_getFileLocation@Base @LLVM_VERSION@
+ clang_getFileName@Base 3.2
+ clang_getFileTime@Base 3.2
+ clang_getFileUniqueID@Base @LLVM_VERSION@
+ clang_getFunctionTypeCallingConv@Base 3.2
+ clang_getIBOutletCollectionType@Base 3.2
+ clang_getIncludedFile@Base 3.2
+ clang_getInclusions@Base 3.2
+ clang_getInstantiationLocation@Base 3.2
+ clang_getLocation@Base 3.2
+ clang_getLocationForOffset@Base 3.2
+ clang_getModuleForFile@Base @LLVM_VERSION@
+ clang_getNullCursor@Base 3.2
+ clang_getNullLocation@Base 3.2
+ clang_getNullRange@Base 3.2
+ clang_getNumArgTypes@Base 3.2
+ clang_getNumCompletionChunks@Base 3.2
+ clang_getNumDiagnostics@Base 3.2
+ clang_getNumDiagnosticsInSet@Base 3.2
+ clang_getNumElements@Base 3.2
+ clang_getNumOverloadedDecls@Base 3.2
+ clang_getOverloadedDecl@Base 3.2
+ clang_getOverriddenCursors@Base 3.2
+ clang_getPointeeType@Base 3.2
+ clang_getPresumedLocation@Base 3.2
+ clang_getRange@Base 3.2
+ clang_getRangeEnd@Base 3.2
+ clang_getRangeStart@Base 3.2
+ clang_getRemappings@Base 3.2
+ clang_getRemappingsFromFileList@Base 3.2
+ clang_getResultType@Base 3.2
+ clang_getSkippedRanges@Base @LLVM_VERSION@
+ clang_getSpecializedCursorTemplate@Base 3.2
+ clang_getSpellingLocation@Base 3.2
+ clang_getTUResourceUsageName@Base 3.2
+ clang_getTemplateCursorKind@Base 3.2
+ clang_getTokenExtent@Base 3.2
+ clang_getTokenKind@Base 3.2
+ clang_getTokenLocation@Base 3.2
+ clang_getTokenSpelling@Base 3.2
+ clang_getTranslationUnitCursor@Base 3.2
+ clang_getTranslationUnitSpelling@Base 3.2
+ clang_getTypeDeclaration@Base 3.2
+ clang_getTypeKindSpelling@Base 3.2
+ clang_getTypeSpelling@Base @LLVM_VERSION@
+ clang_getTypedefDeclUnderlyingType@Base 3.2
+ clang_hashCursor@Base 3.2
+ clang_indexLoc_getCXSourceLocation@Base 3.2
+ clang_indexLoc_getFileLocation@Base 3.2
+ clang_indexSourceFile@Base 3.2
+ clang_indexTranslationUnit@Base 3.2
+ clang_index_getCXXClassDeclInfo@Base 3.2
+ clang_index_getClientContainer@Base 3.2
+ clang_index_getClientEntity@Base 3.2
+ clang_index_getIBOutletCollectionAttrInfo@Base 3.2
+ clang_index_getObjCCategoryDeclInfo@Base 3.2
+ clang_index_getObjCContainerDeclInfo@Base 3.2
+ clang_index_getObjCInterfaceDeclInfo@Base 3.2
+ clang_index_getObjCPropertyDeclInfo@Base 3.2
+ clang_index_getObjCProtocolRefListInfo@Base 3.2
+ clang_index_isEntityObjCContainerKind@Base 3.2
+ clang_index_setClientContainer@Base 3.2
+ clang_index_setClientEntity@Base 3.2
+ clang_isAttribute@Base 3.2
+ clang_isConstQualifiedType@Base 3.2
+ clang_isCursorDefinition@Base 3.2
+ clang_isDeclaration@Base 3.2
+ clang_isExpression@Base 3.2
+ clang_isFileMultipleIncludeGuarded@Base 3.2
+ clang_isFunctionTypeVariadic@Base 3.2
+ clang_isInvalid@Base 3.2
+ clang_isPODType@Base 3.2
+ clang_isPreprocessing@Base 3.2
+ clang_isReference@Base 3.2
+ clang_isRestrictQualifiedType@Base 3.2
+ clang_isStatement@Base 3.2
+ clang_isTranslationUnit@Base 3.2
+ clang_isUnexposed@Base 3.2
+ clang_isVirtualBase@Base 3.2
+ clang_isVolatileQualifiedType@Base 3.2
+ clang_loadDiagnostics@Base 3.2
+ clang_parseTranslationUnit2@Base @LLVM_VERSION@
+ clang_parseTranslationUnit@Base 3.2
+ clang_remap_dispose@Base 3.2
+ clang_remap_getFilenames@Base 3.2
+ clang_remap_getNumFiles@Base 3.2
+ clang_reparseTranslationUnit@Base 3.2
+ clang_saveTranslationUnit@Base 3.2
+ clang_sortCodeCompletionResults@Base 3.2
+ clang_toggleCrashRecovery@Base 3.2
+ clang_tokenize@Base 3.2
+ clang_visitChildren@Base 3.2
+ clang_visitChildrenWithBlock@Base 3.2
diff --git a/debian/libllvm-X.Y-ocaml-dev.META.in b/debian/libllvm-X.Y-ocaml-dev.META.in
new file mode 100644
index 0000000..366820d
--- /dev/null
+++ b/debian/libllvm-X.Y-ocaml-dev.META.in
@@ -0,0 +1,63 @@
+description = "Low Level Virtual Machine bindings"
+version = "@LLVM_VERSION@"
+
+directory = "+llvm-@LLVM_VERSION@"
+
+archive(byte) = "llvm.cma"
+archive(native) = "llvm.cmxa"
+linkopts = "-cclib -lstdc++ -cclib -lllvm"
+
+package "executionengine"
+(
+ requires = "llvm-@LLVM_VERSION@"
+ version = "@LLVM_VERSION@"
+ archive(native) = "llvm_executionengine.cmxa"
+ archive(byte) = "llvm_executionengine.cma"
+ linkopts = "-cclib -lllvm_executionengine"
+)
+
+package "target"
+(
+ requires = "llvm-@LLVM_VERSION@"
+ version = "@LLVM_VERSION@"
+ archive(native) = "llvm_target.cmxa"
+ archive(byte) = "llvm_target.cma"
+ linkopts = "-cclib -lllvm_target"
+)
+
+package "scalar_opts"
+(
+ requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.target"
+ version = "@LLVM_VERSION@"
+ archive(native) = "llvm_scalar_opts.cmxa"
+ archive(byte) = "llvm_scalar_opts.cma"
+ linkopts = "-cclib -lllvm_scalar_opts"
+)
+
+package "analysis"
+(
+ requires = "llvm-@LLVM_VERSION@"
+ version = "@LLVM_VERSION@"
+ archive(native) = "llvm_analysis.cmxa"
+ archive(byte) = "llvm_analysis.cma"
+ linkopts = "-cclib -lllvm_analysis"
+)
+
+package "bitwriter"
+(
+ requires = "llvm-@LLVM_VERSION@"
+ version = "@LLVM_VERSION@"
+ archive(native) = "llvm_bitwriter.cmxa"
+ archive(byte) = "llvm_bitwriter.cma"
+ linkopts = "-cclib -lllvm_bitwriter"
+)
+
+package "bitreader"
+(
+ requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.bitwriter"
+ version = "@LLVM_VERSION@"
+ archive(native) = "llvm_bitreader.cmxa"
+ archive(byte) = "llvm_bitreader.cma"
+ linkopts = "-cclib -lllvm_bitreader"
+)
+
diff --git a/debian/libllvm-X.Y-ocaml-dev.dirs.in b/debian/libllvm-X.Y-ocaml-dev.dirs.in
new file mode 100644
index 0000000..6c9c736
--- /dev/null
+++ b/debian/libllvm-X.Y-ocaml-dev.dirs.in
@@ -0,0 +1,2 @@
+@OCAML_STDLIB_DIR@/META/
+
diff --git a/debian/libllvm-X.Y-ocaml-dev.doc-base.in b/debian/libllvm-X.Y-ocaml-dev.doc-base.in
new file mode 100644
index 0000000..a5dc5fa
--- /dev/null
+++ b/debian/libllvm-X.Y-ocaml-dev.doc-base.in
@@ -0,0 +1,8 @@
+Document: libllvm-@LLVM_VERSION@-ocaml-dev-ocamldoc-api-reference
+Title: Llvm OCamldoc API Reference
+Abstract: API reference manual for libllvm-ocaml-dev (generated via OCamldoc)
+Section: Programming/OCaml
+
+Format: HTML
+Index: /usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/html/index.html
+Files: /usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/html/*
diff --git a/debian/libllvm-X.Y-ocaml-dev.install.in b/debian/libllvm-X.Y-ocaml-dev.install.in
new file mode 100644
index 0000000..e04a63e
--- /dev/null
+++ b/debian/libllvm-X.Y-ocaml-dev.install.in
@@ -0,0 +1,2 @@
+@OCAML_STDLIB_DIR@/llvm-@LLVM_VERSION@ @OCAML_STDLIB_DIR@/
+usr/lib/llvm-@LLVM_VERSION@/docs/llvm/ocamldoc/html usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/
diff --git a/debian/libllvm-X.Y-ocaml-dev.lintian-overrides.in b/debian/libllvm-X.Y-ocaml-dev.lintian-overrides.in
new file mode 100644
index 0000000..5d25d44
--- /dev/null
+++ b/debian/libllvm-X.Y-ocaml-dev.lintian-overrides.in
@@ -0,0 +1,2 @@
+# It is in the section ocaml which is fine.
+libllvm-@LLVM_VERSION@-ocaml-dev: wrong-section-according-to-package-name libllvm-@LLVM_VERSION@-ocaml-dev => libdevel
diff --git a/debian/libllvm3.4.links.in b/debian/libllvm3.4.links.in
new file mode 100644
index 0000000..9a00059
--- /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/libllvmX.Y.install.in b/debian/libllvmX.Y.install.in
new file mode 100644
index 0000000..f8d968f
--- /dev/null
+++ b/debian/libllvmX.Y.install.in
@@ -0,0 +1 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
diff --git a/debian/libllvmX.Y.links.in b/debian/libllvmX.Y.links.in
new file mode 100644
index 0000000..4faec3f
--- /dev/null
+++ b/debian/libllvmX.Y.links.in
@@ -0,0 +1,3 @@
+# Should be uncommented for @LLVM_VERSION@.1 and other
+# usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1
+
diff --git a/debian/libllvmX.Y.lintian-overrides.in b/debian/libllvmX.Y.lintian-overrides.in
new file mode 100644
index 0000000..49f7ef2
--- /dev/null
+++ b/debian/libllvmX.Y.lintian-overrides.in
@@ -0,0 +1,2 @@
+# That is normal. Upstream does not match the debian convention
+libllvm@LLVM_VERSION@: package-name-doesnt-match-sonames libLLVM-@LLVM_VERSION@-1
diff --git a/debian/lldb-X.Y-dev.install.in b/debian/lldb-X.Y-dev.install.in
new file mode 100644
index 0000000..393c07b
--- /dev/null
+++ b/debian/lldb-X.Y-dev.install.in
@@ -0,0 +1,2 @@
+usr/lib/llvm-@LLVM_VERSION@/include/lldb
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldb*a
diff --git a/debian/lldb-X.Y.install.in b/debian/lldb-X.Y.install.in
new file mode 100644
index 0000000..4c3b062
--- /dev/null
+++ b/debian/lldb-X.Y.install.in
@@ -0,0 +1,12 @@
+usr/bin/lldb-@LLVM_VERSION@
+usr/lib/llvm-@LLVM_VERSION@/bin/lldb
+usr/lib/llvm-@LLVM_VERSION@/bin/lldb-platform
+usr/lib/llvm-@LLVM_VERSION@/bin/lldb-gdbserver
+usr/lib/llvm-@LLVM_VERSION@/bin/lldb-mi
+usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/
+usr/lib/llvm-@LLVM_VERSION@/lib/python2.7/site-packages/lldb/
+usr/lib/llvm-@LLVM_VERSION@/lib/python2.7/site-packages/readline.so
+
+usr/bin/lldb-platform-@LLVM_VERSION@
+usr/bin/lldb-gdbserver-@LLVM_VERSION@
+usr/bin/lldb-mi-@LLVM_VERSION@
diff --git a/debian/lldb-X.Y.links.in b/debian/lldb-X.Y.links.in
new file mode 100644
index 0000000..f1da9c3
--- /dev/null
+++ b/debian/lldb-X.Y.links.in
@@ -0,0 +1,13 @@
+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-@LLVM_VERSION@/lib/liblldb.so.1
+
+usr/bin/lldb-@LLVM_VERSION@ usr/bin/lldb
+usr/bin/lldb-platform-@LLVM_VERSION@ usr/bin/lldb-platform
+usr/bin/lldb-gdbserver-@LLVM_VERSION@ usr/bin/lldb-gdbserver
+usr/bin/lldb-mi-@LLVM_VERSION@ usr/bin/lldb-mi
+
+usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/python2.7/dist-packages/lldb/libLLVM-@LLVM_VERSION_FULL@.so.1
+usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/python2.7/dist-packages/lldb/libLLVM-@LLVM_VERSION@.so.1
+
diff --git a/debian/lldb-X.Y.lintian-overrides.in b/debian/lldb-X.Y.lintian-overrides.in
new file mode 100644
index 0000000..362e2b6
--- /dev/null
+++ b/debian/lldb-X.Y.lintian-overrides.in
@@ -0,0 +1,5 @@
+# That is normal. The lib is not shipped as a new package
+lldb-@LLVM_VERSION@: package-name-doesnt-match-sonames liblldb
+lldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so
+# Does not really matter
+lldb-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/lldb-@LLVM_VERSION@.1.gz
diff --git a/debian/lldb-X.Y.manpages.in b/debian/lldb-X.Y.manpages.in
new file mode 100644
index 0000000..22dbbbc
--- /dev/null
+++ b/debian/lldb-X.Y.manpages.in
@@ -0,0 +1,2 @@
+debian/man/lldb-@LLVM_VERSION@.1
+
diff --git a/debian/lldb-X.Y.postinst.in b/debian/lldb-X.Y.postinst.in
new file mode 100644
index 0000000..a5a6071
--- /dev/null
+++ b/debian/lldb-X.Y.postinst.in
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+if [ "$1" = "configure" ]
+then
+ ldconfig
+fi
+
+#DEBHELPER#
diff --git a/debian/llvm-X.Y-dev.dirs.in b/debian/llvm-X.Y-dev.dirs.in
new file mode 100644
index 0000000..3b3b586
--- /dev/null
+++ b/debian/llvm-X.Y-dev.dirs.in
@@ -0,0 +1,5 @@
+/usr/lib/llvm-@LLVM_VERSION@/lib
+/usr/lib/llvm-@LLVM_VERSION@/build
+/usr/lib/llvm-@LLVM_VERSION@/include
+usr/share/doc/llvm-@LLVM_VERSION@-dev
+usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@
diff --git a/debian/llvm-X.Y-dev.install.in b/debian/llvm-X.Y-dev.install.in
new file mode 100644
index 0000000..40c0405
--- /dev/null
+++ b/debian/llvm-X.Y-dev.install.in
@@ -0,0 +1,24 @@
+usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM*.a
+usr/lib/llvm-@LLVM_VERSION@/lib/libllvm*.a
+usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so
+usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.*
+usr/lib/llvm-@LLVM_VERSION@/lib/BugpointPasses.so
+usr/lib/llvm-@LLVM_VERSION@/include/llvm/ usr/include/llvm-@LLVM_VERSION@/
+usr/lib/llvm-@LLVM_VERSION@/include/llvm-c/ usr/include/llvm-c-@LLVM_VERSION@/
+# Explicit debian/tmp since there are multiple declarations
+debian/tmp/usr/lib/llvm-@LLVM_VERSION@/share/llvm/cmake/*.cmake usr/share/llvm-@LLVM_VERSION@/cmake/
+
+build-llvm/Makefile.common /usr/lib/llvm-@LLVM_VERSION@/build/
+build-llvm/Makefile.config /usr/lib/llvm-@LLVM_VERSION@/build/
+build-llvm/config.status /usr/lib/llvm-@LLVM_VERSION@/build/
+Makefile.rules /usr/lib/llvm-@LLVM_VERSION@/build/
+configure /usr/lib/llvm-@LLVM_VERSION@/build/
+autoconf/ /usr/lib/llvm-@LLVM_VERSION@/build/
+
+utils/vim/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/syntax/
+utils/vim/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/syntax/
+
+utils/emacs/emacs.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/
+utils/emacs/llvm-mode.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/
+utils/emacs/tablegen-mode.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/
+
diff --git a/debian/llvm-X.Y-dev.links.in b/debian/llvm-X.Y-dev.links.in
new file mode 100644
index 0000000..622d436
--- /dev/null
+++ b/debian/llvm-X.Y-dev.links.in
@@ -0,0 +1,11 @@
+usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@.so
+usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION_FULL@.so.1
+usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION_FULL@.so
+usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION_FULL@.so.1
+usr/include/llvm-c-@LLVM_VERSION@/llvm-c usr/lib/llvm-@LLVM_VERSION@/include/llvm-c
+usr/include/llvm-@LLVM_VERSION@/llvm usr/lib/llvm-@LLVM_VERSION@/include/llvm
+usr/include/llvm-c-@LLVM_VERSION@/llvm-c usr/lib/llvm-@LLVM_VERSION@/build/include/llvm-c
+usr/include/llvm-@LLVM_VERSION@/llvm usr/lib/llvm-@LLVM_VERSION@/build/include/llvm
+usr/lib/llvm-@LLVM_VERSION@/include/ usr/lib/llvm-@LLVM_VERSION@/build/include
+usr/lib/llvm-@LLVM_VERSION@/ usr/lib/llvm-@LLVM_VERSION@/build/Release
+usr/lib/llvm-@LLVM_VERSION@/ usr/lib/llvm-@LLVM_VERSION@/build/Debug+Asserts
diff --git a/debian/llvm-X.Y-doc.dirs.in b/debian/llvm-X.Y-doc.dirs.in
new file mode 100644
index 0000000..5379e8e
--- /dev/null
+++ b/debian/llvm-X.Y-doc.dirs.in
@@ -0,0 +1 @@
+usr/share/doc/llvm-@LLVM_VERSION@-doc
diff --git a/debian/llvm-X.Y-doc.install.in b/debian/llvm-X.Y-doc.install.in
new file mode 100644
index 0000000..19293ec
--- /dev/null
+++ b/debian/llvm-X.Y-doc.install.in
@@ -0,0 +1,6 @@
+docs/_build/html usr/share/doc/llvm-@LLVM_VERSION@-doc/
+usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html.tar.gz
+usr/lib/llvm-@LLVM_VERSION@/docs/llvm/ocamldoc.tar.gz
+usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/Dummy.html
+usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/doxygen.css
+usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/LibASTMatchersReference.html
diff --git a/debian/llvm-X.Y-examples.dirs.in b/debian/llvm-X.Y-examples.dirs.in
new file mode 100644
index 0000000..a8b75c6
--- /dev/null
+++ b/debian/llvm-X.Y-examples.dirs.in
@@ -0,0 +1 @@
+usr/share/doc/llvm-@LLVM_VERSION@-examples
diff --git a/debian/llvm-X.Y-examples.examples.in b/debian/llvm-X.Y-examples.examples.in
new file mode 100644
index 0000000..e39721e
--- /dev/null
+++ b/debian/llvm-X.Y-examples.examples.in
@@ -0,0 +1 @@
+examples/*
diff --git a/debian/llvm-X.Y-examples.links.in b/debian/llvm-X.Y-examples.links.in
new file mode 100644
index 0000000..a8d74aa
--- /dev/null
+++ b/debian/llvm-X.Y-examples.links.in
@@ -0,0 +1,3 @@
+/usr/lib/llvm-@LLVM_VERSION@/build/Makefile.common usr/share/doc/llvm-@LLVM_VERSION@-examples/Makefile.common
+/usr/lib/llvm-@LLVM_VERSION@/build/Makefile.config usr/share/doc/llvm-@LLVM_VERSION@-examples/Makefile.config
+/usr/lib/llvm-@LLVM_VERSION@/build/Makefile.rules usr/share/doc/llvm-@LLVM_VERSION@-examples/Makefile.rules
diff --git a/debian/llvm-X.Y-runtime.binfmt.in b/debian/llvm-X.Y-runtime.binfmt.in
new file mode 100644
index 0000000..6bb1df7
--- /dev/null
+++ b/debian/llvm-X.Y-runtime.binfmt.in
@@ -0,0 +1,3 @@
+package llvm-@LLVM_VERSION@-runtime
+interpreter /usr/bin/lli-@LLVM_VERSION@
+magic BC
diff --git a/debian/llvm-X.Y-runtime.install.in b/debian/llvm-X.Y-runtime.install.in
new file mode 100644
index 0000000..d8e16a7
--- /dev/null
+++ b/debian/llvm-X.Y-runtime.install.in
@@ -0,0 +1,8 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/lli
+usr/lib/llvm-@LLVM_VERSION@/bin/lli-child-target
+
+usr/bin/lli-@LLVM_VERSION@
+usr/bin/lli-child-target-@LLVM_VERSION@
+
+debian/llvm-@LLVM_VERSION@-runtime.binfmt usr/share/binfmts/
+
diff --git a/debian/llvm-X.Y-runtime.links.in b/debian/llvm-X.Y-runtime.links.in
new file mode 100644
index 0000000..655ca2d
--- /dev/null
+++ b/debian/llvm-X.Y-runtime.links.in
@@ -0,0 +1 @@
+# AUTOGENERATED in debian/rules.d/binary.mk.
diff --git a/debian/llvm-X.Y-runtime.manpages.in b/debian/llvm-X.Y-runtime.manpages.in
new file mode 100644
index 0000000..0f0bf92
--- /dev/null
+++ b/debian/llvm-X.Y-runtime.manpages.in
@@ -0,0 +1,2 @@
+docs/_build/man/lli*
+
diff --git a/debian/llvm-X.Y-runtime.postinst.in b/debian/llvm-X.Y-runtime.postinst.in
new file mode 100644
index 0000000..6830032
--- /dev/null
+++ b/debian/llvm-X.Y-runtime.postinst.in
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+
+if test "$1" = "configure"; then
+ if test -x /usr/sbin/update-binfmts; then
+ update-binfmts --import llvm-@LLVM_VERSION@-runtime.binfmt || true
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/llvm-X.Y-runtime.prerm.in b/debian/llvm-X.Y-runtime.prerm.in
new file mode 100644
index 0000000..09f96cc
--- /dev/null
+++ b/debian/llvm-X.Y-runtime.prerm.in
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+if test "$1" = "remove"; then
+ if test -x /usr/sbin/update-binfmts; then
+ update-binfmts --package llvm-@LLVM_VERSION@-runtime \
+ --remove llvm-@LLVM_VERSION@-runtime.binfmt /usr/bin/lli-@LLVM_VERSION@ || true
+ if test -f /var/lib/binfmts/llvm-@LLVM_VERSION@.binfmt; then
+ # Purge old file
+ update-binfmts --package llvm-@LLVM_VERSION@-runtime \
+ --remove llvm-@LLVM_VERSION@.binfmt /usr/bin/lli-@LLVM_VERSION@ || true
+ fi
+ fi
+fi
+
+#DEBHELPER#
+
diff --git a/debian/llvm-X.Y-tools.dirs.in b/debian/llvm-X.Y-tools.dirs.in
new file mode 100644
index 0000000..ee33982
--- /dev/null
+++ b/debian/llvm-X.Y-tools.dirs.in
@@ -0,0 +1,3 @@
+/usr/lib/llvm-@LLVM_VERSION@/build/unittests
+/usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/
+
diff --git a/debian/llvm-X.Y-tools.install.in b/debian/llvm-X.Y-tools.install.in
new file mode 100644
index 0000000..3b9b96c
--- /dev/null
+++ b/debian/llvm-X.Y-tools.install.in
@@ -0,0 +1,13 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/count
+usr/lib/llvm-@LLVM_VERSION@/bin/FileCheck
+usr/lib/llvm-@LLVM_VERSION@/bin/not
+
+
+unittests/Makefile.unittest /usr/lib/llvm-@LLVM_VERSION@/build/unittests/
+
+utils/lit/* /usr/lib/llvm-@LLVM_VERSION@/build/utils/lit/
+
+
+usr/bin/count-@LLVM_VERSION@
+usr/bin/FileCheck-@LLVM_VERSION@
+usr/bin/not-@LLVM_VERSION@
diff --git a/debian/llvm-X.Y.dirs.in b/debian/llvm-X.Y.dirs.in
new file mode 100644
index 0000000..56a9655
--- /dev/null
+++ b/debian/llvm-X.Y.dirs.in
@@ -0,0 +1,3 @@
+/usr/lib/llvm-@LLVM_VERSION@/bin
+usr/share/man/man1
+usr/share/doc/llvm-@LLVM_VERSION@
diff --git a/debian/llvm-X.Y.install.in b/debian/llvm-X.Y.install.in
new file mode 100644
index 0000000..68b5cbe
--- /dev/null
+++ b/debian/llvm-X.Y.install.in
@@ -0,0 +1,10 @@
+usr/lib/llvm-@LLVM_VERSION@/bin/llvm-*
+usr/lib/llvm-@LLVM_VERSION@/bin/opt*
+usr/lib/llvm-@LLVM_VERSION@/bin/macho-dump*
+usr/lib/llvm-@LLVM_VERSION@/bin/bugpoint*
+usr/lib/llvm-@LLVM_VERSION@/bin/llc*
+usr/bin/llvm-*
+usr/bin/opt*
+usr/bin/macho-dump*
+usr/bin/bugpoint*
+usr/bin/llc*
diff --git a/debian/llvm-X.Y.links.in b/debian/llvm-X.Y.links.in
new file mode 100644
index 0000000..655ca2d
--- /dev/null
+++ b/debian/llvm-X.Y.links.in
@@ -0,0 +1 @@
+# AUTOGENERATED in debian/rules.d/binary.mk.
diff --git a/debian/llvm-X.Y.lintian-overrides.in b/debian/llvm-X.Y.lintian-overrides.in
new file mode 100644
index 0000000..ac3f756
--- /dev/null
+++ b/debian/llvm-X.Y.lintian-overrides.in
@@ -0,0 +1,9 @@
+# I know but well...
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-dwarfdump-@LLVM_VERSION@.1.gz
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-mc-@LLVM_VERSION@.1.gz
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-mcmarkup-@LLVM_VERSION@.1.gz
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-objdump-@LLVM_VERSION@.1.gz
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-rtdyld-@LLVM_VERSION@.1.gz
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-size-@LLVM_VERSION@.1.gz
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-tblgen-@LLVM_VERSION@.1.gz
+llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/macho-dump-@LLVM_VERSION@.1.gz
diff --git a/debian/llvm-X.Y.manpages.in b/debian/llvm-X.Y.manpages.in
new file mode 100644
index 0000000..b74242d
--- /dev/null
+++ b/debian/llvm-X.Y.manpages.in
@@ -0,0 +1,10 @@
+docs/_build/man/*
+debian/man/llvm-dwarfdump-@LLVM_VERSION@.1
+debian/man/llvm-mc-@LLVM_VERSION@.1
+debian/man/llvm-mcmarkup-@LLVM_VERSION@.1
+debian/man/llvm-objdump-@LLVM_VERSION@.1
+debian/man/llvm-rtdyld-@LLVM_VERSION@.1
+debian/man/llvm-size-@LLVM_VERSION@.1
+debian/man/llvm-tblgen-@LLVM_VERSION@.1
+debian/man/macho-dump-@LLVM_VERSION@.1
+
diff --git a/debian/llvm-priv-dev.dirs b/debian/llvm-priv-dev.dirs
new file mode 100644
index 0000000..dab8663
--- /dev/null
+++ b/debian/llvm-priv-dev.dirs
@@ -0,0 +1 @@
+/usr/lib/llvm-3.1/build
diff --git a/debian/man/clang-format-diff-3.4.1 b/debian/man/clang-format-diff-3.4.1
new file mode 100644
index 0000000..75a56e9
--- /dev/null
+++ b/debian/man/clang-format-diff-3.4.1
@@ -0,0 +1,30 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.2.
+.TH CLANG-FORMAT-DIFF-3.3 "1" "June 2013" "clang-format-diff-3.3 3.3" "User Commands"
+.SH NAME
+clang-format-diff-3.3 \- manual page for clang-format-diff-3.3 3.3
+.SH DESCRIPTION
+usage: clang\-format\-diff\-3.3 [\-h] [\-p P] [\-style STYLE]
+.PP
+Reformat changed lines in diff
+.SS "optional arguments:"
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+show this help message and exit
+.TP
+\fB\-p\fR P
+strip the smallest prefix containing P slashes
+.TP
+\fB\-style\fR STYLE
+formatting style to apply (LLVM, Google, Chromium)
+.SH "SEE ALSO"
+The full documentation for
+.B clang-format-diff-3.3
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B clang-format-diff-3.3
+programs are properly installed at your site, the command
+.IP
+.B info clang-format-diff-3.3
+.PP
+should give you access to the complete manual.
diff --git a/debian/man/cpp11-migrate-3.4.1 b/debian/man/cpp11-migrate-3.4.1
new file mode 100644
index 0000000..cb94e14
--- /dev/null
+++ b/debian/man/cpp11-migrate-3.4.1
@@ -0,0 +1,256 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.2.
+.TH LLVM "1" "June 2013" "LLVM (http://llvm.org/):" "User Commands"
+.SH NAME
+LLVM \- manual page for LLVM (http://llvm.org/):
+.SH DESCRIPTION
+USAGE: cpp11\-migrate [options] <source0> [... <sourceN>]
+.SS "OPTIONS:"
+.HP
+\fB\-add\-override\fR \- Make use of override specifier where possible
+.HP
+\fB\-asm\-verbose\fR \- Add comments to directives.
+.HP
+\fB\-bounds\-checking\-single\-trap\fR \- Use one trap block per function
+.HP
+\fB\-cppfname=\fR<function name> \- Specify the name of the generated function
+.HP
+\fB\-cppfor=\fR<string> \- Specify the name of the thing to generate
+.HP
+\fB\-cppgen\fR \- Choose what kind of output to generate
+.TP
+=program
+\- Generate a complete program
+.TP
+=module
+\- Generate a module definition
+.TP
+=contents
+\- Generate contents of a module
+.TP
+=function
+\- Generate a function definition
+.TP
+=functions
+\- Generate all function definitions
+.TP
+=inline
+\- Generate an inline function
+.TP
+=variable
+\- Generate a variable definition
+.TP
+=type
+\- Generate a type definition
+.HP
+\fB\-disable\-spill\-fusing\fR \- Disable fusing of spill code into instructions
+.IP
+Choose driver interface:
+.HP
+\fB\-drvnvcl\fR \- Nvidia OpenCL driver
+.HP
+\fB\-drvcuda\fR \- Nvidia CUDA driver
+.HP
+\fB\-drvtest\fR \- Plain Test
+.HP
+\fB\-enable\-correct\-eh\-support\fR \- Make the \fB\-lowerinvoke\fR pass insert expensive, but correct, EH code
+.HP
+\fB\-enable\-load\-pre\fR \-
+.HP
+\fB\-enable\-objc\-arc\-opts\fR \- enable/disable all ARC Optimizations
+.HP
+\fB\-enable\-tbaa\fR \-
+.HP
+\fB\-fatal\-assembler\-warnings\fR \- Consider warnings as error
+.HP
+\fB\-fdata\-sections\fR \- Emit data into separate sections
+.HP
+\fB\-ffunction\-sections\fR \- Emit functions into separate sections
+.HP
+\fB\-final\-syntax\-check\fR \- Check for correct syntax after applying transformations
+.HP
+\fB\-help\fR \- Display available options (\fB\-help\-hidden\fR for more)
+.HP
+\fB\-internalize\-public\-api\-file=\fR<filename> \- A file containing list of symbol names to preserve
+.HP
+\fB\-internalize\-public\-api\-list=\fR<list> \- A list of symbol names to preserve
+.HP
+\fB\-join\-liveintervals\fR \- Coalesce copies (default=true)
+.HP
+\fB\-limit\-float\-precision=\fR<uint> \- Generate low\-precision inline sequences for some float libcalls
+.HP
+\fB\-loop\-convert\fR \- Make use of range\-based for loops where possible
+.HP
+\fB\-mc\-x86\-disable\-arith\-relaxation\fR \- Disable relaxation of arithmetic instruction for X86
+.HP
+\fB\-mips16\-hard\-float\fR \- MIPS: mips16 hard float enable.
+.HP
+\fB\-msp430\-hwmult\-mode\fR \- Hardware multiplier use mode
+.TP
+=no
+\- Do not use hardware multiplier
+.TP
+=interrupts
+\- Assume hardware multiplier can be used inside interrupts
+.TP
+=use
+\- Assume hardware multiplier cannot be used inside interrupts
+.HP
+\fB\-nvptx\-emit\-line\-numbers\fR \- NVPTX Specific: Emit Line numbers even without \fB\-G\fR
+.HP
+\fB\-nvptx\-emit\-src\fR \- NVPTX Specific: Emit source line in ptx file
+.TP
+\fB\-nvptx\-fma\-level=\fR<int> \- NVPTX Specific: FMA contraction (0: don't do it 1: do it
+2: do it aggressively
+.HP
+\fB\-nvptx\-mad\-enable\fR \- NVPTX Specific: Enable generating FMAD instructions
+.HP
+\fB\-nvptx\-prec\-divf32=\fR<int> \- NVPTX Specifies: 0 use div.approx, 1 use div.full, 2 use IEEE Compliant F32 div.rnd if avaiable.
+.HP
+\fB\-nvptx\-sched4reg\fR \- NVPTX Specific: schedule for register pressue
+.HP
+\fB\-nvvm\-reflect\-enable\fR \- NVVM reflection, enabled by default
+.HP
+\fB\-nvvm\-reflect\-list=\fR<name=<int>> \- A list of string=num assignments
+.HP
+\fB\-p=\fR<string> \- Build path
+.HP
+\fB\-pre\-RA\-sched\fR \- Instruction schedulers available (before register allocation):
+.TP
+=vliw\-td
+\- VLIW scheduler
+.TP
+=list\-ilp
+\- Bottom\-up register pressure aware list scheduling which tries to balance ILP and register pressure
+.TP
+=list\-hybrid
+\- Bottom\-up register pressure aware list scheduling which tries to balance latency and register pressure
+.TP
+=source
+\- Similar to list\-burr but schedules in source order when possible
+.TP
+=list\-burr
+\- Bottom\-up register reduction list scheduling
+.TP
+=linearize
+\- Linearize DAG, no scheduling
+.TP
+=fast
+\- Fast suboptimal list scheduling
+.TP
+=default
+\- Best scheduler for the target
+.HP
+\fB\-print\-after\-all\fR \- Print IR after each pass
+.HP
+\fB\-print\-before\-all\fR \- Print IR before each pass
+.HP
+\fB\-print\-machineinstrs=\fR<pass\-name> \- Print machine instrs
+.HP
+\fB\-profile\-estimator\-loop\-weight=\fR<loop\-weight> \- Number of loop executions used for profile\-estimator
+.HP
+\fB\-profile\-file=\fR<filename> \- Profile file loaded by \fB\-profile\-metadata\-loader\fR
+.HP
+\fB\-profile\-info\-file=\fR<filename> \- Profile file loaded by \fB\-profile\-loader\fR
+.HP
+\fB\-profile\-verifier\-noassert\fR \- Disable assertions
+.HP
+\fB\-regalloc\fR \- Register allocator to use
+.TP
+=default
+\- pick register allocator based on \fB\-O\fR option
+.TP
+=basic
+\- basic register allocator
+.TP
+=fast
+\- fast register allocator
+.TP
+=greedy
+\- greedy register allocator
+.TP
+=pbqp
+\- PBQP register allocator
+.HP
+\fB\-risk\fR \- Select a maximum risk level:
+.TP
+=safe
+\- Only safe transformations
+.TP
+=reasonable
+\- Enable transformations that might change semantics (default)
+.TP
+=risky
+\- Enable transformations that are likely to change semantics
+.HP
+\fB\-shrink\-wrap\fR \- Shrink wrap callee\-saved register spills/restores
+.HP
+\fB\-spiller\fR \- Spiller to use: (default: standard)
+.TP
+=trivial
+\- trivial spiller
+.TP
+=inline
+\- inline spiller
+.HP
+\fB\-stats\fR \- Enable statistics output from program (available with Asserts)
+.HP
+\fB\-struct\-path\-tbaa\fR \-
+.HP
+\fB\-summary\fR \- Print transform summary
+.HP
+\fB\-time\-passes\fR \- Time each pass, printing elapsed time for each on exit
+.HP
+\fB\-use\-auto\fR \- Use of 'auto' type specifier
+.HP
+\fB\-use\-nullptr\fR \- Make use of nullptr keyword where possible
+.HP
+\fB\-user\-null\-macros=\fR<string> \- Comma\-separated list of user\-defined macro names that behave like NULL
+.HP
+\fB\-vectorize\-loops\fR \- Run the Loop vectorization passes
+.HP
+\fB\-vectorize\-slp\fR \- Run the SLP vectorization passes
+.HP
+\fB\-vectorize\-slp\-aggressive\fR \- Run the BB vectorization passes
+.HP
+\fB\-verify\-dom\-info\fR \- Verify dominator info (time consuming)
+.HP
+\fB\-verify\-loop\-info\fR \- Verify loop info (time consuming)
+.HP
+\fB\-verify\-regalloc\fR \- Verify during register allocation
+.HP
+\fB\-verify\-region\-info\fR \- Verify region info (time consuming)
+.HP
+\fB\-verify\-scev\fR \- Verify ScalarEvolution's backedge taken counts (slow)
+.HP
+\fB\-version\fR \- Display the version of this program
+.HP
+\fB\-x86\-asm\-syntax\fR \- Choose style of code to emit from X86 backend:
+.TP
+=att
+\- Emit AT&T\-style assembly
+.TP
+=intel
+\- Emit Intel\-style assembly
+.HP
+\fB\-x86\-early\-ifcvt\fR \- Enable early if\-conversion on X86
+.HP
+\fB\-x86\-use\-vzeroupper\fR \- Minimize AVX to SSE transition penalty
+.IP
+LLVM version 3.3
+.IP
+Optimized build.
+Built May 7 2013 (21:07:59).
+Default target: x86_64\-pc\-linux\-gnu
+Host CPU: corei7\-avx
+.SH "SEE ALSO"
+The full documentation for
+.B LLVM
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B LLVM
+programs are properly installed at your site, the command
+.IP
+.B info LLVM
+.PP
+should give you access to the complete manual.
diff --git a/debian/orig-tar.sh b/debian/orig-tar.sh
new file mode 100755
index 0000000..a36580e
--- /dev/null
+++ b/debian/orig-tar.sh
@@ -0,0 +1,139 @@
+#!/bin/sh
+# This script will create the following tarballs:
+# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang.tar.bz2
+# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang-extra.tar.bz2
+# llvm-toolchain-snapshot-3.2_3.2repack.orig-compiler-rt.tar.bz2
+# llvm-toolchain-snapshot-3.2_3.2repack.orig-lldb.tar.bz2
+# llvm-toolchain-snapshot-3.2_3.2repack.orig-polly.tar.bz2
+# llvm-toolchain-snapshot-3.2_3.2repack.orig.tar.bz2
+set -e
+
+# TODO rest of the options
+
+# To create an rc1 release:
+# sh 3.4/debian/orig-tar.sh RELEASE_34 rc1
+
+SVN_BASE_URL=http://llvm.org/svn/llvm-project/
+MAJOR_VERSION=3.5
+CURRENT_VERSION=3.5 # Should be changed to 3.5.1 later
+
+if test -n "$1"; then
+# http://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/branches/google/stable/
+# For example: sh 3.4/debian/orig-tar.sh release_34
+ BRANCH=$1
+fi
+
+if test -n "$1" -a -n "$2"; then
+# http://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/tags/RELEASE_34/rc1/
+# For example: sh 3.4/debian/orig-tar.sh RELEASE_34 rc2
+ BRANCH=$1
+ TAG=$2
+ RCRELEASE="true"
+fi
+
+get_svn_url() {
+ MODULE=$1
+ BRANCH=$2
+ TAG=$3
+ if test -n "$TAG"; then
+ SVN_URL="$SVN_BASE_URL/$MODULE/tags/$BRANCH/$TAG"
+ else
+ if test -n "$BRANCH"; then
+ SVN_URL="$SVN_BASE_URL/$MODULE/branches/$BRANCH"
+ else
+ SVN_URL="$SVN_BASE_URL/$MODULE/trunk/"
+ fi
+ fi
+ echo $SVN_URL
+}
+
+get_higher_revision() {
+ PROJECTS="llvm cfe compiler-rt polly lldb clang-tools-extra"
+ REVISION_MAX=0
+ for f in $PROJECTS; do
+ REVISION=$(LANG=C svn info $(get_svn_url $f $BRANCH $TAG)|grep "^Last Changed Rev:"|awk '{print $4}')
+ if test $REVISION -gt $REVISION_MAX; then
+ REVISION_MAX=$REVISION
+ fi
+ done
+ echo $REVISION_MAX
+}
+
+
+
+if test -n "$BRANCH"; then
+ REVISION=$(get_higher_revision)
+ # Do not use the revision when exporting branch. We consider that all the
+ # branch are sync
+ SVN_CMD="svn export"
+else
+ REVISION=$(LANG=C svn info $(get_svn_url llvm)|grep "^Revision:"|awk '{print $2}')
+ SVN_CMD="svn export -r $REVISION"
+fi
+
+if test -n "$RCRELEASE"; then
+# VERSION=$MAJOR_VERSION"+"$REVISION # WAS TAG
+ VERSION=$MAJOR_VERSION"~+"$TAG
+ FULL_VERSION="llvm-toolchain-"$MAJOR_VERSION"_"$VERSION
+else
+ VERSION=$CURRENT_VERSION"~svn"$REVISION
+ FULL_VERSION="llvm-toolchain-snapshot_"$VERSION
+fi
+
+# LLVM
+LLVM_TARGET=$FULL_VERSION
+$SVN_CMD $(get_svn_url llvm $BRANCH $TAG) $LLVM_TARGET
+tar jcvf $FULL_VERSION.orig.tar.bz2 $LLVM_TARGET
+rm -rf $LLVM_TARGET
+
+
+# Clang
+CLANG_TARGET=clang_$VERSION
+$SVN_CMD $(get_svn_url cfe $BRANCH $TAG) $CLANG_TARGET
+tar jcvf $FULL_VERSION.orig-clang.tar.bz2 $CLANG_TARGET
+rm -rf $CLANG_TARGET
+
+
+# Clang extra
+CLANG_TARGET=clang-tools-extra_$VERSION
+$SVN_CMD $(get_svn_url clang-tools-extra $BRANCH $TAG) $CLANG_TARGET
+tar jcvf $FULL_VERSION.orig-clang-tools-extra.tar.bz2 $CLANG_TARGET
+rm -rf $CLANG_TARGET
+
+# Compiler-rt
+COMPILER_RT_TARGET=compiler-rt_$VERSION
+$SVN_CMD $(get_svn_url compiler-rt $BRANCH $TAG) $COMPILER_RT_TARGET
+tar jcvf $FULL_VERSION.orig-compiler-rt.tar.bz2 $COMPILER_RT_TARGET
+rm -rf $COMPILER_RT_TARGET
+
+# Polly
+POLLY_TARGET=polly_$VERSION
+$SVN_CMD $(get_svn_url polly $BRANCH $TAG) $POLLY_TARGET
+rm -rf $POLLY_TARGET/www
+tar jcvf $FULL_VERSION.orig-polly.tar.bz2 $POLLY_TARGET
+rm -rf $POLLY_TARGET
+
+# LLDB
+LLDB_TARGET=lldb_$VERSION
+$SVN_CMD $(get_svn_url lldb $BRANCH $TAG) $LLDB_TARGET
+rm -rf $LLDB_TARGET/www/
+tar jcvf $FULL_VERSION.orig-lldb.tar.bz2 $LLDB_TARGET
+rm -rf $LLDB_TARGET
+
+PATH_DEBIAN="$(pwd)/$(dirname $0)/../"
+echo "going into $PATH_DEBIAN"
+export DEBFULLNAME="Sylvestre Ledru"
+export DEBEMAIL="sylvestre@debian.org"
+cd $PATH_DEBIAN
+
+if test -z "$DISTRIBUTION"; then
+ DISTRIBUTION="experimental"
+fi
+
+if test -n "$RCRELEASE"; then
+ EXTRA_DCH_FLAGS="--force-bad-version --allow-lower-version"
+fi
+
+dch $EXTRA_DCH_FLAGS --distribution $DISTRIBUTION --newversion 1:$VERSION-1~exp1 "New snapshot release"
+
+exit 0
diff --git a/debian/patches/0003-Debian-version-info-and-bugreport.patch b/debian/patches/0003-Debian-version-info-and-bugreport.patch
new file mode 100644
index 0000000..38921e0
--- /dev/null
+++ b/debian/patches/0003-Debian-version-info-and-bugreport.patch
@@ -0,0 +1,15 @@
+Index: llvm-toolchain-snapshot_3.5~svn211104/lib/Support/CommandLine.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211104.orig/lib/Support/CommandLine.cpp
++++ llvm-toolchain-snapshot_3.5~svn211104/lib/Support/CommandLine.cpp
+@@ -1702,6 +1702,10 @@ public:
+ OS << " " << LLVM_VERSION_INFO;
+ #endif
+ OS << "\n ";
++#ifdef LLVM_DEBIAN_INFO
++ OS << LLVM_DEBIAN_INFO;
++#endif
++ OS << "\n ";
+ #ifndef __OPTIMIZE__
+ OS << "DEBUG build";
+ #else
diff --git a/debian/patches/0010-shared-lib-paths.patch b/debian/patches/0010-shared-lib-paths.patch
new file mode 100644
index 0000000..0d13b6d
--- /dev/null
+++ b/debian/patches/0010-shared-lib-paths.patch
@@ -0,0 +1,38 @@
+Index: llvm-toolchain-snapshot_3.4~svn188146/clang/lib/Driver/ToolChains.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn188146.orig/clang/lib/Driver/ToolChains.cpp 2013-08-11 10:01:30.888734802 +0200
++++ llvm-toolchain-snapshot_3.4~svn188146/clang/lib/Driver/ToolChains.cpp 2013-08-11 10:01:30.884734801 +0200
+@@ -2337,6 +2337,14 @@
+ addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
+ addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths);
+
++ // In Debian we install LLVM lib with version string
++ // /usr/lib/llvm-X.Y/lib/LLVMGold.so
++ if (IsDebian(Distro)) {
++ addPathIfExists(SysRoot + "/usr/lib/llvm-" + CLANG_VERSION_STRING + "/lib/",
++ Paths);
++ }
++
++
+ // Try walking via the GCC triple path in case of biarch or multiarch GCC
+ // installations with strange symlinks.
+ if (GCCInstallation.isValid())
+Index: llvm-toolchain-snapshot_3.4~svn188146/clang/lib/Driver/Tools.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn188146.orig/clang/lib/Driver/Tools.cpp 2013-08-11 10:01:30.888734802 +0200
++++ llvm-toolchain-snapshot_3.4~svn188146/clang/lib/Driver/Tools.cpp 2013-08-11 10:01:30.888734802 +0200
+@@ -6153,6 +6153,14 @@
+ if (D.IsUsingLTO(Args) || Args.hasArg(options::OPT_use_gold_plugin)) {
+ CmdArgs.push_back("-plugin");
+ std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
++ if ( ! llvm::sys::fs::exists(Plugin)) {
++ // Plugin is not in driver-based relative path, try system libs
++ // on Debian for instance
++ std::string PluginSystem = ToolChain.GetFilePath("LLVMgold.so");
++ if (llvm::sys::fs::exists(PluginSystem)){
++ Plugin = PluginSystem;
++ }
++ }
+ CmdArgs.push_back(Args.MakeArgString(Plugin));
+
+ // Try to pass driver level flags relevant to LTO code generation down to
diff --git a/debian/patches/0021-shared-lib-debian.patch b/debian/patches/0021-shared-lib-debian.patch
new file mode 100644
index 0000000..5e6f1b9
--- /dev/null
+++ b/debian/patches/0021-shared-lib-debian.patch
@@ -0,0 +1,26 @@
+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:43.656868813 +0100
++++ llvm-toolchain-snapshot_3.5~svn199197/tools/llvm-shlib/Makefile 2014-01-14 11:30:43.652868813 +0100
+@@ -39,6 +39,12 @@
+ LLVMLibsPaths := $(IncludeInLibLlvm)
+
+ $(LibName.SO): $(LLVMLibsPaths)
++ $(Echo) Linking $(BuildMode) $(SharedLibKindMessage) \
++ $(LIBRARYNAME)$(SHLIBEXT)
++ $(Verb) $(Link) $(SharedLinkOptions) -o $@ $(ObjectsO) \
++ $(ProjLibsOptions) $(LLVMLibsOptions) $(LIBS)
++ mv $(LibName.SO) $(LibName.SO).1
++ ln -s $(notdir $(LibName.SO)).1 $(LibName.SO)
+
+ ifeq ($(HOST_OS),Darwin)
+ # set dylib internal version number to llvmCore submission number
+@@ -67,7 +73,7 @@
+
+ ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD GNU))
+ # Add soname to the library.
+- LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT)
++ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) -Wl,-Bsymbolic-functions
+ endif
+
+ ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD))
diff --git a/debian/patches/0023-link-libopagent.patch b/debian/patches/0023-link-libopagent.patch
new file mode 100644
index 0000000..37466fc
--- /dev/null
+++ b/debian/patches/0023-link-libopagent.patch
@@ -0,0 +1,33 @@
+Index: llvm-toolchain-snapshot_3.5~svn200375/configure
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn200375.orig/configure 2014-01-29 07:45:49.420720434 -0800
++++ llvm-toolchain-snapshot_3.5~svn200375/configure 2014-01-29 07:45:49.416720434 -0800
+@@ -13392,7 +13392,7 @@
+ case $llvm_cv_os_type in
+ Linux)
+ if test -n "$llvm_cv_oppath" ; then
+- LIBS="$LIBS -lopagent -L${llvm_cv_oppath} -Wl,-rpath,${llvm_cv_oppath}"
++ #LIBS="$LIBS -lopagent -L${llvm_cv_oppath} -Wl,-rpath,${llvm_cv_oppath}"
+ { echo "$as_me:$LINENO: checking for library containing bfd_init" >&5
+ echo $ECHO_N "checking for library containing bfd_init... $ECHO_C" >&6; }
+ if test "${ac_cv_search_bfd_init+set}" = set; then
+@@ -13488,7 +13488,7 @@
+ echo "${ECHO_T}$ac_cv_search_bfd_init" >&6; }
+ ac_res=$ac_cv_search_bfd_init
+ if test "$ac_res" != no; then
+- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
++ test "$ac_res" = "none required" || true
+
+ fi
+
+@@ -13524,8 +13524,8 @@
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+- ac_res=-l$ac_lib
+- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
++ ac_res="-Wl,--as-needed -l$ac_lib -Wl,--no-as-needed"
++ LIBS="-Wl,--as-needed -l$ac_lib -Wl,--no-as-needed $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { (ac_try="$ac_link"
diff --git a/debian/patches/0044-soname.diff b/debian/patches/0044-soname.diff
new file mode 100644
index 0000000..5cf7f55
--- /dev/null
+++ b/debian/patches/0044-soname.diff
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_3.5~svn199197/tools/llvm-shlib/Makefile
+===================================================================
+--- 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.
+- LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) -Wl,-Bsymbolic-functions
++ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT).1 -Wl,-Bsymbolic-functions
+ endif
+
+ ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD))
diff --git a/debian/patches/0047-version-name.diff b/debian/patches/0047-version-name.diff
new file mode 100644
index 0000000..a6baa19
--- /dev/null
+++ b/debian/patches/0047-version-name.diff
@@ -0,0 +1,28 @@
+Index: llvm-toolchain-snapshot_3.5~svn202847/autoconf/configure.ac
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn202847.orig/autoconf/configure.ac 2014-03-04 14:43:34.430731503 +0100
++++ llvm-toolchain-snapshot_3.5~svn202847/autoconf/configure.ac 2014-03-04 14:43:53.702730643 +0100
+@@ -32,7 +32,7 @@
+ dnl Initialize autoconf and define the package name, version number and
+ dnl address for reporting bugs.
+
+-AC_INIT([LLVM],[3.5.0svn],[http://llvm.org/bugs/])
++AC_INIT([LLVM],[3.5.0],[http://llvm.org/bugs/])
+
+ LLVM_VERSION_MAJOR=3
+ LLVM_VERSION_MINOR=5
+Index: llvm-toolchain-snapshot_3.5~svn202847/configure
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn202847.orig/configure 2014-03-04 14:43:34.430731503 +0100
++++ llvm-toolchain-snapshot_3.5~svn202847/configure 2014-03-04 14:44:24.942729247 +0100
+@@ -561,8 +561,8 @@
+ # Identity of this package.
+ PACKAGE_NAME='LLVM'
+ PACKAGE_TARNAME='llvm'
+-PACKAGE_VERSION='3.5.0svn'
+-PACKAGE_STRING='LLVM 3.5.0svn'
++PACKAGE_VERSION='3.5.0'
++PACKAGE_STRING='LLVM 3.5.0'
+ PACKAGE_BUGREPORT='http://llvm.org/bugs/'
+
+ ac_unique_file="lib/IR/Module.cpp"
diff --git a/debian/patches/0050-powerpcspe-fp.diff b/debian/patches/0050-powerpcspe-fp.diff
new file mode 100644
index 0000000..9bff020
--- /dev/null
+++ b/debian/patches/0050-powerpcspe-fp.diff
@@ -0,0 +1,101 @@
+ PPCJITInfo.cpp | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+Index: llvm-toolchain-snapshot_3.5~svn210337/lib/Target/PowerPC/PPCJITInfo.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn210337.orig/lib/Target/PowerPC/PPCJITInfo.cpp
++++ llvm-toolchain-snapshot_3.5~svn210337/lib/Target/PowerPC/PPCJITInfo.cpp
+@@ -105,6 +105,7 @@ asm(
+ "stw r8, 196(r1)\n" "stw r7, 192(r1)\n"
+ "stw r6, 188(r1)\n" "stw r5, 184(r1)\n"
+ "stw r4, 180(r1)\n" "stw r3, 176(r1)\n"
++#ifndef __NO_FPRS__
+ // Save all call-clobbered FP regs.
+ "stfd f13, 168(r1)\n" "stfd f12, 160(r1)\n"
+ "stfd f11, 152(r1)\n" "stfd f10, 144(r1)\n"
+@@ -113,6 +114,7 @@ asm(
+ "stfd f5, 104(r1)\n" "stfd f4, 96(r1)\n"
+ "stfd f3, 88(r1)\n" "stfd f2, 80(r1)\n"
+ "stfd f1, 72(r1)\n"
++#endif
+ // Arguments to Compilation Callback:
+ // r3 - our lr (address of the call instruction in stub plus 4)
+ // r4 - stub's lr (address of instruction that called the stub plus 4)
+@@ -128,6 +130,7 @@ asm(
+ "lwz r8, 196(r1)\n" "lwz r7, 192(r1)\n"
+ "lwz r6, 188(r1)\n" "lwz r5, 184(r1)\n"
+ "lwz r4, 180(r1)\n" "lwz r3, 176(r1)\n"
++#ifndef __NO_FPRS__
+ // Restore all FP arg registers
+ "lfd f13, 168(r1)\n" "lfd f12, 160(r1)\n"
+ "lfd f11, 152(r1)\n" "lfd f10, 144(r1)\n"
+@@ -136,6 +139,7 @@ asm(
+ "lfd f5, 104(r1)\n" "lfd f4, 96(r1)\n"
+ "lfd f3, 88(r1)\n" "lfd f2, 80(r1)\n"
+ "lfd f1, 72(r1)\n"
++#endif
+ // Pop 3 frames off the stack and branch to target
+ "lwz r1, 208(r1)\n"
+ "lwz r2, 8(r1)\n"
+@@ -170,12 +174,14 @@ asm(
+ "stw 8, 92(1)\n" "stw 7, 88(1)\n"
+ "stw 6, 84(1)\n" "stw 5, 80(1)\n"
+ "stw 4, 76(1)\n" "stw 3, 72(1)\n"
++#ifndef __NO_FPRS__
+ // Save all call-clobbered FP regs.
+ "stfd 8, 64(1)\n"
+ "stfd 7, 56(1)\n" "stfd 6, 48(1)\n"
+ "stfd 5, 40(1)\n" "stfd 4, 32(1)\n"
+ "stfd 3, 24(1)\n" "stfd 2, 16(1)\n"
+ "stfd 1, 8(1)\n"
++#endif
+ // Arguments to Compilation Callback:
+ // r3 - our lr (address of the call instruction in stub plus 4)
+ // r4 - stub's lr (address of instruction that called the stub plus 4)
+@@ -191,12 +197,14 @@ asm(
+ "lwz 8, 92(1)\n" "lwz 7, 88(1)\n"
+ "lwz 6, 84(1)\n" "lwz 5, 80(1)\n"
+ "lwz 4, 76(1)\n" "lwz 3, 72(1)\n"
++#ifndef __NO_FPRS__
+ // Restore all FP arg registers
+ "lfd 8, 64(1)\n"
+ "lfd 7, 56(1)\n" "lfd 6, 48(1)\n"
+ "lfd 5, 40(1)\n" "lfd 4, 32(1)\n"
+ "lfd 3, 24(1)\n" "lfd 2, 16(1)\n"
+ "lfd 1, 8(1)\n"
++#endif
+ // Pop 3 frames off the stack and branch to target
+ "lwz 1, 104(1)\n"
+ "lwz 0, 4(1)\n"
+@@ -252,6 +260,7 @@ asm(
+ "std 8, 256(1)\n" "std 7, 248(1)\n"
+ "std 6, 240(1)\n" "std 5, 232(1)\n"
+ "std 4, 224(1)\n" "std 3, 216(1)\n"
++#ifndef __NO_FPRS__
+ // Save all call-clobbered FP regs.
+ "stfd 13, 208(1)\n" "stfd 12, 200(1)\n"
+ "stfd 11, 192(1)\n" "stfd 10, 184(1)\n"
+@@ -260,6 +269,7 @@ asm(
+ "stfd 5, 144(1)\n" "stfd 4, 136(1)\n"
+ "stfd 3, 128(1)\n" "stfd 2, 120(1)\n"
+ "stfd 1, 112(1)\n"
++#endif
+ // Arguments to Compilation Callback:
+ // r3 - our lr (address of the call instruction in stub plus 4)
+ // r4 - stub's lr (address of instruction that called the stub plus 4)
+@@ -280,6 +290,7 @@ asm(
+ "ld 8, 256(1)\n" "ld 7, 248(1)\n"
+ "ld 6, 240(1)\n" "ld 5, 232(1)\n"
+ "ld 4, 224(1)\n" "ld 3, 216(1)\n"
++#ifndef __NO_FPRS__
+ // Restore all FP arg registers
+ "lfd 13, 208(1)\n" "lfd 12, 200(1)\n"
+ "lfd 11, 192(1)\n" "lfd 10, 184(1)\n"
+@@ -288,6 +299,7 @@ asm(
+ "lfd 5, 144(1)\n" "lfd 4, 136(1)\n"
+ "lfd 3, 128(1)\n" "lfd 2, 120(1)\n"
+ "lfd 1, 112(1)\n"
++#endif
+ // Pop 3 frames off the stack and branch to target
+ "ld 1, 280(1)\n"
+ "ld 0, 16(1)\n"
diff --git a/debian/patches/18-soname.patch b/debian/patches/18-soname.patch
new file mode 100644
index 0000000..7142fd1
--- /dev/null
+++ b/debian/patches/18-soname.patch
@@ -0,0 +1,21 @@
+Index: llvm-toolchain-snapshot_3.5~svn213052/clang/tools/libclang/Makefile
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn213052.orig/clang/tools/libclang/Makefile
++++ llvm-toolchain-snapshot_3.5~svn213052/clang/tools/libclang/Makefile
+@@ -14,6 +14,7 @@ EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/l
+
+ LINK_LIBS_IN_SHARED = 1
+ SHARED_LIBRARY = 1
++SONAME_MAJOR=1
+
+ include $(CLANG_LEVEL)/../../Makefile.config
+ LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
+@@ -34,7 +35,7 @@ include $(CLANG_LEVEL)/Makefile
+
+ # Add soname to the library.
+ ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD))
+- LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT)
++ LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT).$(SONAME_MAJOR)
+ endif
+
+ ifeq ($(ENABLE_CLANG_ARCMT),1)
diff --git a/debian/patches/19-clang_debian_version.patch b/debian/patches/19-clang_debian_version.patch
new file mode 100644
index 0000000..c530e14
--- /dev/null
+++ b/debian/patches/19-clang_debian_version.patch
@@ -0,0 +1,21 @@
+Index: llvm-toolchain-snapshot_3.5~svn210337/clang/lib/Basic/Version.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn210337.orig/clang/lib/Basic/Version.cpp
++++ llvm-toolchain-snapshot_3.5~svn210337/clang/lib/Basic/Version.cpp
+@@ -15,6 +15,7 @@
+ #include "clang/Basic/LLVM.h"
+ #include "clang/Config/config.h"
+ #include "llvm/Support/raw_ostream.h"
++#include "clang/Debian/debian_path.h"
+ #include <cstdlib>
+ #include <cstring>
+
+@@ -125,7 +126,7 @@ std::string getClangToolFullVersion(Stri
+ #ifdef CLANG_VENDOR
+ OS << CLANG_VENDOR;
+ #endif
+- OS << ToolName << " version " CLANG_VERSION_STRING " "
++ OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION " "
+ << getClangFullRepositoryVersion();
+
+ // If vendor supplied, include the base LLVM version as well.
diff --git a/debian/patches/21-searchPathHeaders.diff b/debian/patches/21-searchPathHeaders.diff
new file mode 100644
index 0000000..b005d75
--- /dev/null
+++ b/debian/patches/21-searchPathHeaders.diff
@@ -0,0 +1,16 @@
+Index: llvm-toolchain-snapshot_3.4~svn193982/clang/lib/Driver/ToolChains.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn193982.orig/clang/lib/Driver/ToolChains.cpp 2013-11-04 09:47:04.468669903 +0100
++++ llvm-toolchain-snapshot_3.4~svn193982/clang/lib/Driver/ToolChains.cpp 2013-11-04 09:47:04.464669903 +0100
+@@ -2529,6 +2529,11 @@
+ addSystemInclude(DriverArgs, CC1Args, P.str());
+ }
+
++ // Under Debian, clang headers are installed into
++ // '/usr/include/clang/VERSION/include/'
++ addSystemInclude(DriverArgs, CC1Args, "/usr/include/clang/" + std::string(CLANG_VERSION_STRING) + "/include/");
++
++
+ if (DriverArgs.hasArg(options::OPT_nostdlibinc))
+ return;
+
diff --git a/debian/patches/23-strlcpy_strlcat_warning_removed.diff b/debian/patches/23-strlcpy_strlcat_warning_removed.diff
new file mode 100644
index 0000000..5b35f80
--- /dev/null
+++ b/debian/patches/23-strlcpy_strlcat_warning_removed.diff
@@ -0,0 +1,158 @@
+Index: llvm-toolchain-snapshot_3.5~svn210317/clang/include/clang/Basic/Builtins.def
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn210317.orig/clang/include/clang/Basic/Builtins.def
++++ llvm-toolchain-snapshot_3.5~svn210317/clang/include/clang/Basic/Builtins.def
+@@ -473,8 +473,8 @@ BUILTIN(__builtin___memset_chk, "v*v*izz
+ BUILTIN(__builtin___stpcpy_chk, "c*c*cC*z", "nF")
+ BUILTIN(__builtin___strcat_chk, "c*c*cC*z", "nF")
+ BUILTIN(__builtin___strcpy_chk, "c*c*cC*z", "nF")
+-BUILTIN(__builtin___strlcat_chk, "zc*cC*zz", "nF")
+-BUILTIN(__builtin___strlcpy_chk, "zc*cC*zz", "nF")
++//BUILTIN(__builtin___strlcat_chk, "zc*cC*zz", "nF")
++//BUILTIN(__builtin___strlcpy_chk, "zc*cC*zz", "nF")
+ BUILTIN(__builtin___strncat_chk, "c*c*cC*zz", "nF")
+ BUILTIN(__builtin___strncpy_chk, "c*c*cC*zz", "nF")
+ BUILTIN(__builtin___stpncpy_chk, "c*c*cC*zz", "nF")
+@@ -775,8 +775,8 @@ LIBBUILTIN(getcontext, "iK*", "fj",
+ LIBBUILTIN(_longjmp, "vJi", "fr", "setjmp.h", ALL_GNU_LANGUAGES)
+ LIBBUILTIN(siglongjmp, "vSJi", "fr", "setjmp.h", ALL_GNU_LANGUAGES)
+ // non-standard but very common
+-LIBBUILTIN(strlcpy, "zc*cC*z", "f", "string.h", ALL_GNU_LANGUAGES)
+-LIBBUILTIN(strlcat, "zc*cC*z", "f", "string.h", ALL_GNU_LANGUAGES)
++//LIBBUILTIN(strlcpy, "zc*cC*z", "f", "string.h", ALL_GNU_LANGUAGES)
++//LIBBUILTIN(strlcat, "zc*cC*z", "f", "string.h", ALL_GNU_LANGUAGES)
+ // id objc_msgSend(id, SEL, ...)
+ LIBBUILTIN(objc_msgSend, "GGH.", "f", "objc/message.h", OBJC_LANG)
+ // long double objc_msgSend_fpret(id self, SEL op, ...)
+Index: llvm-toolchain-snapshot_3.5~svn210317/clang/lib/Sema/SemaChecking.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn210317.orig/clang/lib/Sema/SemaChecking.cpp
++++ llvm-toolchain-snapshot_3.5~svn210317/clang/lib/Sema/SemaChecking.cpp
+@@ -832,9 +832,10 @@ bool Sema::CheckFunctionCall(FunctionDec
+ return false;
+
+ // Handle memory setting and copying functions.
+- if (CMId == Builtin::BIstrlcpy || CMId == Builtin::BIstrlcat)
+- CheckStrlcpycatArguments(TheCall, FnInfo);
+- else if (CMId == Builtin::BIstrncat)
++// if (CMId == Builtin::BIstrlcpy || CMId == Builtin::BIstrlcat)
++// CheckStrlcpycatArguments(TheCall, FnInfo);
++// else
++ if (CMId == Builtin::BIstrncat)
+ CheckStrncatArguments(TheCall, FnInfo);
+ else
+ CheckMemaccessArguments(TheCall, CMId, FnInfo);
+Index: llvm-toolchain-snapshot_3.5~svn210317/clang/lib/AST/Decl.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn210317.orig/clang/lib/AST/Decl.cpp
++++ llvm-toolchain-snapshot_3.5~svn210317/clang/lib/AST/Decl.cpp
+@@ -3071,10 +3071,10 @@ unsigned FunctionDecl::getMemoryFunction
+ case Builtin::BImemmove:
+ return Builtin::BImemmove;
+
+- case Builtin::BIstrlcpy:
+- return Builtin::BIstrlcpy;
+- case Builtin::BIstrlcat:
+- return Builtin::BIstrlcat;
++// case Builtin::BIstrlcpy:
++// return Builtin::BIstrlcpy;
++// case Builtin::BIstrlcat:
++// return Builtin::BIstrlcat;
+
+ case Builtin::BI__builtin_memcmp:
+ case Builtin::BImemcmp:
+Index: llvm-toolchain-snapshot_3.5~svn210317/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn210317.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
++++ llvm-toolchain-snapshot_3.5~svn210317/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
+@@ -237,9 +237,9 @@ GenericTaintChecker::TaintPropagationRul
+ case Builtin::BIstrncpy:
+ case Builtin::BIstrncat:
+ return TaintPropagationRule(1, 2, 0, true);
+- case Builtin::BIstrlcpy:
+- case Builtin::BIstrlcat:
+- return TaintPropagationRule(1, 2, 0, false);
++// case Builtin::BIstrlcpy:
++// case Builtin::BIstrlcat:
++// return TaintPropagationRule(1, 2, 0, false);
+ case Builtin::BIstrndup:
+ return TaintPropagationRule(0, 1, ReturnValueIndex);
+
+Index: llvm-toolchain-snapshot_3.5~svn210317/clang/test/Sema/warn-strlcpycat-size.c
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn210317.orig/clang/test/Sema/warn-strlcpycat-size.c
++++ /dev/null
+@@ -1,55 +0,0 @@
+-// RUN: %clang_cc1 -Wstrlcpy-strlcat-size -verify -fsyntax-only %s
+-
+-typedef __SIZE_TYPE__ size_t;
+-size_t strlcpy (char * restrict dst, const char * restrict src, size_t size);
+-size_t strlcat (char * restrict dst, const char * restrict src, size_t size);
+-size_t strlen (const char *s);
+-
+-char s1[100];
+-char s2[200];
+-char * s3;
+-
+-struct {
+- char f1[100];
+- char f2[100][3];
+-} s4, **s5;
+-
+-int x;
+-
+-void f(void)
+-{
+- strlcpy(s1, s2, sizeof(s1)); // no warning
+- strlcpy(s1, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
+- strlcpy(s1, s3, strlen(s3)+1); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
+- strlcat(s2, s3, sizeof(s3)); // expected-warning {{size argument in 'strlcat' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
+- strlcpy(s4.f1, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
+- strlcpy((*s5)->f2[x], s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
+- strlcpy(s1+3, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}}
+-}
+-
+-// Don't issue FIXIT for flexible arrays.
+-struct S {
+- int y;
+- char x[];
+-};
+-
+-void flexible_arrays(struct S *s) {
+- char str[] = "hi";
+- strlcpy(s->x, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}}
+-}
+-
+-// Don't issue FIXIT for destinations of size 1.
+-void size_1() {
+- char z[1];
+- char str[] = "hi";
+-
+- strlcpy(z, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}}
+-}
+-
+-// Support VLAs.
+-void vlas(int size) {
+- char z[size];
+- char str[] = "hi";
+-
+- strlcpy(z, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}}
+-}
+Index: llvm-toolchain-snapshot_3.5~svn210317/clang/test/Sema/builtins.c
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn210317.orig/clang/test/Sema/builtins.c
++++ llvm-toolchain-snapshot_3.5~svn210317/clang/test/Sema/builtins.c
+@@ -185,11 +185,11 @@ void test18() {
+
+ ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src), sizeof(dst));
+ result = __builtin___strlcpy_chk(dst, src, sizeof(src), sizeof(dst));
+- result = __builtin___strlcat_chk(dst, src, sizeof(src), sizeof(dst));
++// result = __builtin___strlcat_chk(dst, src, sizeof(src), sizeof(dst));
+
+ ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src)); // expected-error {{too few arguments to function call}}
+ ptr = __builtin___strlcpy_chk(dst, src, sizeof(src), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}}
+- ptr = __builtin___strlcat_chk(dst, src, sizeof(src), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}}
++// ptr = __builtin___strlcat_chk(dst, src, sizeof(src), sizeof(dst)); // expected-warning {{incompatible integer to pointer conversion}}
+ }
+
+ void no_ms_builtins() {
diff --git a/debian/patches/26-set-correct-float-abi.diff b/debian/patches/26-set-correct-float-abi.diff
new file mode 100644
index 0000000..520d7f2
--- /dev/null
+++ b/debian/patches/26-set-correct-float-abi.diff
@@ -0,0 +1,33 @@
+Description: set correct float abi settings for armel and armhf
+ debian armel supports systems that don't have a fpu so should use a "float abi"
+ setting of soft by default.
+
+ Debian armhf needs a float abi setting of "hard"
+Author: Peter Michael Green <plugwash@debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: http://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+Index: llvm-toolchain-snapshot_3.5~svn200375/clang/lib/Driver/Tools.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn200375.orig/clang/lib/Driver/Tools.cpp 2014-01-29 07:45:42.592720648 -0800
++++ llvm-toolchain-snapshot_3.5~svn200375/clang/lib/Driver/Tools.cpp 2014-01-29 07:45:42.592720648 -0800
+@@ -649,7 +649,7 @@
+ FloatABI = "hard";
+ break;
+ case llvm::Triple::GNUEABI:
+- FloatABI = "softfp";
++ FloatABI = "soft";
+ break;
+ case llvm::Triple::EABIHF:
+ FloatABI = "hard";
diff --git a/debian/patches/27-fix_clang_stdint.diff b/debian/patches/27-fix_clang_stdint.diff
new file mode 100644
index 0000000..88852b5
--- /dev/null
+++ b/debian/patches/27-fix_clang_stdint.diff
@@ -0,0 +1,29 @@
+Index: llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Headers/stdint.h
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn188990.orig/clang/lib/Headers/stdint.h 2013-08-22 09:07:08.468609270 +0200
++++ llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Headers/stdint.h 2013-08-22 09:07:08.460609271 +0200
+@@ -22,8 +22,6 @@
+ *
+ \*===----------------------------------------------------------------------===*/
+
+-#ifndef __CLANG_STDINT_H
+-#define __CLANG_STDINT_H
+
+ /* If we're hosted, fall back to the system's stdint.h, which might have
+ * additional definitions.
+@@ -73,6 +71,8 @@
+ # endif
+
+ #else
++#ifndef __CLANG_STDINT_H
++#define __CLANG_STDINT_H
+
+ /* C99 7.18.1.1 Exact-width integer types.
+ * C99 7.18.1.2 Minimum-width integer types.
+@@ -704,5 +704,5 @@
+ #define INTMAX_C(v) __INTN_C(__INTMAX_WIDTH__, v)
+ #define UINTMAX_C(v) __UINTN_C(__INTMAX_WIDTH__, v)
+
+-#endif /* __STDC_HOSTED__ */
+ #endif /* __CLANG_STDINT_H */
++#endif /* __STDC_HOSTED__ */
diff --git a/debian/patches/30-kfreebsd.diff b/debian/patches/30-kfreebsd.diff
new file mode 100644
index 0000000..6dba9fc
--- /dev/null
+++ b/debian/patches/30-kfreebsd.diff
@@ -0,0 +1,28 @@
+Index: llvm-toolchain-3.4-3.4.1/clang/lib/Driver/ToolChains.cpp
+===================================================================
+--- llvm-toolchain-3.4-3.4.1.orig/clang/lib/Driver/ToolChains.cpp 2014-04-26 01:38:13.000000000 +0200
++++ llvm-toolchain-3.4-3.4.1/clang/lib/Driver/ToolChains.cpp 2014-05-10 12:34:16.374471699 +0200
+@@ -2588,6 +2588,10 @@
+ if (DriverArgs.hasArg(options::OPT_nostdinc))
+ return;
+
++ // Under Debian, clang headers are installed into
++ // '/usr/include/clang/VERSION/include/'
++ addSystemInclude(DriverArgs, CC1Args, "/usr/include/clang/" + std::string(CLANG_VERSION_STRING) + "/include/");
++
+ if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
+ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include");
+
+Index: llvm-toolchain-3.4-3.4.1/lldb/source/Host/common/Host.cpp
+===================================================================
+--- llvm-toolchain-3.4-3.4.1.orig/lldb/source/Host/common/Host.cpp 2013-12-16 10:49:51.000000000 +0100
++++ llvm-toolchain-3.4-3.4.1/lldb/source/Host/common/Host.cpp 2014-05-10 12:33:20.000000000 +0200
+@@ -1586,7 +1586,7 @@
+ return error;
+ }
+
+-#if defined(__linux__) or defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__GLIBC__)
+ // The functions below implement process launching via posix_spawn() for Linux
+ // and FreeBSD.
+
diff --git a/debian/patches/31-powerpcspe.diff b/debian/patches/31-powerpcspe.diff
new file mode 100644
index 0000000..8eacce7
--- /dev/null
+++ b/debian/patches/31-powerpcspe.diff
@@ -0,0 +1,15 @@
+Index: llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Lex/Makefile
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn188990.orig/clang/lib/Lex/Makefile 2013-08-22 09:07:43.368608381 +0200
++++ llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Lex/Makefile 2013-08-22 09:07:43.368608381 +0200
+@@ -17,8 +17,10 @@
+ LIBRARYNAME := clangLex
+
+ ifeq ($(ARCH),PowerPC)
++ifneq ($(shell dpkg-architecture -qDEB_HOST_ARCH),powerpcspe)
+ CXX.Flags += -maltivec
+ endif
++endif
+
+ include $(CLANG_LEVEL)/Makefile
+
diff --git a/debian/patches/34-powerpc-no-altivec.diff b/debian/patches/34-powerpc-no-altivec.diff
new file mode 100644
index 0000000..5f05828
--- /dev/null
+++ b/debian/patches/34-powerpc-no-altivec.diff
@@ -0,0 +1,24 @@
+Description: Make sure PowerPC doesn't default to altivec on
+Author: Adam Conrad <adconrad@ubuntu.com>
+Author: Peter Michael Green <plugwash@debian.org>
+Forwarded: no
+Reviewed-By: Colin Watson <cjwatson@ubuntu.com>
+
+Last-Update: 2013-04-01
+
+Index: llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Lex/Makefile
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn188990.orig/clang/lib/Lex/Makefile 2013-08-22 09:11:26.616602695 +0200
++++ llvm-toolchain-snapshot_3.4~svn188990/clang/lib/Lex/Makefile 2013-08-22 09:11:26.616602695 +0200
+@@ -16,11 +16,5 @@
+
+ LIBRARYNAME := clangLex
+
+-ifeq ($(ARCH),PowerPC)
+-ifneq ($(shell dpkg-architecture -qDEB_HOST_ARCH),powerpcspe)
+-CXX.Flags += -maltivec
+-endif
+-endif
+-
+ include $(CLANG_LEVEL)/Makefile
+
diff --git a/debian/patches/atomic_library_1.diff b/debian/patches/atomic_library_1.diff
new file mode 100644
index 0000000..256cf70
--- /dev/null
+++ b/debian/patches/atomic_library_1.diff
@@ -0,0 +1,45 @@
+Index: llvm-toolchain-snapshot_3.5~svn205090/clang/lib/Basic/Targets.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn205090.orig/clang/lib/Basic/Targets.cpp 2014-03-29 12:14:58.543982773 +0100
++++ llvm-toolchain-snapshot_3.5~svn205090/clang/lib/Basic/Targets.cpp 2014-03-29 12:14:58.543982773 +0100
+@@ -3843,6 +3843,20 @@
+ // FIXME: Override "preferred align" for double and long long.
+ }
+
++ static bool shouldUseInlineAtomic(const llvm::Triple &T) {
++ // On linux, binaries targeting old cpus call functions in libgcc to
++ // perform atomic operations. The implementation in libgcc then calls into
++ // the kernel which on armv6 and newer uses ldrex and strex. The net result
++ // is that if we assume the kernel is at least as recent as the hardware,
++ // it is safe to use atomic instructions on armv6 and newer.
++ if (T.getOS() != llvm::Triple::Linux)
++ return false;
++ StringRef ArchName = T.getArchName();
++ if (ArchName.startswith("armv6") || ArchName.startswith("armv7"))
++ return true;
++ return false;
++ }
++
+ public:
+ ARMTargetInfo(const llvm::Triple &Triple, bool IsBigEndian)
+ : TargetInfo(Triple), CPU("arm1136j-s"), FPMath(FP_Default),
+Index: llvm-toolchain-snapshot_3.5~svn205090/clang/test/CodeGen/linux-arm-atomic.c
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn205090.orig/clang/test/CodeGen/linux-arm-atomic.c 2014-03-29 12:14:58.543982773 +0100
++++ llvm-toolchain-snapshot_3.5~svn205090/clang/test/CodeGen/linux-arm-atomic.c 2014-03-29 12:14:58.543982773 +0100
+@@ -1,5 +1,15 @@
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv7-unknown-linux | FileCheck %s
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s
++
++typedef int _Atomic_word;
++_Atomic_word exchange_and_add(volatile _Atomic_word *__mem, int __val) {
++ return __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL);
++}
++
++// CHECK: define {{.*}} @exchange_and_add
++// CHECK: atomicrmw {{.*}} add
++// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv7-unknown-linux | FileCheck %s
++// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=thumbv7-unknown-linux | FileCheck %s
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-freebsd | FileCheck %s
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-bitrig | FileCheck %s
diff --git a/debian/patches/atomic_library_2.diff b/debian/patches/atomic_library_2.diff
new file mode 100644
index 0000000..01548c6
--- /dev/null
+++ b/debian/patches/atomic_library_2.diff
@@ -0,0 +1,42 @@
+Index: llvm-toolchain-snapshot_3.5~svn201651/clang/test/CodeGen/linux-arm-atomic.c
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201651.orig/clang/test/CodeGen/linux-arm-atomic.c 2014-02-19 09:46:27.872584164 +0100
++++ llvm-toolchain-snapshot_3.5~svn201651/clang/test/CodeGen/linux-arm-atomic.c 2014-02-19 09:46:29.748703000 +0100
+@@ -1,5 +1,6 @@
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv7-unknown-linux | FileCheck %s
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s
++// RUN: %clang_cc1 %s -emit-llvm -o - -triple=thumbv7-unknown-linux | FileCheck %s
+
+ typedef int _Atomic_word;
+ _Atomic_word exchange_and_add(volatile _Atomic_word *__mem, int __val) {
+Index: llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Basic/Targets.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201651.orig/clang/lib/Basic/Targets.cpp 2014-02-19 09:46:27.872584164 +0100
++++ llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Basic/Targets.cpp 2014-02-19 09:46:29.748703000 +0100
+@@ -3774,9 +3774,23 @@
+ if (T.getOS() != llvm::Triple::Linux)
+ return false;
+ StringRef ArchName = T.getArchName();
+- if (ArchName.startswith("armv6") || ArchName.startswith("armv7"))
+- return true;
+- return false;
++ if (T.getArch() == llvm::Triple::arm) {
++ if (!ArchName.startswith("armv"))
++ return false;
++ StringRef VersionStr = ArchName.substr(4);
++ unsigned Version;
++ if (VersionStr.getAsInteger(10, Version))
++ return false;
++ return Version >= 6;
++ }
++ assert(T.getArch() == llvm::Triple::thumb);
++ if (!ArchName.startswith("thumbv"))
++ return false;
++ StringRef VersionStr = ArchName.substr(6);
++ unsigned Version;
++ if (VersionStr.getAsInteger(10, Version))
++ return false;
++ return Version >= 7;
+ }
+
+ public:
diff --git a/debian/patches/clang-format-version.diff b/debian/patches/clang-format-version.diff
new file mode 100644
index 0000000..89b7864
--- /dev/null
+++ b/debian/patches/clang-format-version.diff
@@ -0,0 +1,39 @@
+Index: llvm-toolchain-snapshot_3.4~svn193603/clang/tools/clang-format/clang-format.py
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn193603.orig/clang/tools/clang-format/clang-format.py 2013-10-29 12:26:23.002137599 +0100
++++ llvm-toolchain-snapshot_3.4~svn193603/clang/tools/clang-format/clang-format.py 2013-10-29 12:26:23.002137599 +0100
+@@ -24,7 +24,7 @@
+ import vim
+
+ # Change this to the full path if clang-format is not on the path.
+-binary = 'clang-format'
++binary = 'clang-format-3.5'
+
+ # Change this to format according to other formatting styles. See the output of
+ # 'clang-format --help' for a list of supported styles. The default looks for
+Index: llvm-toolchain-snapshot_3.4~svn193603/clang/tools/clang-format/clang-format-diff.py
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn193603.orig/clang/tools/clang-format/clang-format-diff.py 2013-10-29 12:26:23.002137599 +0100
++++ llvm-toolchain-snapshot_3.4~svn193603/clang/tools/clang-format/clang-format-diff.py 2013-10-29 12:26:23.002137599 +0100
+@@ -31,7 +31,7 @@
+
+
+ # Change this to the full path if clang-format is not on the path.
+-binary = 'clang-format'
++binary = 'clang-format-3.5'
+
+
+ def main():
+Index: llvm-toolchain-snapshot_3.4~svn193603/clang/tools/clang-format/clang-format.el
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn193603.orig/clang/tools/clang-format/clang-format.el 2013-10-29 12:26:23.002137599 +0100
++++ llvm-toolchain-snapshot_3.4~svn193603/clang/tools/clang-format/clang-format.el 2013-10-29 12:26:23.002137599 +0100
+@@ -13,7 +13,7 @@
+
+ ;; *Location of the clang-format binary. If it is on your PATH, a full path name
+ ;; need not be specified.
+-(defvar clang-format-binary "clang-format")
++(defvar clang-format-binary "clang-format-3.5")
+
+ (defun clang-format-region ()
+ "Use clang-format to format the currently active region."
diff --git a/debian/patches/compiler-rt-path.diff b/debian/patches/compiler-rt-path.diff
new file mode 100644
index 0000000..e24268f
--- /dev/null
+++ b/debian/patches/compiler-rt-path.diff
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot-3.5~svn208979/compiler-rt/make/platform/clang_linux.mk
+===================================================================
+--- llvm-toolchain-snapshot-3.5~svn208979.orig/compiler-rt/make/platform/clang_linux.mk 2014-05-16 19:13:05.702922367 +0200
++++ llvm-toolchain-snapshot-3.5~svn208979/compiler-rt/make/platform/clang_linux.mk 2014-05-16 19:13:27.551329647 +0200
+@@ -11,7 +11,7 @@
+ # cross compilers). For now, we just find the target architecture of the
+ # compiler and only define configurations we know that compiler can generate.
+ CompilerTargetTriple := $(shell \
+- LANG=C $(CC) -v 2>&1 | grep 'Target:' | cut -d' ' -f2)
++ LD_LIBRARY_PATH=../build-llvm/Release/lib LANG=C $(CC) -v 2>&1 | grep 'Target:' | cut -d' ' -f2)
+ ifeq ($(CompilerTargetTriple),)
+ $(error "unable to infer compiler target triple for $(CC)")
+ endif
diff --git a/debian/patches/declare_clear_cache.diff b/debian/patches/declare_clear_cache.diff
new file mode 100644
index 0000000..42491b9
--- /dev/null
+++ b/debian/patches/declare_clear_cache.diff
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_3.4~svn188990/lib/Support/Unix/Memory.inc
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn188990.orig/lib/Support/Unix/Memory.inc 2013-08-22 09:07:39.252608486 +0200
++++ llvm-toolchain-snapshot_3.4~svn188990/lib/Support/Unix/Memory.inc 2013-08-22 09:07:39.248608486 +0200
+@@ -336,7 +336,7 @@
+ // FIXME: Can we safely always call this for __GNUC__ everywhere?
+ const char *Start = static_cast<const char *>(Addr);
+ const char *End = Start + Len;
+- __clear_cache(const_cast<char *>(Start), const_cast<char *>(End));
++ __builtin___clear_cache(const_cast<char *>(Start), const_cast<char *>(End));
+ # elif defined(__mips__)
+ const char *Start = static_cast<const char *>(Addr);
+ # if defined(ANDROID)
diff --git a/debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff b/debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff
new file mode 100644
index 0000000..772cbec
--- /dev/null
+++ b/debian/patches/disable-display-PASS-UNSUPPORTED-XFAIL.diff
@@ -0,0 +1,54 @@
+Index: llvm-toolchain-snapshot_3.5~svn201241/lldb/test/dotest.py
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201241.orig/lldb/test/dotest.py 2014-01-30 21:19:22.000000000 +0100
++++ llvm-toolchain-snapshot_3.5~svn201241/lldb/test/dotest.py 2014-02-12 17:04:14.971889980 +0100
+@@ -1612,8 +1612,8 @@
+ def addSuccess(self, test):
+ global parsable
+ super(LLDBTestResult, self).addSuccess(test)
+- if parsable:
+- self.stream.write("PASS: LLDB (%s) :: %s\n" % (self._config_string(test), str(test)))
++# if parsable:
++# self.stream.write("PASS: LLDB (%s) :: %s\n" % (self._config_string(test), str(test)))
+
+ def addError(self, test, err):
+ global sdir_has_content
+@@ -1653,8 +1653,8 @@
+ method = getattr(test, "markExpectedFailure", None)
+ if method:
+ method(err, bugnumber)
+- if parsable:
+- self.stream.write("XFAIL: LLDB (%s) :: %s\n" % (self._config_string(test), str(test)))
++# if parsable:
++# self.stream.write("XFAIL: LLDB (%s) :: %s\n" % (self._config_string(test), str(test)))
+
+ def addSkip(self, test, reason):
+ global sdir_has_content
+@@ -1664,8 +1664,8 @@
+ method = getattr(test, "markSkippedTest", None)
+ if method:
+ method()
+- if parsable:
+- self.stream.write("UNSUPPORTED: LLDB (%s) :: %s (%s) \n" % (self._config_string(test), str(test), reason))
++# if parsable:
++# self.stream.write("UNSUPPORTED: LLDB (%s) :: %s (%s) \n" % (self._config_string(test), str(test), reason))
+
+ def addUnexpectedSuccess(self, test, bugnumber):
+ global sdir_has_content
+Index: llvm-toolchain-snapshot_3.5~svn201241/lldb/test/unittest2/runner.py
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201241.orig/lldb/test/unittest2/runner.py 2013-09-25 22:47:51.000000000 +0200
++++ llvm-toolchain-snapshot_3.5~svn201241/lldb/test/unittest2/runner.py 2014-02-12 17:04:14.971889980 +0100
+@@ -171,9 +171,9 @@
+ if hasattr(result, 'separator2'):
+ self.stream.writeln(result.separator2)
+ run = result.testsRun
+- self.stream.writeln("Ran %d test%s in %.3fs" %
+- (run, run != 1 and "s" or "", timeTaken))
+- self.stream.writeln()
++# self.stream.writeln("Ran %d test%s in %.3fs" %
++# (run, run != 1 and "s" or "", timeTaken))
++# self.stream.writeln()
+
+ expectedFails = unexpectedSuccesses = skipped = 0
+ try:
diff --git a/debian/patches/disable-execinfo-usage.diff b/debian/patches/disable-execinfo-usage.diff
new file mode 100644
index 0000000..41fd33d
--- /dev/null
+++ b/debian/patches/disable-execinfo-usage.diff
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_3.5~svn200683/lldb/lib/Makefile
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn200683.orig/lldb/lib/Makefile 2014-02-03 11:55:31.481978272 +0100
++++ llvm-toolchain-snapshot_3.5~svn200683/lldb/lib/Makefile 2014-02-03 11:56:18.401976802 +0100
+@@ -160,6 +160,7 @@
+ # Allow unresolved symbols.
+ LLVMLibsOptions += -Wl,--allow-shlib-undefined
+ # Link in python
+- LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt -L/usr/local/lib -lexecinfo \
++ LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt \
+ -ledit -lncurses -lpanel
++# -L/usr/local/lib -lexecinfo
+ endif
diff --git a/debian/patches/disabletestlldb.diff b/debian/patches/disabletestlldb.diff
new file mode 100644
index 0000000..7b33002
--- /dev/null
+++ b/debian/patches/disabletestlldb.diff
@@ -0,0 +1,12 @@
+Index: llvm-toolchain-3.3-3.3/lldb/test/functionalities/thread/break_after_join/TestBreakAfterJoin.py
+===================================================================
+--- llvm-toolchain-3.3-3.3.orig/lldb/test/functionalities/thread/break_after_join/TestBreakAfterJoin.py (révision 183568)
++++ llvm-toolchain-3.3-3.3/lldb/test/functionalities/thread/break_after_join/TestBreakAfterJoin.py (révision 183569)
+@@ -21,6 +21,7 @@
+ self.breakpoint_after_join_test()
+
+ @expectedFailureDarwin("llvm.org/pr15824") # thread states not properly maintained
++ @skipIfLinux # Causes hangs (llvm.org/pr16170) when run using "make check"
+ @dwarf_test
+ def test_with_dwarf(self):
+ """Test breakpoint handling after a thread join."""
diff --git a/debian/patches/do-not-fail-on-unexpected-pass.diff b/debian/patches/do-not-fail-on-unexpected-pass.diff
new file mode 100644
index 0000000..87dc3dd
--- /dev/null
+++ b/debian/patches/do-not-fail-on-unexpected-pass.diff
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-3.4-3.4~+rc1/utils/lit/lit/Test.py
+===================================================================
+--- llvm-toolchain-3.4-3.4~+rc1.orig/utils/lit/lit/Test.py 2013-09-14 03:19:17.000000000 +0200
++++ llvm-toolchain-3.4-3.4~+rc1/utils/lit/lit/Test.py 2013-12-01 23:11:25.721571881 +0100
+@@ -27,7 +27,7 @@
+ PASS = ResultCode('PASS', False)
+ XFAIL = ResultCode('XFAIL', False)
+ FAIL = ResultCode('FAIL', True)
+-XPASS = ResultCode('XPASS', True)
++XPASS = ResultCode('XPASS', False)
+ UNRESOLVED = ResultCode('UNRESOLVED', True)
+ UNSUPPORTED = ResultCode('UNSUPPORTED', False)
+
diff --git a/debian/patches/fix-clang-path-and-build.diff b/debian/patches/fix-clang-path-and-build.diff
new file mode 100644
index 0000000..aa9d0ba
--- /dev/null
+++ b/debian/patches/fix-clang-path-and-build.diff
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Driver/ToolChains.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201651.orig/clang/lib/Driver/ToolChains.cpp 2014-02-19 09:46:23.400300812 +0100
++++ llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Driver/ToolChains.cpp 2014-02-19 09:46:35.377059510 +0100
+@@ -2326,6 +2326,8 @@
+ DriverArgs.hasArg(options::OPT_nostdincxx))
+ return;
+
++ addSystemInclude(DriverArgs, CC1Args, "/usr/include/clang/" + std::string(CLANG_VERSION_STRING) + "/include/");
++
+ switch (GetCXXStdlibType(DriverArgs)) {
+ case ToolChain::CST_Libcxx:
+ addSystemInclude(DriverArgs, CC1Args,
diff --git a/debian/patches/fix-llvm-config-obj-src-root.patch b/debian/patches/fix-llvm-config-obj-src-root.patch
new file mode 100644
index 0000000..49a21a9
--- /dev/null
+++ b/debian/patches/fix-llvm-config-obj-src-root.patch
@@ -0,0 +1,16 @@
+Index: llvm-toolchain-snapshot_3.5~svn201239/tools/llvm-config/llvm-config.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201239.orig/tools/llvm-config/llvm-config.cpp 2014-02-12 16:21:54.713558937 +0100
++++ llvm-toolchain-snapshot_3.5~svn201239/tools/llvm-config/llvm-config.cpp 2014-02-12 16:34:24.993540587 +0100
+@@ -321,9 +321,9 @@
+ OS << "ON\n";
+ #endif
+ } else if (Arg == "--obj-root") {
+- OS << ActivePrefix << '\n';
++ OS << ActivePrefix << "/build/" << '\n';
+ } else if (Arg == "--src-root") {
+- OS << LLVM_SRC_ROOT << '\n';
++ OS << ActivePrefix << "/build/" << '\n';
+ } else {
+ usage();
+ }
diff --git a/debian/patches/follow-parallel-var.diff b/debian/patches/follow-parallel-var.diff
new file mode 100644
index 0000000..45af781
--- /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/force-gcc-header-obj.diff b/debian/patches/force-gcc-header-obj.diff
new file mode 100644
index 0000000..bcd2cbd
--- /dev/null
+++ b/debian/patches/force-gcc-header-obj.diff
@@ -0,0 +1,16 @@
+Index: llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Driver/ToolChains.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201651.orig/clang/lib/Driver/ToolChains.cpp 2014-02-19 09:46:43.433569829 +0100
++++ llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Driver/ToolChains.cpp 2014-02-19 09:46:45.621708435 +0100
+@@ -3078,6 +3078,11 @@
+ return;
+ }
+
++ // Force the inclusion of the gcc headers (objc/objc.h)
++ addExternCSystemIncludeIfExists(
++ DriverArgs, CC1Args, GCCInstallation.getInstallPath() + "/include");
++
++
+ // Lacking those, try to detect the correct set of system includes for the
+ // target triple.
+
diff --git a/debian/patches/force-link-pass.o.diff b/debian/patches/force-link-pass.o.diff
new file mode 100644
index 0000000..acc4c13
--- /dev/null
+++ b/debian/patches/force-link-pass.o.diff
@@ -0,0 +1,28 @@
+Index: llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
+===================================================================
+--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/bugpoint/Makefile
++++ llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
+@@ -12,6 +12,9 @@ TOOLNAME := bugpoint
+ LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \
+ bitwriter irreader vectorize objcarcopts codegen
+
++# Crappy workaround to make sure it links correctly.
++LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
++
+ # Support plugins.
+ NO_DEAD_STRIP := 1
+
+Index: llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
+===================================================================
+--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/opt/Makefile
++++ llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
+@@ -10,7 +10,9 @@
+ LEVEL := ../..
+ TOOLNAME := opt
+ LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen
++# Crappy workaround to make sure it links correctly.
+
++LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
+ # Support plugins.
+ NO_DEAD_STRIP := 1
+
diff --git a/debian/patches/hurd-EIEIO-undef.diff b/debian/patches/hurd-EIEIO-undef.diff
new file mode 100644
index 0000000..02f409e
--- /dev/null
+++ b/debian/patches/hurd-EIEIO-undef.diff
@@ -0,0 +1,14 @@
+Index: llvm-toolchain-3.4-3.4.2/utils/TableGen/InstrInfoEmitter.cpp
+===================================================================
+--- llvm-toolchain-3.4-3.4.2.orig/utils/TableGen/InstrInfoEmitter.cpp
++++ llvm-toolchain-3.4-3.4.2/utils/TableGen/InstrInfoEmitter.cpp
+@@ -569,6 +569,9 @@ void InstrInfoEmitter::emitEnums(raw_ost
+ OS << "\n#ifdef GET_INSTRINFO_ENUM\n";
+ OS << "#undef GET_INSTRINFO_ENUM\n";
+
++ OS << "// Undef for HURD\n";
++ OS << "#ifdef EIEIO\n#undef EIEIO\n#endif\n";
++
+ OS << "namespace llvm {\n\n";
+
+ CodeGenTarget Target(Records);
diff --git a/debian/patches/hurd-pathmax.diff b/debian/patches/hurd-pathmax.diff
new file mode 100644
index 0000000..edda340
--- /dev/null
+++ b/debian/patches/hurd-pathmax.diff
@@ -0,0 +1,43 @@
+Index: llvm-toolchain-snapshot_3.5~svn211597/clang/lib/Basic/FileManager.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211597.orig/clang/lib/Basic/FileManager.cpp
++++ llvm-toolchain-snapshot_3.5~svn211597/clang/lib/Basic/FileManager.cpp
+@@ -492,6 +492,10 @@ void FileManager::invalidateCache(const
+ UniqueRealFiles.erase(Entry->getUniqueID());
+ }
+
++// For GNU Hurd
++#if defined(__GNU__) && !defined(PATH_MAX)
++# define PATH_MAX 4096
++#endif
+
+ void FileManager::GetUniqueIDMapping(
+ SmallVectorImpl<const FileEntry *> &UIDToFiles) const {
+Index: llvm-toolchain-snapshot_3.5~svn211597/lldb/include/lldb/lldb-defines.h
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211597.orig/lldb/include/lldb/lldb-defines.h
++++ llvm-toolchain-snapshot_3.5~svn211597/lldb/include/lldb/lldb-defines.h
+@@ -28,6 +28,11 @@
+ #define INT32_MAX 2147483647
+ #endif
+
++// For GNU Hurd
++#if defined(__GNU__) && !defined(PATH_MAX)
++# define PATH_MAX 4096
++#endif
++
+ #if !defined(UINT32_MAX)
+ #define UINT32_MAX 4294967295U
+ #endif
+Index: llvm-toolchain-snapshot_3.5~svn211597/lib/Support/Unix/Path.inc
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211597.orig/lib/Support/Unix/Path.inc
++++ llvm-toolchain-snapshot_3.5~svn211597/lib/Support/Unix/Path.inc
+@@ -58,6 +58,7 @@
+ // For GNU Hurd
+ #if defined(__GNU__) && !defined(PATH_MAX)
+ # define PATH_MAX 4096
++# define MAXPATHLEN 4096
+ #endif
+
+ using namespace llvm;
diff --git a/debian/patches/hurd.diff b/debian/patches/hurd.diff
new file mode 100644
index 0000000..6427d1d
--- /dev/null
+++ b/debian/patches/hurd.diff
@@ -0,0 +1,19 @@
+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/clang/lib/Basic/FileManager.cpp 2013-08-18 16:44:39.364713179 +0200
+@@ -43,6 +43,14 @@
+ #if defined(LLVM_ON_UNIX)
+ #include <limits.h>
+ #endif
++
++// For GNU Hurd
++#if defined(__GNU__) && !defined(PATH_MAX)
++# define PATH_MAX 4096
++#endif
++
++
++
+ using namespace clang;
+
+ // FIXME: Enhance libsystem to support inode and other fields.
diff --git a/debian/patches/include-target.diff b/debian/patches/include-target.diff
new file mode 100644
index 0000000..7bdcfe3
--- /dev/null
+++ b/debian/patches/include-target.diff
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Driver/ToolChains.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201651.orig/clang/lib/Driver/ToolChains.cpp 2014-02-19 09:46:35.377059510 +0100
++++ llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Driver/ToolChains.cpp 2014-02-19 09:46:39.989351664 +0100
+@@ -3241,7 +3241,7 @@
+
+ #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);
++ addLibStdCXXIncludePaths( "/usr/include/", "/c++/" + Version.Text, "i386-linux-gnu", Multilib.includeSuffix(), DriverArgs, CC1Args);
+ #endif
+
+ if (addLibStdCXXIncludePaths(LibDir.str() + "/../include",
diff --git a/debian/patches/kfreebsd_ptrace_kludge.diff b/debian/patches/kfreebsd_ptrace_kludge.diff
new file mode 100644
index 0000000..0954a96
--- /dev/null
+++ b/debian/patches/kfreebsd_ptrace_kludge.diff
@@ -0,0 +1,81 @@
+Index: llvm-toolchain-snapshot_3.4~svn188146/lldb/source/Host/freebsd/Host.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn188146.orig/lldb/source/Host/freebsd/Host.cpp 2013-08-11 10:01:39.192734591 +0200
++++ llvm-toolchain-snapshot_3.4~svn188146/lldb/source/Host/freebsd/Host.cpp 2013-08-11 10:01:39.188734591 +0200
+@@ -20,6 +20,35 @@
+ #include <sys/exec.h>
+ #include <machine/elf.h>
+
++#include <signal.h>
++#include <sys/kern/param.h>
++#include <machine/reg.h>
++
++#define PT_LWPINFO 13 /* Info about the LWP that stopped. */
++#define PT_GETNUMLWPS 14 /* get total number of threads */
++#define PT_GETLWPLIST 15 /* get thread list */
++
++/* Argument structure for PT_LWPINFO. */
++struct ptrace_lwpinfo {
++ __lwpid_t pl_lwpid; /* LWP described. */
++ int pl_event; /* Event that stopped the LWP. */
++#define PL_EVENT_NONE 0
++#define PL_EVENT_SIGNAL 1
++ int pl_flags; /* LWP flags. */
++#define PL_FLAG_SA 0x01 /* M:N thread */
++#define PL_FLAG_BOUND 0x02 /* M:N bound thread */
++#define PL_FLAG_SCE 0x04 /* syscall enter point */
++#define PL_FLAG_SCX 0x08 /* syscall leave point */
++#define PL_FLAG_EXEC 0x10 /* exec(2) succeeded */
++#define PL_FLAG_SI 0x20 /* siginfo is valid */
++#define PL_FLAG_FORKED 0x40 /* new child */
++#define PL_FLAG_CHILD 0x80 /* I am from child */
++ sigset_t pl_sigmask; /* LWP signal mask */
++ sigset_t pl_siglist; /* LWP pending signal */
++ struct siginfo pl_siginfo; /* siginfo for signal */
++ char pl_tdname[MAXCOMLEN + 1]; /* LWP name */
++ int pl_child_pid; /* New child pid */
++};
+
+ // C++ Includes
+ // Other libraries and framework includes
+Index: llvm-toolchain-snapshot_3.4~svn188146/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.4~svn188146.orig/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp 2013-08-11 10:01:39.192734591 +0200
++++ llvm-toolchain-snapshot_3.4~svn188146/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp 2013-08-11 10:01:39.188734591 +0200
+@@ -19,6 +19,36 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+
++#include <signal.h>
++#include <sys/kern/param.h>
++#include <machine/reg.h>
++
++#define PT_LWPINFO 13 /* Info about the LWP that stopped. */
++#define PT_GETNUMLWPS 14 /* get total number of threads */
++#define PT_GETLWPLIST 15 /* get thread list */
++
++/* Argument structure for PT_LWPINFO. */
++struct ptrace_lwpinfo {
++ __lwpid_t pl_lwpid; /* LWP described. */
++ int pl_event; /* Event that stopped the LWP. */
++#define PL_EVENT_NONE 0
++#define PL_EVENT_SIGNAL 1
++ int pl_flags; /* LWP flags. */
++#define PL_FLAG_SA 0x01 /* M:N thread */
++#define PL_FLAG_BOUND 0x02 /* M:N bound thread */
++#define PL_FLAG_SCE 0x04 /* syscall enter point */
++#define PL_FLAG_SCX 0x08 /* syscall leave point */
++#define PL_FLAG_EXEC 0x10 /* exec(2) succeeded */
++#define PL_FLAG_SI 0x20 /* siginfo is valid */
++#define PL_FLAG_FORKED 0x40 /* new child */
++#define PL_FLAG_CHILD 0x80 /* I am from child */
++ sigset_t pl_sigmask; /* LWP signal mask */
++ sigset_t pl_siglist; /* LWP pending signal */
++ struct siginfo pl_siginfo; /* siginfo for signal */
++ char pl_tdname[MAXCOMLEN + 1]; /* LWP name */
++ int pl_child_pid; /* New child pid */
++};
++
+ // C++ Includes
+ // Other libraries and framework includes
+ #include "lldb/Core/Error.h"
diff --git a/debian/patches/kfreebsd_v2.diff b/debian/patches/kfreebsd_v2.diff
new file mode 100644
index 0000000..ca1b47e
--- /dev/null
+++ b/debian/patches/kfreebsd_v2.diff
@@ -0,0 +1,319 @@
+--- a/lldb/source/Host/common/Host.cpp
++++ b/lldb/source/Host/common/Host.cpp
+@@ -27,7 +27,7 @@
+ #include <mach-o/dyld.h>
+ #include <mach/mach_port.h>
+
+-#elif defined (__linux__) || defined(__FreeBSD_kernel__)
++#elif defined (__linux__) || defined(__GLIBC__)
+ /* Linux or the FreeBSD kernel with glibc (Debian KFreeBSD for example) */
+
+ #include <sys/wait.h>
+@@ -524,7 +524,7 @@
+ {
+ }
+
+-#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__linux__) // see macosx/Host.mm
++#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__FreeBSD_kernel__) && !defined (__linux__) // see macosx/Host.mm
+
+ void
+ Host::ThreadCreated (const char *thread_name)
+@@ -544,7 +544,7 @@
+ return 0;
+ }
+
+-#endif // #if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__linux__)
++#endif // #if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__FreeBSD_kernel__) && !defined (__linux__)
+
+ struct HostThreadCreateInfo
+ {
+@@ -684,7 +684,7 @@
+ return true;
+ }
+ return false;
+-#elif defined (__linux__)
++#elif defined (__linux__) || defined (__GLIBC__)
+ void *fn = dlsym (RTLD_DEFAULT, "pthread_setname_np");
+ if (fn)
+ {
+@@ -742,7 +742,7 @@
+ exe_path[len] = 0;
+ g_program_filespec.SetFile(exe_path, false);
+ }
+-#elif defined (__FreeBSD__)
++#elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
+ int exe_path_mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, getpid() };
+ size_t exe_path_size;
+ if (sysctl(exe_path_mib, 4, NULL, &exe_path_size, NULL, 0) == 0)
+@@ -1180,7 +1180,7 @@
+ return NULL;
+ }
+
+-#if !defined (__APPLE__) && !defined (__FreeBSD__) // see macosx/Host.mm
++#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__FreeBSD_kernel__) // see macosx/Host.mm
+ bool
+ Host::GetOSBuildString (std::string &s)
+ {
+@@ -1229,7 +1229,7 @@
+ }
+ #endif // #if !defined (__APPLE__) && !defined(__linux__)
+
+-#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined(__linux__)
++#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__FreeBSD_kernel__) && !defined(__linux__)
+ bool
+ Host::GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &process_info)
+ {
+@@ -1443,7 +1443,7 @@
+ static uint32_t g_num_cores = UINT32_MAX;
+ if (g_num_cores == UINT32_MAX)
+ {
+-#if defined(__APPLE__) or defined (__linux__) or defined (__FreeBSD__)
++#if defined(__APPLE__) or defined (__linux__) or defined (__FreeBSD__) or defined (__FreeBSD_kernel__)
+
+ g_num_cores = ::sysconf(_SC_NPROCESSORS_ONLN);
+
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -275,10 +275,12 @@
+ BuildMode := Release
+ # Don't use -fomit-frame-pointer on Darwin or FreeBSD.
+ ifneq ($(HOST_OS),FreeBSD)
++ ifneq ($(HOST_OS),GNU/kFreeBSD)
+ ifneq ($(HOST_OS),Darwin)
+ OmitFramePointer := -fomit-frame-pointer
+ endif
+ endif
++ endif
+
+ CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
+ C.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
+@@ -1454,7 +1456,7 @@
+ endif
+ endif
+
+-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD GNU))
++ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD GNU/kFreeBSD GNU))
+ ifneq ($(ARCH), Mips)
+ LD.Flags += -Wl,--version-script=$(LLVM_SRC_ROOT)/autoconf/ExportMap.map
+ endif
+--- a/autoconf/configure.ac
++++ b/autoconf/configure.ac
+@@ -222,11 +222,16 @@
+ llvm_cv_no_link_all_option="-Wl,-noall_load"
+ llvm_cv_os_type="Minix"
+ llvm_cv_platform_type="Unix" ;;
+- *-*-freebsd* | *-*-kfreebsd-gnu)
++ *-*-freebsd*)
+ llvm_cv_link_all_option="-Wl,--whole-archive"
+ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
+ llvm_cv_os_type="FreeBSD"
+ llvm_cv_platform_type="Unix" ;;
++ *-*-kfreebsd-gnu)
++ llvm_cv_link_all_option="-Wl,--whole-archive"
++ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
++ llvm_cv_os_type="GNU/kFreeBSD"
++ llvm_cv_platform_type="Unix" ;;
+ *-*-openbsd*)
+ llvm_cv_link_all_option="-Wl,--whole-archive"
+ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
+@@ -317,8 +322,10 @@
+ llvm_cv_target_os_type="Darwin" ;;
+ *-*-minix*)
+ llvm_cv_target_os_type="Minix" ;;
+- *-*-freebsd* | *-*-kfreebsd-gnu)
++ *-*-freebsd*)
+ llvm_cv_target_os_type="FreeBSD" ;;
++ *-*-kfreebsd-gnu)
++ llvm_cv_target_os_type="GNU/kFreeBSD" ;;
+ *-*-openbsd*)
+ llvm_cv_target_os_type="OpenBSD" ;;
+ *-*-netbsd*)
+--- a/clang/tools/libclang/Makefile
++++ b/clang/tools/libclang/Makefile
+@@ -30,7 +30,7 @@
+ include $(CLANG_LEVEL)/Makefile
+
+ # Add soname to the library.
+-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU))
++ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD))
+ LDFLAGS += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT).$(SONAME_MAJOR)
+ endif
+
+--- a/configure
++++ b/configure
+@@ -3824,11 +3824,16 @@
+ llvm_cv_no_link_all_option="-Wl,-noall_load"
+ llvm_cv_os_type="Minix"
+ llvm_cv_platform_type="Unix" ;;
+- *-*-freebsd* | *-*-kfreebsd-gnu)
++ *-*-freebsd*)
+ llvm_cv_link_all_option="-Wl,--whole-archive"
+ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
+ llvm_cv_os_type="FreeBSD"
+ llvm_cv_platform_type="Unix" ;;
++ *-*-kfreebsd-gnu)
++ llvm_cv_link_all_option="-Wl,--whole-archive"
++ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
++ llvm_cv_os_type="GNU/kFreeBSD"
++ llvm_cv_platform_type="Unix" ;;
+ *-*-openbsd*)
+ llvm_cv_link_all_option="-Wl,--whole-archive"
+ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
+@@ -3925,8 +3930,10 @@
+ llvm_cv_target_os_type="Darwin" ;;
+ *-*-minix*)
+ llvm_cv_target_os_type="Minix" ;;
+- *-*-freebsd* | *-*-kfreebsd-gnu)
++ *-*-freebsd*)
+ llvm_cv_target_os_type="FreeBSD" ;;
++ *-*-kfreebsd-gnu)
++ llvm_cv_target_os_type="GNU/kFreeBSD" ;;
+ *-*-openbsd*)
+ llvm_cv_target_os_type="OpenBSD" ;;
+ *-*-netbsd*)
+--- a/lldb/lib/Makefile
++++ b/lldb/lib/Makefile
+@@ -99,7 +99,7 @@
+ lldbPluginDynamicLoaderMacOSX.a
+ endif
+
+-ifeq ($(HOST_OS),FreeBSD)
++ifneq (,$(filter $(HOST_OS), FreeBSD GNU/kFreeBSD))
+ USEDLIBS += lldbHostFreeBSD.a \
+ lldbPluginProcessPOSIX.a \
+ lldbPluginProcessFreeBSD.a
+@@ -132,7 +132,7 @@
+ endif
+ endif
+
+-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU))
++ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD))
+ # Include everything from the .a's into the shared library.
+ ProjLibsOptions := -Wl,--whole-archive $(ProjLibsOptions) \
+ -Wl,--no-whole-archive
+--- a/lldb/source/Host/Makefile
++++ b/lldb/source/Host/Makefile
+@@ -21,7 +21,7 @@
+ DIRS += linux
+ endif
+
+-ifeq ($(HOST_OS),FreeBSD)
++ifneq (,$(filter $(HOST_OS), FreeBSD GNU/kFreeBSD))
+ DIRS += freebsd
+ endif
+
+--- a/lldb/source/Plugins/Platform/Makefile
++++ b/lldb/source/Plugins/Platform/Makefile
+@@ -24,5 +24,9 @@
+ # ifeq ($(HOST_OS),FreeBSD)
+ # DIRS += FreeBSD
+ # endif
++#
++# ifeq ($(HOST_OS),GNU/kFreeBSD)
++# DIRS += FreeBSD
++# endif
+
+ include $(LLDB_LEVEL)/Makefile
+--- a/lldb/source/Plugins/Process/POSIX/Makefile
++++ b/lldb/source/Plugins/Process/POSIX/Makefile
+@@ -24,7 +24,7 @@
+ CPPFLAGS += -Wno-extended-offsetof
+ endif
+
+-ifeq ($(HOST_OS),FreeBSD)
++ifneq (,$(filter $(HOST_OS), FreeBSD GNU/kFreeBSD))
+ # Extend the include path so we may locate ProcessMonitor
+ CPPFLAGS += -I$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/source/Plugins/Process/FreeBSD
+ endif
+--- a/projects/sample/Makefile.llvm.rules
++++ b/projects/sample/Makefile.llvm.rules
+@@ -208,10 +208,12 @@
+ BuildMode := Release
+ # Don't use -fomit-frame-pointer on Darwin or FreeBSD.
+ ifneq ($(HOST_OS),FreeBSD)
++ ifneq ($(HOST_OS),GNU/kFreeBSD)
+ ifneq ($(HOST_OS),Darwin)
+ OmitFramePointer := -fomit-frame-pointer
+ endif
+ endif
++ endif
+
+ # Darwin requires -fstrict-aliasing to be explicitly enabled.
+ # Avoid -fstrict-aliasing on Darwin for now, there are unresolved issues
+@@ -1372,7 +1374,7 @@
+ endif
+ endif
+
+-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD))
++ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD GNU/kFreeBSD))
+ ifneq ($(ARCH), Mips)
+ LD.Flags += -Wl,--version-script=$(PROJ_SRC_ROOT)/autoconf/ExportMap.map
+ endif
+--- a/tools/llvm-shlib/Makefile
++++ b/tools/llvm-shlib/Makefile
+@@ -69,18 +69,18 @@
+ endif
+ endif
+
+-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD OpenBSD GNU Bitrig))
++ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU/kFreeBSD OpenBSD GNU Bitrig))
+ # Include everything from the .a's into the shared library.
+ LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \
+ -Wl,--no-whole-archive
+ endif
+
+-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU))
++ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU/kFreeBSD GNU))
+ # Add soname to the library.
+ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT).1 -Wl,-Bsymbolic-functions
+ endif
+
+-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU))
++ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD))
+ # Don't allow unresolved symbols.
+ LLVMLibsOptions += -Wl,--no-undefined
+ endif
+--- a/lldb/source/Plugins/Makefile
++++ b/lldb/source/Plugins/Makefile
+@@ -36,7 +36,7 @@
+ DIRS += Process/Linux Process/POSIX
+ endif
+
+-ifeq ($(HOST_OS),FreeBSD)
++ifneq (,$(filter $(HOST_OS), FreeBSD GNU/kFreeBSD))
+ DIRS += Process/FreeBSD Process/POSIX
+ endif
+
+--- a/lldb/tools/driver/Makefile
++++ b/lldb/tools/driver/Makefile
+@@ -21,7 +21,7 @@
+ LLVMLibsOptions += -Wl,-sectcreate -Wl,__TEXT -Wl,__info_plist -Wl,"$(PROJ_SRC_DIR)/lldb-Info.plist"
+ endif
+
+-ifeq ($(HOST_OS),Linux)
++ifneq (,$(filter $(HOST_OS), Linux GNU/kFreeBSD))
+ LLVMLibsOptions += -Wl,-rpath,$(LibDir)
+ endif
+
+--- a/lldb/tools/lldb-platform/Makefile
++++ b/lldb/tools/lldb-platform/Makefile
+@@ -18,6 +18,6 @@
+ LLVMLibsOptions += -Wl,-rpath,@loader_path/../lib/
+ endif
+
+-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD))
++ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU/kFreeBSD))
+ LLVMLibsOptions += -Wl,-rpath,$(LibDir)
+ endif
+--- a/lldb/source/Host/common/Host.cpp
++++ b/lldb/source/Host/common/Host.cpp
+@@ -1569,7 +1569,7 @@ Host::RunShellCommand (const char *command,
+ return error;
+ }
+
+-#if defined(__linux__) or defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__GLIBC__)
+ // The functions below implement process launching via posix_spawn() for Linux
+ // and FreeBSD.
+
+
diff --git a/debian/patches/libstdc++-header-i386.diff b/debian/patches/libstdc++-header-i386.diff
new file mode 100644
index 0000000..3530f44
--- /dev/null
+++ b/debian/patches/libstdc++-header-i386.diff
@@ -0,0 +1,16 @@
+Index: llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Driver/ToolChains.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201651.orig/clang/lib/Driver/ToolChains.cpp 2014-02-17 12:12:04.000000000 +0100
++++ llvm-toolchain-snapshot_3.5~svn201651/clang/lib/Driver/ToolChains.cpp 2014-02-19 09:46:23.400300812 +0100
+@@ -3237,6 +3237,11 @@
+ const Multilib &Multilib = GCCInstallation.getMultilib();
+ const GCCVersion &Version = GCCInstallation.getVersion();
+
++#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.Text, TripleStr,
+ Multilib.includeSuffix(), DriverArgs, CC1Args))
diff --git a/debian/patches/lldb-__linux__-ftbfs-powerpc.patch b/debian/patches/lldb-__linux__-ftbfs-powerpc.patch
new file mode 100644
index 0000000..67f9493
--- /dev/null
+++ b/debian/patches/lldb-__linux__-ftbfs-powerpc.patch
@@ -0,0 +1,54 @@
+diff --git llvm-toolchain-snapshot_3.5~svn201241.orig/lldb/tools/lldb-mi/MICmnLogMediumFile.cpp llvm-toolchain-snapshot_3.5~svn201241/lldb/tools/lldb-mi/MICmnLogMediumFile.cpp
+index a14ad04..382db07 100644
+--- llvm-toolchain-snapshot_3.5~svn201241.orig/tools/lldb-mi/MICmnLogMediumFile.cpp
++++ llvm-toolchain-snapshot_3.5~svn201241/lldb/tools/lldb-mi/MICmnLogMediumFile.cpp
+@@ -28,7 +28,7 @@
+
+ #if defined( _MSC_VER )
+ #include "MIUtilSystemWindows.h"
+-#elif defined( __FreeBSD__ ) || defined( __linux )
++#elif defined( __FreeBSD__ ) || defined( __linux__ )
+ #include "MIUtilSystemLinux.h"
+ #elif defined( __APPLE__ )
+ #include "MIUtilSystemOsx.h"
+diff --git llvm-toolchain-snapshot_3.5~svn201241.orig/lldb//tools/lldb-mi/MIUtilSystemLinux.cpp llvm-toolchain-snapshot_3.5~svn201241/lldb//tools/lldb-mi/MIUtilSystemLinux.cpp
+index de14317..9c4deb4 100644
+--- llvm-toolchain-snapshot_3.5~svn201241.orig/lldb/tools/lldb-mi/MIUtilSystemLinux.cpp
++++ llvm-toolchain-snapshot_3.5~svn201241/lldb/tools/lldb-mi/MIUtilSystemLinux.cpp
+@@ -22,7 +22,7 @@
+ // Include compiler configuration
+ #include "MICmnConfig.h"
+
+-#if defined( __FreeBSD__ ) || defined( __linux )
++#if defined( __FreeBSD__ ) || defined( __linux__ )
+
+ // In-house headers:
+ #include "MIUtilSystemLinux.h"
+@@ -119,4 +119,4 @@ bool CMIUtilSystemLinux::GetLogFilesPath( CMIUtilString & vrwFileNamePath ) cons
+ return MIstatus::success;
+ }
+
+-#endif // #if defined( __linux )
++#endif // #if defined( __linux__ )
+diff --git llvm-toolchain-snapshot_3.5~svn201241/lldb/tools/lldb-mi/MIUtilSystemLinux.h llvm-toolchain-snapshot_3.5~svn201241/lldb//tools/lldb-mi/MIUtilSystemLinux.h
+index c79bcfd..0d9062a 100644
+--- llvm-toolchain-snapshot_3.5~svn201241.orig/lldb/tools/lldb-mi/MIUtilSystemLinux.h
++++ llvm-toolchain-snapshot_3.5~svn201241/lldb/tools/lldb-mi/MIUtilSystemLinux.h
+@@ -24,7 +24,7 @@
+ // Include compiler configuration
+ #include "MICmnConfig.h"
+
+-#if defined( __FreeBSD__ ) || defined( __linux )
++#if defined( __FreeBSD__ ) || defined( __linux__ )
+
+ // In-house headers:
+ #include "MIUtilString.h"
+@@ -57,4 +57,4 @@ public:
+
+ typedef CMIUtilSystemLinux CMIUtilSystem;
+
+-#endif // #if defined( __linux )
++#endif // #if defined( __linux__ )
+--
+2.0.1
+
diff --git a/debian/patches/lldb-kfreebsd.diff b/debian/patches/lldb-kfreebsd.diff
new file mode 100644
index 0000000..7b348c9
--- /dev/null
+++ b/debian/patches/lldb-kfreebsd.diff
@@ -0,0 +1,24 @@
+%diff --git llvm-toolchain-snapshot_3.5~svn201241.orig/lldllvm-toolchain-snapshot_3.5~svn201241/lldb/source/Host/freebsd/Host.cpp llvm-toolchain-snapshot_3.5~svn201241/lldb/source/Host/freebsd/Host.cpp
+index 4f6af67..47cbb25 100644
+--- llvm-toolchain-snapshot_3.5~svn201241.orig/lldllvm-toolchain-snapshot_3.5~svn201241/lldb/source/Host/freebsd/Host.cpp
++++ llvm-toolchain-snapshot_3.5~svn201241/lldb/source/Host/freebsd/Host.cpp
+@@ -83,6 +83,18 @@ Host::ThreadCreated (const char *thread_name)
+ Host::SetShortThreadName (LLDB_INVALID_PROCESS_ID, LLDB_INVALID_THREAD_ID, thread_name, 16);
+ }
+
++// Debian kFreeBSD uses the FreeBSD kernel with a GNU libc
++#ifdef __GLIBC__
++static inline void *
++reallocf(void *ptr, size_t size)
++{
++ void *rv = realloc(ptr, size);
++ if (rv == NULL)
++ free(ptr);
++ return rv;
++}
++#endif
++
+ std::string
+ Host::GetThreadName (lldb::pid_t pid, lldb::tid_t tid)
+ {
+
diff --git a/debian/patches/lldb-link-atomic.diff b/debian/patches/lldb-link-atomic.diff
new file mode 100644
index 0000000..ffd417f
--- /dev/null
+++ b/debian/patches/lldb-link-atomic.diff
@@ -0,0 +1,15 @@
+Index: llvm-toolchain-snapshot_3.5~svn201241/lldb/lib/Makefile
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201241.orig/lldb/lib/Makefile 2014-02-12 17:04:14.743875515 +0100
++++ llvm-toolchain-snapshot_3.5~svn201241/lldb/lib/Makefile 2014-02-12 17:06:32.408601271 +0100
+@@ -151,6 +151,10 @@
+ # Link in python
+ LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt -ledit -lncurses -lpanel
+ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT)
++ ifneq (,$(filter $(shell dpkg-architecture -qDEB_HOST_ARCH), mips mipsel powerpc powerpcspe))
++ # Link GCC atomic helper library
++ LLVMLibsOptions += -latomic
++ endif
+ endif
+
+ ifeq ($(HOST_OS),FreeBSD)
diff --git a/debian/patches/lldb-soname.diff b/debian/patches/lldb-soname.diff
new file mode 100644
index 0000000..60763b4
--- /dev/null
+++ b/debian/patches/lldb-soname.diff
@@ -0,0 +1,21 @@
+Index: llvm-toolchain-snapshot_3.5~svn211089/lldb/lib/Makefile
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211089.orig/lldb/lib/Makefile
++++ llvm-toolchain-snapshot_3.5~svn211089/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)
+@@ -169,7 +170,7 @@ ifeq ($(HOST_OS), $(filter $(HOST_OS), L
+ LLVMLibsOptions += -Wl,--no-undefined
+ # Link in python
+ LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt -ledit -lncurses -lpanel
+- LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT)
++ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT).$(SONAME_EXTENSION)
+ ifneq (,$(filter $(shell dpkg-architecture -qDEB_HOST_ARCH), mips mipsel powerpc powerpcspe))
+ # Link GCC atomic helper library
+ LLVMLibsOptions += -latomic
diff --git a/debian/patches/profile_rt.diff b/debian/patches/profile_rt.diff
new file mode 100644
index 0000000..11cdd84
--- /dev/null
+++ b/debian/patches/profile_rt.diff
@@ -0,0 +1,21 @@
+Index: llvm-toolchain-snapshot_3.5~svn199197/clang/lib/Driver/Tools.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn199197.orig/clang/lib/Driver/Tools.cpp 2014-01-14 11:30:37.196868940 +0100
++++ llvm-toolchain-snapshot_3.5~svn199197/clang/lib/Driver/Tools.cpp 2014-01-14 11:30:37.192868940 +0100
+@@ -37,6 +37,7 @@
+ #include "llvm/Support/Process.h"
+ #include "llvm/Support/Program.h"
+ #include "llvm/Support/raw_ostream.h"
++#include "llvm/Config/config.h"
+ #include <sys/stat.h>
+
+ using namespace clang::driver;
+@@ -225,7 +226,7 @@
+ // libprofile_rt.so. We used to use the -l:libprofile_rt.a syntax, but that is
+ // not supported by old linkers.
+ std::string ProfileRT =
+- std::string(TC.getDriver().Dir) + "/../lib/libprofile_rt.a";
++ std::string(TC.getDriver().Dir) + "/../lib/llvm-"+PACKAGE_VERSION+"/lib/libprofile_rt.a";
+
+ CmdArgs.push_back(Args.MakeArgString(ProfileRT));
+ }
diff --git a/debian/patches/python-clangpath.diff b/debian/patches/python-clangpath.diff
new file mode 100644
index 0000000..459baad
--- /dev/null
+++ b/debian/patches/python-clangpath.diff
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_3.5~svn199197/clang/bindings/python/clang/cindex.py
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn199197.orig/clang/bindings/python/clang/cindex.py 2014-01-14 11:31:18.444868130 +0100
++++ llvm-toolchain-snapshot_3.5~svn199197/clang/bindings/python/clang/cindex.py 2014-01-14 11:31:18.440868130 +0100
+@@ -3371,7 +3371,7 @@
+ elif name == 'Windows':
+ file = 'libclang.dll'
+ else:
+- file = 'libclang.so'
++ file = 'libclang-3.5.so'
+
+ if Config.library_path:
+ file = Config.library_path + '/' + file
diff --git a/debian/patches/removeduplicatedeclaration.diff b/debian/patches/removeduplicatedeclaration.diff
new file mode 100644
index 0000000..b66d3df
--- /dev/null
+++ b/debian/patches/removeduplicatedeclaration.diff
@@ -0,0 +1,38 @@
+Index: llvm-toolchain-snapshot_3.5~svn205090/clang/lib/Basic/Targets.cpp
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn205090.orig/clang/lib/Basic/Targets.cpp 2014-03-29 12:15:16.884486206 +0100
++++ llvm-toolchain-snapshot_3.5~svn205090/clang/lib/Basic/Targets.cpp 2014-03-29 12:15:16.884486206 +0100
+@@ -3843,33 +3843,6 @@
+ // FIXME: Override "preferred align" for double and long long.
+ }
+
+- static bool shouldUseInlineAtomic(const llvm::Triple &T) {
+- // On linux, binaries targeting old cpus call functions in libgcc to
+- // perform atomic operations. The implementation in libgcc then calls into
+- // the kernel which on armv6 and newer uses ldrex and strex. The net result
+- // is that if we assume the kernel is at least as recent as the hardware,
+- // it is safe to use atomic instructions on armv6 and newer.
+- if (T.getOS() != llvm::Triple::Linux)
+- return false;
+- StringRef ArchName = T.getArchName();
+- if (T.getArch() == llvm::Triple::arm) {
+- if (!ArchName.startswith("armv"))
+- return false;
+- StringRef VersionStr = ArchName.substr(4);
+- unsigned Version;
+- if (VersionStr.getAsInteger(10, Version))
+- return false;
+- return Version >= 6;
+- }
+- assert(T.getArch() == llvm::Triple::thumb);
+- if (!ArchName.startswith("thumbv"))
+- return false;
+- StringRef VersionStr = ArchName.substr(6);
+- unsigned Version;
+- if (VersionStr.getAsInteger(10, Version))
+- return false;
+- return Version >= 7;
+- }
+
+ public:
+ ARMTargetInfo(const llvm::Triple &Triple, bool IsBigEndian)
diff --git a/debian/patches/scan-build-clang-path.diff b/debian/patches/scan-build-clang-path.diff
new file mode 100644
index 0000000..35178f9
--- /dev/null
+++ b/debian/patches/scan-build-clang-path.diff
@@ -0,0 +1,13 @@
+Index: llvm-toolchain-snapshot_3.5~svn199197/clang/tools/scan-build/scan-build
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn199197.orig/clang/tools/scan-build/scan-build 2014-01-14 11:30:50.852868672 +0100
++++ llvm-toolchain-snapshot_3.5~svn199197/clang/tools/scan-build/scan-build 2014-01-14 11:30:50.848868672 +0100
+@@ -1559,7 +1559,7 @@
+
+ # Find 'clang'
+ if (!defined $AnalyzerDiscoveryMethod) {
+- $Clang = Cwd::realpath("$RealBin/bin/clang");
++ $Clang = Cwd::realpath("/usr/bin/clang");
+ if (!defined $Clang || ! -x $Clang) {
+ $Clang = Cwd::realpath("$RealBin/clang");
+ }
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..cc6e123
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,44 @@
+18-soname.patch
+19-clang_debian_version.patch
+#20-vendor.patch
+23-strlcpy_strlcat_warning_removed.diff
+27-fix_clang_stdint.diff
+26-set-correct-float-abi.diff
+#profile_rt.diff
+0003-Debian-version-info-and-bugreport.patch
+0021-shared-lib-debian.patch
+0023-link-libopagent.patch
+0044-soname.diff
+0047-version-name.diff
+scan-build-clang-path.diff
+0050-powerpcspe-fp.diff
+declare_clear_cache.diff
+31-powerpcspe.diff
+34-powerpc-no-altivec.diff
+clang-format-version.diff
+disable-execinfo-usage.diff
+unwind-chain-inclusion.diff
+hurd-pathmax.diff
+use-deb-json.diff
+libstdc++-header-i386.diff
+atomic_library_1.diff
+atomic_library_2.diff
+python-clangpath.diff
+removeduplicatedeclaration.diff
+fix-clang-path-and-build.diff
+silent-MCJIIT-tests.diff
+include-target.diff
+force-gcc-header-obj.diff
+do-not-fail-on-unexpected-pass.diff
+silent-more-tests.diff
+disable-display-PASS-UNSUPPORTED-XFAIL.diff
+lldb-link-atomic.diff
+fix-llvm-config-obj-src-root.patch
+suffixsvn.diff
+compiler-rt-path.diff
+lldb-soname.diff
+force-link-pass.o.diff
+follow-parallel-var.diff
+lldb-kfreebsd.diff
+hurd-EIEIO-undef.diff
+lldb-__linux__-ftbfs-powerpc.patch
diff --git a/debian/patches/silent-MCJIIT-tests.diff b/debian/patches/silent-MCJIIT-tests.diff
new file mode 100644
index 0000000..5298234
--- /dev/null
+++ b/debian/patches/silent-MCJIIT-tests.diff
@@ -0,0 +1,132 @@
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll 2014-06-21 15:54:22.045147073 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null
+-; XFAIL: mips, i686, i386, arm
++; XFAIL: *
+
+ declare i32 @FB()
+
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/eh-lg-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/eh-lg-pic.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/eh-lg-pic.ll 2014-06-21 15:54:39.753616224 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -relocation-model=pic -code-model=large %s
+-; XFAIL: cygwin, win32, mingw, mips, i686, i386, aarch64, arm
++; XFAIL: *
+ declare i8* @__cxa_allocate_exception(i64)
+ declare void @__cxa_throw(i8*, i8*, i8*)
+ declare i32 @__gxx_personality_v0(...)
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/eh-sm-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/eh-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/eh-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -relocation-model=pic -code-model=small %s
+-; XFAIL: cygwin, win32, mingw, mips, i686, i386, darwin, aarch64, arm
++; XFAIL: *
+ declare i8* @__cxa_allocate_exception(i64)
+ declare void @__cxa_throw(i8*, i8*, i8*)
+ declare i32 @__gxx_personality_v0(...)
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/hello-sm-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/hello-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/hello-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -relocation-model=pic -code-model=small %s > /dev/null
+-; XFAIL: mips, i686, i386, darwin, aarch64, arm
++; XFAIL: *
+
+ @.LC0 = internal global [12 x i8] c"Hello World\00" ; <[12 x i8]*> [#uses=1]
+
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic -code-model=small %s > /dev/null
+-; XFAIL: mips, i686, i386, arm
++; XFAIL: *
+
+ declare i32 @FB()
+
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -extra-module=%p/Inputs/cross-module-b.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext -relocation-model=pic -code-model=small %s > /dev/null
+-; XFAIL: mips, i686, i386, arm
++; XFAIL: *
+
+ declare i32 @FB()
+
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext -relocation-model=pic -code-model=small %s > /dev/null
+-; XFAIL: mips, i686, i386, arm
++; XFAIL: *
+
+ declare i32 @FB()
+
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -remote-mcjit -relocation-model=pic -code-model=small %s > /dev/null
+-; XFAIL: mips, aarch64, arm, i686, i386
++; XFAIL: *
+
+ @count = global i32 1, align 4
+
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -remote-mcjit -O0 -relocation-model=pic -code-model=small %s
+-; XFAIL: mips, aarch64, arm, i686, i386
++; XFAIL: *
+
+ @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
+ @ptr = global i8* getelementptr inbounds ([6 x i8]* @.str, i32 0, i32 0), align 4
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s
+-; XFAIL: mips, i686, i386, aarch64, arm
++; XFAIL: *
+
+ define i32 @main() nounwind {
+ entry:
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -relocation-model=pic -code-model=small %s > /dev/null
+-; XFAIL: mips, aarch64, arm, i686, i386
++; XFAIL: *
+
+ @count = global i32 1, align 4
+
+Index: llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn211445.orig/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
++++ llvm-toolchain-snapshot_3.5~svn211445/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll 2014-06-21 15:54:22.049147179 -0700
+@@ -1,5 +1,5 @@
+ ; RUN: %lli_mcjit -O0 -relocation-model=pic -code-model=small %s
+-; XFAIL: mips, aarch64, arm, i686, i386
++; XFAIL: *
+
+ @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
+ @ptr = global i8* getelementptr inbounds ([6 x i8]* @.str, i32 0, i32 0), align 4
diff --git a/debian/patches/silent-more-tests.diff b/debian/patches/silent-more-tests.diff
new file mode 100644
index 0000000..bc078e4
--- /dev/null
+++ b/debian/patches/silent-more-tests.diff
@@ -0,0 +1,51 @@
+# Comment the tests for the code coverage (fails otherwise)
+
+
+Index: llvm-toolchain-snapshot_3.5~svn197156/test/BugPoint/crash-narrowfunctiontest.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn197156.orig/test/BugPoint/crash-narrowfunctiontest.ll 2013-08-05 01:55:24.000000000 +0200
++++ llvm-toolchain-snapshot_3.5~svn197156/test/BugPoint/crash-narrowfunctiontest.ll 2013-12-12 23:06:31.454513279 +0100
+@@ -2,6 +2,7 @@
+ ;
+ ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes > /dev/null
+ ; REQUIRES: loadable_module
++; XFAIL: *
+
+ define i32 @foo() { ret i32 1 }
+
+Index: llvm-toolchain-snapshot_3.5~svn197156/test/BugPoint/metadata.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn197156.orig/test/BugPoint/metadata.ll 2013-11-23 02:16:29.000000000 +0100
++++ llvm-toolchain-snapshot_3.5~svn197156/test/BugPoint/metadata.ll 2013-12-12 23:07:09.050514482 +0100
+@@ -1,6 +1,7 @@
+ ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes > /dev/null
+ ; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
+ ; REQUIRES: loadable_module
++; XFAIL: *
+
+ ; Bugpoint should keep the call's metadata attached to the call.
+
+Index: llvm-toolchain-snapshot_3.5~svn197156/test/BugPoint/remove_arguments_test.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn197156.orig/test/BugPoint/remove_arguments_test.ll 2013-08-05 01:55:24.000000000 +0200
++++ llvm-toolchain-snapshot_3.5~svn197156/test/BugPoint/remove_arguments_test.ll 2013-12-12 23:07:24.362514972 +0100
+@@ -1,6 +1,7 @@
+ ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes
+ ; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
+ ; REQUIRES: loadable_module
++; XFAIL: *
+
+ ; Test to make sure that arguments are removed from the function if they are
+ ; unnecessary. And clean up any types that that frees up too.
+Index: llvm-toolchain-snapshot_3.5~svn197156/test/Feature/load_module.ll
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn197156.orig/test/Feature/load_module.ll 2013-08-05 01:55:24.000000000 +0200
++++ llvm-toolchain-snapshot_3.5~svn197156/test/Feature/load_module.ll 2013-12-12 23:07:44.114515604 +0100
+@@ -3,6 +3,7 @@
+ ; RUN: -disable-output 2>&1 | grep Hello
+ ; REQUIRES: loadable_module
+ ; FIXME: On Cygming, it might fail without building LLVMHello manually.
++; XFAIL: *
+
+ @junk = global i32 0
+
diff --git a/debian/patches/suffixsvn.diff b/debian/patches/suffixsvn.diff
new file mode 100644
index 0000000..1259e4f
--- /dev/null
+++ b/debian/patches/suffixsvn.diff
@@ -0,0 +1,26 @@
+Index: llvm-toolchain-snapshot_3.5~svn207356/autoconf/configure.ac
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn207356.orig/autoconf/configure.ac 2014-04-27 07:56:06.576699406 -0700
++++ llvm-toolchain-snapshot_3.5~svn207356/autoconf/configure.ac 2014-04-27 07:56:06.572699443 -0700
+@@ -37,7 +37,7 @@
+ LLVM_VERSION_MAJOR=3
+ LLVM_VERSION_MINOR=5
+ LLVM_VERSION_PATCH=0
+-LLVM_VERSION_SUFFIX=svn
++LLVM_VERSION_SUFFIX=
+
+ AC_DEFINE_UNQUOTED([LLVM_VERSION_MAJOR], $LLVM_VERSION_MAJOR, [Major version of the LLVM API])
+ AC_DEFINE_UNQUOTED([LLVM_VERSION_MINOR], $LLVM_VERSION_MINOR, [Minor version of the LLVM API])
+Index: llvm-toolchain-snapshot_3.5~svn207356/configure
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn207356.orig/configure 2014-04-27 07:56:06.312701828 -0700
++++ llvm-toolchain-snapshot_3.5~svn207356/configure 2014-04-27 10:00:36.436143478 -0700
+@@ -1938,7 +1938,7 @@
+ LLVM_VERSION_MAJOR=3
+ LLVM_VERSION_MINOR=5
+ LLVM_VERSION_PATCH=0
+-LLVM_VERSION_SUFFIX=svn
++LLVM_VERSION_SUFFIX=
+
+
+ cat >>confdefs.h <<_ACEOF
diff --git a/debian/patches/unwind-chain-inclusion.diff b/debian/patches/unwind-chain-inclusion.diff
new file mode 100644
index 0000000..b035bf7
--- /dev/null
+++ b/debian/patches/unwind-chain-inclusion.diff
@@ -0,0 +1,39 @@
+# Without this patch, the first local include of unwind.h might, with the
+# __has_include_next, try to include the one from the system.
+# It might be /usr/include/clang/3.4/include/unwind.h
+# Because of the #ifndef __CLANG_UNWIND_H, it might never include any declaration
+# from the system.
+
+Index: llvm-toolchain-snapshot_3.5~svn201843/clang/lib/Headers/unwind.h
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn201843.orig/clang/lib/Headers/unwind.h 2014-02-21 11:12:42.154418157 +0100
++++ llvm-toolchain-snapshot_3.5~svn201843/clang/lib/Headers/unwind.h 2014-02-21 11:12:42.150418157 +0100
+@@ -23,9 +23,6 @@
+
+ /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/
+
+-#ifndef __CLANG_UNWIND_H
+-#define __CLANG_UNWIND_H
+-
+ #if __has_include_next(<unwind.h>)
+ /* Darwin (from 11.x on) and libunwind provide an unwind.h. If that's available,
+ * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE,
+@@ -53,6 +50,9 @@
+ # endif
+ #else
+
++#ifndef __CLANG_UNWIND_H
++#define __CLANG_UNWIND_H
++
+ #include <stdint.h>
+
+ #ifdef __cplusplus
+@@ -275,6 +275,7 @@
+ }
+ #endif
+
++#endif /* __CLANG_UNWIND_H */
++
+ #endif
+
+-#endif /* __CLANG_UNWIND_H */
diff --git a/debian/patches/use-deb-json.diff b/debian/patches/use-deb-json.diff
new file mode 100644
index 0000000..f3ace12
--- /dev/null
+++ b/debian/patches/use-deb-json.diff
@@ -0,0 +1,26 @@
+Index: llvm-toolchain-snapshot_3.5~svn204005/polly/lib/Makefile
+===================================================================
+--- llvm-toolchain-snapshot_3.5~svn204005.orig/polly/lib/Makefile 2014-03-15 13:31:47.078458657 +0100
++++ llvm-toolchain-snapshot_3.5~svn204005/polly/lib/Makefile 2014-03-15 13:37:10.367703705 +0100
+@@ -13,7 +13,7 @@
+ CPP.Flags += $(POLLY_INC)
+ LD.Flags += $(POLLY_LD) $(POLLY_LIB)
+
+-LIBS += $(POLLY_LD) $(POLLY_LIB)
++LIBS += $(POLLY_LD) $(POLLY_LIB) -ljsoncpp
+
+ include $(LEVEL)/Makefile.config
+
+@@ -46,9 +46,9 @@
+ ISL_CODEGEN_FILES= CodeGen/IslAst.cpp \
+ CodeGen/IslCodeGeneration.cpp
+
+-POLLY_JSON_FILES= JSON/json_reader.cpp \
+- JSON/json_value.cpp \
+- JSON/json_writer.cpp
++# POLLY_JSON_FILES= JSON/json_reader.cpp \
++# JSON/json_value.cpp \
++# JSON/json_writer.cpp
+
+ SOURCES= Polly.cpp \
+ Support/GICHelper.cpp \
diff --git a/debian/pollycc.in b/debian/pollycc.in
new file mode 100755
index 0000000..f063818
--- /dev/null
+++ b/debian/pollycc.in
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+clang -Xclang -load -Xclang /usr/lib/llvm-@LLVM_VERSION@/lib/LLVMPolly.so $@
diff --git a/debian/prepare-new-release.sh b/debian/prepare-new-release.sh
new file mode 100644
index 0000000..0dada9e
--- /dev/null
+++ b/debian/prepare-new-release.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+ORIG_VERSION=3.4
+TARGET_VERSION=3.5
+ORIG_VERSION_2=3_4
+TARGET_VERSION_2=3_5
+
+LIST=`ls debian/*$ORIG_VERSION*`
+for F in $LIST; do
+ TARGET=`echo $F|sed -e "s|$ORIG_VERSION|$TARGET_VERSION|g"`
+ svn mv $F $TARGET
+done
+LIST=`ls debian/*$TARGET_VERSION* debian/control debian/*.install debian/*.links debian/orig-tar.sh debian/rules`
+for F in $LIST; do
+ sed -i -e "s|$ORIG_VERSION_2|$TARGET_VERSION_2|g" $F
+ sed -i -e "s|$ORIG_VERSION|$TARGET_VERSION|g" $F
+done
+
diff --git a/debian/python-clang-X.Y.install.in b/debian/python-clang-X.Y.install.in
new file mode 100644
index 0000000..b549421
--- /dev/null
+++ b/debian/python-clang-X.Y.install.in
@@ -0,0 +1 @@
+tools/clang/bindings/python/clang/ /usr/lib/python2.7/dist-packages/
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..5a2a373
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,453 @@
+#!/usr/bin/make -f
+
+TARGET_BUILD := build-llvm
+DEB_INST := $(CURDIR)/debian/tmp/
+#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.5
+LLVM_VERSION_FULL := $(LLVM_VERSION).0
+SONAME_EXT := 1
+# Manage the case when the version is 1:3.5~svn213052-1~exp1 or 1:3.4.2-1
+DEBIAN_REVISION := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\3,p")
+ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+ NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+endif
+
+VENDOR=$(shell lsb_release -is)
+
+DEB_HOST_MULTIARCH = $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_HOST_ARCH_BITS = $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS)
+DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+OCAML_STDLIB_DIR ?= $(shell ocamlc -where)
+
+LDFLAGS_EXTRA=
+CXXFLAGS_EXTRA=
+CONFIGURE_EXTRA=
+
+ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe))
+LDFLAGS_EXTRA += -latomic
+endif
+
+ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) lt 4.7.2-10~ ; echo $$?),0)
+# Too old version of gcc. Force 4.8
+ GCC_VERSION := 4.8
+endif
+
+export CC=gcc-$(GCC_VERSION)
+export CXX=g++-$(GCC_VERSION)
+
+confargs := \
+ --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)
+
+ifeq ($(shell dpkg-architecture -qDEB_HOST_ARCH_BITS),64)
+ confargs += --with-cxx-include-32bit-dir=32
+else
+ confargs += --with-cxx-include-64bit-dir=64
+endif
+
+opt_flags = -g -O2
+ifneq (,$(findstring $(DEB_HOST_ARCH),armel))
+ opt_flags += -marm
+endif
+
+ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.8-20121128-1~ ; echo $$?),0)
+ control_vars = '-Vdep:devlibs=libstdc++-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev, libobjc-$(GCC_VERSION)-dev'
+else ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.7.2-10~ ; echo $$?),0)
+ control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev, libobjc-$(GCC_VERSION)-dev'
+else
+ control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
+endif
+
+BINUTILS_GOLD_ARCHS := amd64 armhf i386 powerpc powerpcspe ppc64 ppc64el sparc sparc64 x32
+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)))
+# -fused-ld=gold enables the gold linker (but is not supported by all archs / distro)
+ LDFLAGS_EXTRA += -fuse-ld=gold
+endif
+endif
+
+# Enable polly (or not)
+POLLY_ENABLE=no
+ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libisl-dev) ge 0.12.1; echo $$?),0)
+ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libcloog-isl-dev) ge 0.18.1; echo $$?),0)
+# polly upstream is now using the isl trunk. disabling it for now
+POLLY_ENABLE=no
+endif
+endif
+
+ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
+# enable the code coverage
+ CODECOVERAGE=yes
+# for -fvisibility-inlines-hidden see http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130729/183016.html
+ CXXFLAGS_EXTRA += -fprofile-arcs -ftest-coverage
+ LDFLAGS_EXTRA += -coverage -lgcov
+ confargs += llvm_cv_cxx_visibility_inlines_hidden=no
+endif
+
+ifneq (,$(filter scan-build,$(DEB_BUILD_OPTIONS)))
+# enable the build using scan-build
+# The package are installed through the variable declarations:
+# OTHERMIRROR="deb http://llvm.org/apt/unstable/ llvm-toolchain main"
+# EXTRAPACKAGES="clang-3.5"
+ PRE_PROCESS=scan-build -analyzer-config stable-report-filename=true
+ PRE_PROCESS_CONF=scan-build
+# no need to run tests in this case
+ DEB_BUILD_OPTIONS+=" nocheck"
+ CONFIGURE_EXTRA += --enable-assertions
+endif
+
+ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS)))
+# enable the build using coverity
+# pbuilder contains BINDMOUNTS="/opt/cov-analysis/"
+# And we have some pbuilder hooks to configure and pack the result
+# Where the binaries are installed on the jenkins instance
+ PRE_PROCESS=PATH=$$PATH:/opt/cov-analysis/bin/ cov-build --dir cov-int
+# We don't want to check the temporary files produced by the configure
+ PRE_PROCESS_CONF=
+ COVERITY_ENABLE=1
+ CONFIGURE_EXTRA += --enable-assertions
+# no need to run tests in this case
+ DEB_BUILD_OPTIONS+=" nocheck"
+else
+ COVERITY_ENABLE=0
+endif
+
+
+LLDB_ENABLE=yes
+LLDB_DISABLE_ARCHS := arm64 hurd-i386 mips mipsel ia64 ppc64el
+# hurd has threading issues
+# mips* fails with "undefined references to `__atomic_load_8'"
+ifeq (,$(filter-out $(LLDB_DISABLE_ARCHS), $(DEB_HOST_ARCH)))
+# Disable LLDB for this arch.
+ LLDB_ENABLE=no
+endif
+
+
+%:
+ dh $@ --with ocaml
+
+
+
+preconfigure:
+ for f in debian/*.in; do \
+ f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \
+ echo "$$f => $$f2"; \
+ sed -e 's|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|g' \
+ -e "s|@OCAML_STDLIB_DIR@|$(OCAML_STDLIB_DIR)|g" \
+ -e "s|@LLVM_VERSION_FULL@|$(LLVM_VERSION_FULL)|g" \
+ -e "s|@LLVM_VERSION@|$(LLVM_VERSION)|g" $$f > $$f2; \
+ done
+
+# Override this two targets. They are trying to manage the .in conversion for me
+override_dh_ocamlinit:
+override_dh_ocamlclean:
+
+override_dh_auto_configure: preconfigure
+ echo "Using gcc: "
+ $(CC) -v
+ mkdir -p $(TARGET_BUILD)
+ mkdir -p clang/include/clang/Debian
+ sed -e "s|@DEB_PATCHSETVERSION@|$(DEBIAN_REVISION)|" \
+ debian/debian_path.h > clang/include/clang/Debian/debian_path.h
+
+# Remove some old symlinks
+ cd tools/ && \
+ if test -h clang; then \
+ rm clang; \
+ fi; \
+ ln -s ../clang .; \
+ readlink clang
+
+ if test $(POLLY_ENABLE) = yes; then \
+ cd tools/ && \
+ if test -h polly; then \
+ rm polly; \
+ fi; \
+ ln -s ../polly .; \
+ fi
+
+ if test $(LLDB_ENABLE) = yes; then \
+ cd tools/ && \
+ if test -h lldb; then \
+ rm lldb; \
+ fi; \
+ ln -s ../lldb .; \
+ fi
+
+ cd projects/ && \
+ if test -h compiler-rt; then \
+ rm compiler-rt; \
+ fi; \
+ ln -s ../compiler-rt .; \
+ readlink compiler-rt
+
+ # Configure coverity (we need the compilers)
+ -(if test $(COVERITY_ENABLE) -eq 1; then \
+ export PATH=$$PATH:/opt/cov-analysis/bin/; \
+ cov-configure --compiler clang --comptype clang; \
+ 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
+ cp -R -H clang-tools-extra tools/clang/tools/extra
+# Start the actual configure
+ cd $(TARGET_BUILD) && $(PRE_PROCESS_CONF) \
+ ../configure $(confargs) \
+ --prefix=/usr/lib/llvm-$(LLVM_VERSION) \
+ --bindir=\$${prefix}/bin/ \
+ --disable-assertions \
+ --enable-shared \
+ --enable-optimized \
+ --with-optimize-option=' $(opt_flags)' \
+ --enable-pic \
+ --enable-libffi \
+ --with-ocaml-libdir=/usr/lib/ocaml/llvm-$(LLVM_VERSION) \
+ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
+ --with-binutils-include=/usr/include \
+ --with-cloog --with-isl \
+ --with-bug-report-url=http://bugs.debian.org/ \
+ --enable-shared \
+ $(CONFIGURE_EXTRA) \
+ CLANG_VENDOR=$(VENDOR) || { cat config.log tools/polly/config.log; exit 1; }
+# cd $(TARGET_BUILD) && cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON
+# mkdir build-compiler-rt && cd build-compiler-rt && cmake ../compiler-rt
+
+
+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 DEBUGMAKE=1
+
+# 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 \
+ 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
+
+# Rename manpages
+ d=$(CURDIR)/docs/_build/man/; \
+ cd $$d; \
+ for f in *.1; do \
+ echo "$$f"|grep $(LLVM_VERSION) || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \
+ done
+
+# Remove the copy of jquery. See bug #701087
+ for d in $(CURDIR)/clang/docs/_build/html/_static/ $(CURDIR)/docs/_build/html/_static/; do \
+ cd $$d && rm -f jquery.js && ln -s /usr/share/javascript/jquery/jquery.js; \
+ cd $$d && rm -f underscore.js && ln -s /usr/share/javascript/underscore/underscore.js; \
+ done
+
+ help2man --version-string=$(LLVM_VERSION) clang/tools/scan-view/scan-view > debian/man/scan-view.1
+ help2man --version-string=$(LLVM_VERSION) clang/tools/clang-format/clang-format-diff.py > debian/man/clang-format-diff-$(LLVM_VERSION).1
+
+ for f in clang clang-tblgen clang-check; do \
+ help2man --version-string=$(LLVM_VERSION) $(TARGET_BUILD)/Release/bin/$$f > debian/man/$$f.1; \
+ done
+
+ for f in llvm-dwarfdump llvm-mc llvm-mcmarkup llvm-objdump llvm-rtdyld llvm-size llvm-tblgen macho-dump lldb clang-format clang-modernize; do \
+ 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=$(DEB_INST)/
+
+ chrpath -d $(TARGET_BUILD)/Release/bin/clang
+ chrpath -d `find $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable`
+
+# Add the trailing soname
+ mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT)
+
+
+ if test $(LLDB_ENABLE) = yes; then \
+ mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/liblldb.so $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/liblldb.so.$(SONAME_EXT); \
+ fi
+
+ cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && \
+ if test ! -f libclang-$(LLVM_VERSION).so.$(SONAME_EXT); then \
+ mv libclang.so libclang-$(LLVM_VERSION).so.$(SONAME_EXT) && \
+ ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang.so.$(SONAME_EXT); \
+ fi; \
+ rm -f libLLVM-$(LLVM_VERSION_FULL).so; \
+ rm -f libclang.so
+
+# Remove artefact (where compiler-rt is built)
+ if test -d $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux; then \
+ 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; \
+ fi
+
+ 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
+
+# Create this fake directory to make the install libclang-common-dev happy
+# under the unsupported archs of compiler-rt
+ mkdir -p $(DEB_INST)/usr/lib/clang/$(LLVM_VERSION)/lib
+ mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/lib/
+ mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/lib/clang_linux/
+ mkdir -p $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux/
+ mkdir -p $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux/
+
+# Rename binaries
+ mkdir -p $(DEB_INST)/usr/bin/
+ cd $(DEB_INST)/usr/bin/; rm -f *; \
+ for f in ../lib/llvm-$(LLVM_VERSION)/bin/*; do \
+ ln -s $$f `basename $$f`-$(LLVM_VERSION); \
+ echo "Link $$f to `basename $$f`-$(LLVM_VERSION)"; \
+ done
+
+# Rename some stuff with the version name
+ # WILL DO when we can install several clang versions together
+ #mv $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang.1 $(CURDIR)/$(TARGET_BUILD)/tools/clang/docs/tools/clang-$(LLVM_VERSION).1
+
+ cp -f $(CURDIR)/utils/vim/llvm.vim $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim
+
+ cp -f $(CURDIR)/utils/vim/tablegen.vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim
+
+ cp -f $(CURDIR)/clang/tools/clang-format/clang-format-diff.py $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION)
+
+ cp -f $(CURDIR)/clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py
+
+# Remove some license files
+ rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/llvm/Support/LICENSE.TXT \
+ $(CURDIR)/debian/llvm-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/build/autoconf/LICENSE.TXT
+
+# Managed in lldb-X.Y.links.in
+ rm -f $(CURDIR)/$(TARGET_BUILD)/Release/lib/python*/site-packages/lldb/_lldb.so
+
+# Manage the polly files. Sometimes, we build them. Sometimes not.
+ if test $(POLLY_ENABLE) = yes; then \
+ mkdir -p $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/ $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly/; \
+ mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libpolly* \
+ $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/; \
+ rm -rf $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly; \
+ mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/polly/ \
+ $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/; \
+ fi
+
+
+override_dh_shlibdeps:
+ LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ dh_shlibdeps
+
+override_dh_installman:
+ dh_installman
+# Make sure that lli manpage is only in llvm-3.2-runtime (See #697117)
+ rm -f $(CURDIR)/debian/llvm-$(LLVM_VERSION)/usr/share/man/man1/lli*
+
+
+.PHONY: override_dh_strip
+override_dh_strip:
+ dh_strip -p libclang$(SONAME_EXT)-$(LLVM_VERSION) --dbg-package=libclang$(SONAME_EXT)-$(LLVM_VERSION)-dbg
+ dh_strip -p libllvm$(LLVM_VERSION) --dbg-package=libllvm$(LLVM_VERSION)-dbg
+ dh_strip -a
+
+
+#override_dh_shlibdeps:
+# LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ dh_shlibdeps
+
+override_dh_install:
+ dh_install --fail-missing
+
+override_dh_installdeb:
+# Managed by the package
+ dh_installdeb -a
+
+ rm -f $(CURDIR)/debian/lldb-$(LLVM_VERSION)/usr/lib/python*/dist-packages/lldb/__init__.pyc
+ rm -f $(CURDIR)/debian/clang-$(LLVM_VERSION)-examples/usr/share/doc/clang-$(LLVM_VERSION)-examples/examples/*Make*
+ rm -f $(CURDIR)//debian/llvm-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/build/autoconf/LICENSE.TXT
+
+# Remove auto generated python pyc
+ find $(CURDIR)/debian/llvm-$(LLVM_VERSION)-tools/usr/lib/llvm-$(LLVM_VERSION)/ -name '*.pyc' | xargs -r rm -f
+
+
+
+
+ifeq (,$(filter nocheck, $(DEB_BUILD_OPTIONS)))
+# List of the archs we know we have 100 % tests working
+ARCH_LLVM_TEST_OK := amd64 i386
+override_dh_auto_test:
+
+# LLVM tests
+ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK)))
+# Fail the build if the test fails
+ NJOBS="$(NJOBS)" LD_LIBRARY_PATH=$(CURDIR)/$(TARGET_BUILD)/Release/lib/ $(MAKE) -C $(TARGET_BUILD) check
+else
+ NJOBS="$(NJOBS)" LD_LIBRARY_PATH=$(CURDIR)/$(TARGET_BUILD)/Release/lib/ $(MAKE) -C $(TARGET_BUILD) check || true
+endif
+
+# clang tests
+# setup the env
+ cd $(TARGET_BUILD)/Release/lib/ && ln -s libclang.so libclang.so.1
+ cd $(TARGET_BUILD)/ && $(MAKE) -C tools/clang/ test || true
+ rm -f $(TARGET_BUILD)/Release/lib/libclang.so.1
+
+# lldb tests
+ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel))
+ if test $(LLDB_ENABLE) = yes; then \
+ cd $(TARGET_BUILD)/Release/lib/python2.7/site-packages/lldb && if test ! -h _lldb.so -o ! -f _lldb.so; then ln -s ../../../liblldb.so _lldb.so; fi; \
+ if test ! -h libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT) -o ! -f _lldb.so; then \
+ ln -s ../../../libLLVM-$(LLVM_VERSION_FULL).so libLLVM-$(LLVM_VERSION).so.$(SONAME_EXT); \
+ fi; \
+ if test ! -h libLLVM-$(LLVM_VERSION_FULL).so.$(SONAME_EXT) -o ! -f _lldb.so; then \
+ ln -s ../../../libLLVM-$(LLVM_VERSION_FULL).so libLLVM-$(LLVM_VERSION_FULL).so.$(SONAME_EXT); \
+ fi; \
+ fi
+ cd $(TARGET_BUILD)/ && $(MAKE) -C tools/lldb/test || true
+ if test -d $(TARGET_BUILD)/tools/lldb/test/lldb-test-traces/; then \
+ cat $(TARGET_BUILD)/tools/lldb/test/lldb-test-traces/*; \
+ fi
+endif
+
+# Managed by debian build system
+ rm -f $(CURDIR)/$(TARGET_BUILD)/Release/lib/python*/site-packages/lldb/_lldb.so
+
+# polly tests
+ if test $(POLLY_ENABLE) = yes; then \
+ cd $(TARGET_BUILD)/ && $(MAKE) -C tools/polly/test/ check-polly || true; \
+ fi
+
+# The compression of the code coverage report is done in the
+# hook B21GetCoverageResults on the server
+ if test "$(CODECOVERAGE)" = "yes"; then \
+ REPORT=reports/llvm-toolchain.info; \
+ mkdir -p reports/; \
+ lcov --directory $(TARGET_BUILD)/ --capture --ignore-errors source --output-file $$REPORT; \
+ lcov --remove $$REPORT "/usr*" -o $$REPORT; \
+ genhtml -o reports/coverage --show-details --highlight --legend $$REPORT; \
+ fi
+else
+override_dh_auto_test:
+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
+ rm -rf cov-int/ reports/
+ rm -f `ls debian/*.in|sed -e "s|.in$$||g"`
+ find utils -name '*.pyc' | xargs -r rm -f
+ # Use -I because a test has a space in its name
+ find lldb/test -iname '*.pyc' | xargs -I{} -r rm -f {}
+ find test -name '*.pyc' -o -name '*.cm[ix]' | xargs -r rm -f
+ find test/Bindings -name '*.o' | xargs -r rm -f
+ rm -f tools/clang tools/polly tools/lldb projects/compiler-rt
+ rm -rf tools/clang/tools/extra clang/tools/extra/
+ rm -f $(CURDIR)/utils/vim/llvm-$(LLVM_VERSION).vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim
+ rm -f $(CURDIR)/clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION)
+ rm -f $(CURDIR)/clang/tools/clang-format/clang-format-$(LLVM_VERSION).py
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..eb3378a
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=3
+opts=uversionmangle=s/\.(tar.*|tgz|zip|gz|bz2)$//i,dversionmangle=s/[-.+~]?(cvs|svn|git|snapshot|pre|hg)(.*)$//i,pasv \
+http://llvm.org/releases/download.html (?:.*/)?clang-?_?([\d+\.]+|\d+)\.(tar.*|tgz|zip|gz|bz2|) debian debian/orig-tar.sh
+