diff options
author | sylvestre <sylvestre@670adf90-79fe-46c2-b027-9eb1e76e7c7d> | 2014-07-31 06:27:03 +0000 |
---|---|---|
committer | sylvestre <sylvestre@670adf90-79fe-46c2-b027-9eb1e76e7c7d> | 2014-07-31 06:27:03 +0000 |
commit | 8f5fd9b75e8c96b32b0a64d8e6c9c46542a5d7c5 (patch) | |
tree | 6007592c92c0fabd80538f59aa08a73540efd919 | |
download | llvm-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
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 + |