diff --git a/debian/changelog b/debian/changelog index 8a432f23..a8f7d7f1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,25 @@ llvm-toolchain-snapshot (1:3.8~svn255217-1~exp2) experimental; urgency=medium * Update the clang description for something more accurate (C++-11, 14, etc) + * Cmake migration. Done by Andrew Wilkins. Many thanks to him + - Update patches to set SONAME in CMake build + - Create symlinks with ".links", don't install from build tree + - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.) + - Remove llvm-X.Y-tools package, because it contained only + internal tools that are not intended for distribution. + - Remove autotools-specific artifacts from packages. + - Remove "dummy" documentation artifacts from llvm-X.Y-docs + package. Not built/installed by CMake, not useful. + - Update control/rules to support CMake + - Patch LLDB SWIG interfaces to workaround a bug in SWIG + See https://llvm.org/bugs/show_bug.cgi?id=25468 + - add missing files to clang-format + - Add patch to fix sanitizer lit invocation + - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.); + not installed by CMake, not intended for distribution + - removed llvm-X.Y-tools (contained only internal tools) + - removed autotools-specific artifacts (configure, Makefile, etc.) + - removed dummy documentation files -- Sylvestre Ledru Sat, 16 Jan 2016 12:34:11 +0100 diff --git a/debian/clang-X.Y.install.in b/debian/clang-X.Y.install.in index 510a9def..81055b24 100644 --- a/debian/clang-X.Y.install.in +++ b/debian/clang-X.Y.install.in @@ -1,15 +1,11 @@ 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/pp-trace usr/lib/llvm-@LLVM_VERSION@/bin/clang-query usr/lib/llvm-@LLVM_VERSION@/bin/clang-rename usr/lib/llvm-@LLVM_VERSION@/bin/sancov -usr/bin/c-index-test* tools/clang/tools/scan-build-@LLVM_VERSION@ usr/share/clang/ tools/clang/tools/scan-view-@LLVM_VERSION@ usr/share/clang/ #usr/share/man/man1/clang.1 usr/share/man/man1/ @@ -17,10 +13,7 @@ tools/clang/tools/scan-view-@LLVM_VERSION@ usr/share/clang/ 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/pp-trace-@LLVM_VERSION@ usr/bin/clang-query-@LLVM_VERSION@ usr/bin/clang-rename-@LLVM_VERSION@ usr/bin/sancov-@LLVM_VERSION@ diff --git a/debian/clang-X.Y.lintian-overrides.in b/debian/clang-X.Y.lintian-overrides.in index 46514394..f51804d3 100644 --- a/debian/clang-X.Y.lintian-overrides.in +++ b/debian/clang-X.Y.lintian-overrides.in @@ -1,10 +1,8 @@ # 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 clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-apply-replacements-@LLVM_VERSION@.1.gz clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-check-@LLVM_VERSION@.1.gz clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/clang-tblgen-@LLVM_VERSION@.1.gz -clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/pp-trace-@LLVM_VERSION@.1.gz clang-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/scan-view-@LLVM_VERSION@.1.gz diff --git a/debian/clang-X.Y.manpages.in b/debian/clang-X.Y.manpages.in index eefde3c3..2801e790 100644 --- a/debian/clang-X.Y.manpages.in +++ b/debian/clang-X.Y.manpages.in @@ -1,7 +1,5 @@ #build-llvm/tools/clang/docs/tools/clang-@LLVM_VERSION@.1 clang/tools/scan-build/man/scan-build-@LLVM_VERSION@.1 debian/man/clang-check-@LLVM_VERSION@.1 -debian/man/clang-tblgen-@LLVM_VERSION@.1 debian/man/scan-view-@LLVM_VERSION@.1 debian/man/clang-apply-replacements-@LLVM_VERSION@.1 -debian/man/pp-trace-@LLVM_VERSION@.1 diff --git a/debian/clang-format-X.Y.install.in b/debian/clang-format-X.Y.install.in index 8e968405..d3a18a58 100644 --- a/debian/clang-format-X.Y.install.in +++ b/debian/clang-format-X.Y.install.in @@ -1,5 +1,10 @@ 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/bin/git-clang-format-@LLVM_VERSION@ usr/lib/llvm-@LLVM_VERSION@/bin/clang-format +usr/lib/llvm-@LLVM_VERSION@/bin/git-clang-format +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format-diff.py usr/share/clang/clang-format-@LLVM_VERSION@/ +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format.py usr/share/clang/clang-format-@LLVM_VERSION@/ +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format.el usr/share/emacs/site-lisp/clang-format-@LLVM_VERSION@/ +usr/lib/llvm-@LLVM_VERSION@/share/clang/clang-format-sublime.py usr/share/clang/clang-format-@LLVM_VERSION@/ diff --git a/debian/control b/debian/control index c58391e7..f491f5fc 100644 --- a/debian/control +++ b/debian/control @@ -4,8 +4,7 @@ Priority: optional Maintainer: LLVM Packaging Team Uploaders: Sylvestre Ledru Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect, - autoconf, automake, perl, libtool, chrpath, texinfo, - sharutils, autotools-dev (>= 20060702.1), libffi-dev (>= 3.0.9), + cmake, perl, libtool, chrpath, texinfo, sharutils, libffi-dev (>= 3.0.9), lsb-release, patchutils, diffstat, xz-utils, python-dev, libedit-dev, swig, python-sphinx, ocaml-nox, binutils-dev, libjsoncpp-dev, @@ -59,7 +58,7 @@ Description: Tool to format C/C++/Obj-C code Package: clang-tidy-3.8 Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends}, python Replaces: clang-modernize-3.8, clang-3.8 (<< 1:3.8~svn250696-1) Breaks: clang-modernize-3.8, clang-3.8 (<< 1:3.8~svn250696-1) Description: clang-based C++ linter tool @@ -289,26 +288,6 @@ Description: Modular compiler and toolchain technologies, libraries and headers This package provides the libraries and headers to develop applications using llvm. -Package: llvm-3.8-tools -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, python, - llvm-3.8-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.8-ocaml-dev Section: ocaml Architecture: any @@ -404,6 +383,7 @@ Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hp Depends: ${shlibs:Depends}, ${misc:Depends}, liblldb-3.8 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: debug +Priority: extra Description: Next generation, high-performance debugger, debugging libraries 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 diff --git a/debian/libclang-X.Y-dev.install.in b/debian/libclang-X.Y-dev.install.in index cb9a6deb..ac3e9ebc 100644 --- a/debian/libclang-X.Y-dev.install.in +++ b/debian/libclang-X.Y-dev.install.in @@ -1,9 +1,6 @@ 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/libclang-@LLVM_VERSION@.so - -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/ diff --git a/debian/libclang-X.Y-dev.links.in b/debian/libclang-X.Y-dev.links.in index 5edcb499..6f99d5bf 100644 --- a/debian/libclang-X.Y-dev.links.in +++ b/debian/libclang-X.Y-dev.links.in @@ -1,2 +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.so +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so diff --git a/debian/libclang1-X.Y.install.in b/debian/libclang1-X.Y.install.in index 27c6af7b..48a548a5 100644 --- a/debian/libclang1-X.Y.install.in +++ b/debian/libclang1-X.Y.install.in @@ -1,3 +1,2 @@ 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 index 1eee7d44..3ea44c8d 100644 --- a/debian/libclang1-X.Y.links.in +++ b/debian/libclang1-X.Y.links.in @@ -1,2 +1,3 @@ # as upstream usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so.1 diff --git a/debian/libclang1-X.Y.symbols.in b/debian/libclang1-X.Y.symbols.in index 9004a98d..b0b34323 100644 --- a/debian/libclang1-X.Y.symbols.in +++ b/debian/libclang1-X.Y.symbols.in @@ -7,6 +7,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_CXCursorSet_insert@Base 3.2 clang_CXIndex_getGlobalOptions@Base 3.2 clang_CXIndex_setGlobalOptions@Base 3.2 + clang_CXXField_isMutable@Base 3.8 clang_CXXMethod_isConst@Base 3.4 clang_CXXMethod_isPureVirtual@Base 3.4 clang_CXXMethod_isStatic@Base 3.2 @@ -30,6 +31,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_CompileCommands_getSize@Base 3.2 clang_Cursor_getArgument@Base 3.2 clang_Cursor_getBriefCommentText@Base 3.2 + clang_Cursor_getCXXManglings@Base 3.8 clang_Cursor_getCommentRange@Base 3.2 clang_Cursor_getMangling@Base 3.6 clang_Cursor_getModule@Base 3.2 @@ -145,6 +147,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_disposeOverriddenCursors@Base 3.2 clang_disposeSourceRangeList@Base 3.6 clang_disposeString@Base 3.2 + clang_disposeStringSet@Base 3.8 clang_disposeTokens@Base 3.2 clang_disposeTranslationUnit@Base 3.2 clang_enableStackTraces@Base 3.2 @@ -199,6 +202,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_getCursorSpelling@Base 3.2 clang_getCursorType@Base 3.2 clang_getCursorUSR@Base 3.2 + clang_getCursorVisibility@Base 3.8 clang_getDeclObjCTypeEncoding@Base 3.2 clang_getDefinitionSpellingAndExtent@Base 3.2 clang_getDiagnostic@Base 3.2 @@ -272,6 +276,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_indexLoc_getCXSourceLocation@Base 3.2 clang_indexLoc_getFileLocation@Base 3.2 clang_indexSourceFile@Base 3.2 + clang_indexSourceFileFullArgv@Base 3.8 clang_indexTranslationUnit@Base 3.2 clang_index_getCXXClassDeclInfo@Base 3.2 clang_index_getClientContainer@Base 3.2 @@ -304,6 +309,7 @@ libclang-@LLVM_VERSION@.so.1 libclang1-@LLVM_VERSION@ #MINVER# clang_isVolatileQualifiedType@Base 3.2 clang_loadDiagnostics@Base 3.2 clang_parseTranslationUnit2@Base 3.6 + clang_parseTranslationUnit2FullArgv@Base 3.8 clang_parseTranslationUnit@Base 3.2 clang_remap_dispose@Base 3.2 clang_remap_getFilenames@Base 3.2 diff --git a/debian/liblldb-X.Y.install.in b/debian/liblldb-X.Y.install.in index e1818b34..8545597e 100644 --- a/debian/liblldb-X.Y.install.in +++ b/debian/liblldb-X.Y.install.in @@ -1,3 +1,2 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ usr/lib/llvm-@LLVM_VERSION@/lib/python2.7/site-packages/readline.so diff --git a/debian/liblldb-X.Y.links.in b/debian/liblldb-X.Y.links.in index a046fc49..bea86baa 100644 --- a/debian/liblldb-X.Y.links.in +++ b/debian/liblldb-X.Y.links.in @@ -1,5 +1,4 @@ -usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so -usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so usr/lib/python2.7/dist-packages/lldb-@LLVM_VERSION@/_lldb.so usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/liblldb.so.1 diff --git a/debian/libllvmX.Y.links.in b/debian/libllvmX.Y.links.in index 4faec3f9..067b0884 100644 --- a/debian/libllvmX.Y.links.in +++ b/debian/libllvmX.Y.links.in @@ -1,3 +1,4 @@ # 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 +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/libLLVM-@LLVM_VERSION@.so diff --git a/debian/llvm-X.Y-dev.install.in b/debian/llvm-X.Y-dev.install.in index 59f2b649..813b6f2f 100644 --- a/debian/llvm-X.Y-dev.install.in +++ b/debian/llvm-X.Y-dev.install.in @@ -8,12 +8,6 @@ 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/indent/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/indent/ diff --git a/debian/llvm-X.Y-doc.install.in b/debian/llvm-X.Y-doc.install.in index 60ae20bd..6ac115a5 100644 --- a/debian/llvm-X.Y-doc.install.in +++ b/debian/llvm-X.Y-doc.install.in @@ -1,6 +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/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/Dummy.html #usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/doxygen.css -usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/LibASTMatchersReference.html +#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/html/LibASTMatchersReference.html diff --git a/debian/llvm-X.Y-runtime.install.in b/debian/llvm-X.Y-runtime.install.in index d8e16a7c..2fe0d36a 100644 --- a/debian/llvm-X.Y-runtime.install.in +++ b/debian/llvm-X.Y-runtime.install.in @@ -1,8 +1,6 @@ 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.lintian-overrides.in b/debian/llvm-X.Y.lintian-overrides.in index d59be5db..89080d30 100644 --- a/debian/llvm-X.Y.lintian-overrides.in +++ b/debian/llvm-X.Y.lintian-overrides.in @@ -5,5 +5,4 @@ llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry usr/share/man/man1/llvm-mc 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/llvm-ranlib-@LLVM_VERSION@.1.gz diff --git a/debian/llvm-X.Y.manpages.in b/debian/llvm-X.Y.manpages.in index 8923996c..0599d728 100644 --- a/debian/llvm-X.Y.manpages.in +++ b/debian/llvm-X.Y.manpages.in @@ -5,6 +5,5 @@ 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/llvm-ranlib-@LLVM_VERSION@.1 diff --git a/debian/patches/0044-soname.diff b/debian/patches/0044-soname.diff index e478bc77..92d944a4 100644 --- a/debian/patches/0044-soname.diff +++ b/debian/patches/0044-soname.diff @@ -1,8 +1,6 @@ -Index: llvm-toolchain-snapshot_3.7~svn241915/tools/llvm-shlib/Makefile -=================================================================== ---- llvm-toolchain-snapshot_3.7~svn241915.orig/tools/llvm-shlib/Makefile -+++ llvm-toolchain-snapshot_3.7~svn241915/tools/llvm-shlib/Makefile -@@ -67,7 +67,7 @@ endif +--- a/tools/llvm-shlib/Makefile ++++ b/tools/llvm-shlib/Makefile +@@ -67,7 +67,7 @@ ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD GNU)) # Add soname to the library. @@ -11,3 +9,24 @@ Index: llvm-toolchain-snapshot_3.7~svn241915/tools/llvm-shlib/Makefile endif ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD)) +--- a/tools/llvm-shlib/CMakeLists.txt ++++ b/tools/llvm-shlib/CMakeLists.txt +@@ -39,6 +39,7 @@ + endif() + + add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) ++set_property(TARGET LLVM PROPERTY VERSION "1") # Append .1 to SONAME + + list(REMOVE_DUPLICATES LIB_NAMES) + if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") # FIXME: It should be "GNU ld for elf" +--- a/clang/tools/libclang/CMakeLists.txt ++++ b/clang/tools/libclang/CMakeLists.txt +@@ -82,7 +82,7 @@ + set(output_name "clang") + endif() + +-add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} ++add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} SONAME + OUTPUT_NAME ${output_name} + ${SOURCES} + DEPENDS clang-headers diff --git a/debian/patches/fix-llvm-config-obj-src-root.patch b/debian/patches/fix-llvm-config-obj-src-root.patch index b9c4ee8f..f41b89a4 100644 --- a/debian/patches/fix-llvm-config-obj-src-root.patch +++ b/debian/patches/fix-llvm-config-obj-src-root.patch @@ -1,8 +1,8 @@ -Index: llvm-toolchain-snapshot_3.8~svn257050/tools/llvm-config/llvm-config.cpp +Index: llvm-toolchain-3.8_3.8~+rc1/tools/llvm-config/llvm-config.cpp =================================================================== ---- llvm-toolchain-snapshot_3.8~svn257050.orig/tools/llvm-config/llvm-config.cpp -+++ llvm-toolchain-snapshot_3.8~svn257050/tools/llvm-config/llvm-config.cpp -@@ -531,9 +531,9 @@ int main(int argc, char **argv) { +--- llvm-toolchain-3.8_3.8~+rc1.orig/tools/llvm-config/llvm-config.cpp ++++ llvm-toolchain-3.8_3.8~+rc1/tools/llvm-config/llvm-config.cpp +@@ -498,9 +498,9 @@ int main(int argc, char **argv) { } else if (Arg == "--shared-mode") { PrintSharedMode = true; } else if (Arg == "--obj-root") { @@ -11,6 +11,6 @@ Index: llvm-toolchain-snapshot_3.8~svn257050/tools/llvm-config/llvm-config.cpp } else if (Arg == "--src-root") { - OS << LLVM_SRC_ROOT << '\n'; + OS << ActivePrefix << "/build/" << '\n'; - } else if (Arg == "--link-shared") { - LinkMode = LinkModeDyLib; - } else if (Arg == "--link-static") { + } else { + usage(); + } diff --git a/debian/patches/lldb-soname.diff b/debian/patches/lldb-soname.diff index d47e485c..f702e06f 100644 --- a/debian/patches/lldb-soname.diff +++ b/debian/patches/lldb-soname.diff @@ -1,8 +1,6 @@ -Index: llvm-toolchain-snapshot_3.8~svn253186/lldb/lib/Makefile -=================================================================== ---- llvm-toolchain-snapshot_3.8~svn253186.orig/lldb/lib/Makefile -+++ llvm-toolchain-snapshot_3.8~svn253186/lldb/lib/Makefile -@@ -16,6 +16,7 @@ LIBRARYNAME = lldb +--- a/lldb/lib/Makefile ++++ b/lldb/lib/Makefile +@@ -16,6 +16,7 @@ NO_BUILD_ARCHIVE = 1 LINK_LIBS_IN_SHARED = 1 SHARED_LIBRARY = 1 @@ -10,7 +8,7 @@ Index: llvm-toolchain-snapshot_3.8~svn253186/lldb/lib/Makefile ifeq (,$(findstring -DLLDB_DISABLE_PYTHON,$(CXXFLAGS))) PYTHON_CONFIG?= python-config -@@ -191,7 +192,7 @@ ifeq ($(HOST_OS), $(filter $(HOST_OS), L +@@ -191,7 +192,7 @@ LLVMLibsOptions += -Wl,--no-undefined # Link in python LLVMLibsOptions += $(PYTHON_BUILD_FLAGS) -lrt -ledit -lncurses -lpanel -lpthread @@ -19,3 +17,40 @@ Index: llvm-toolchain-snapshot_3.8~svn253186/lldb/lib/Makefile ifneq (,$(filter $(shell dpkg-architecture -qDEB_HOST_ARCH), mips mipsel powerpc powerpcspe)) # Link GCC atomic helper library LLVMLibsOptions += -latomic +--- a/lldb/source/API/CMakeLists.txt ++++ b/lldb/source/API/CMakeLists.txt +@@ -6,7 +6,12 @@ + # for liblldb to link against + include(${LLDB_PROJECT_ROOT}/cmake/LLDBDependencies.cmake) + +-add_lldb_library(liblldb SHARED ++set(output_name lldb) ++if (CMAKE_SYSTEM_NAME MATCHES "Windows") ++ set(output_name liblldb) ++endif() ++ ++add_lldb_library(liblldb SHARED OUTPUT_NAME ${output_name} SONAME + SBAddress.cpp + SBAttachInfo.cpp + SBBlock.cpp +@@ -78,7 +83,7 @@ + + set_target_properties(liblldb + PROPERTIES +- VERSION ${LLDB_VERSION} ++ VERSION 1 + ) + + if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") +@@ -105,11 +110,6 @@ + if (MSVC AND NOT LLDB_DISABLE_PYTHON) + target_link_libraries(liblldb PRIVATE ${PYTHON_LIBRARY}) + endif() +-else() +- set_target_properties(liblldb +- PROPERTIES +- OUTPUT_NAME lldb +- ) + endif() + + if (LLDB_WRAP_PYTHON) diff --git a/debian/patches/lldb-test-makefile.diff b/debian/patches/lldb-test-makefile.diff index b255ead7..e69de29b 100644 --- a/debian/patches/lldb-test-makefile.diff +++ b/debian/patches/lldb-test-makefile.diff @@ -1,14 +0,0 @@ -Index: llvm-toolchain-snapshot_3.8~svn252405/lldb/Makefile -=================================================================== ---- llvm-toolchain-snapshot_3.8~svn252405.orig/lldb/Makefile -+++ llvm-toolchain-snapshot_3.8~svn252405/lldb/Makefile -@@ -91,7 +91,8 @@ ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT) - $(RecursiveTargets):: - $(Verb) if [ ! -f test/Makefile ]; then \ - $(MKDIR) test; \ -- $(CP) $(PROJ_SRC_DIR)/test/Makefile test/Makefile; \ -+ $(CP) $(PROJ_SRC_DIR)/packages/Python/lldbsuite/test/Makefile test/Makefile; \ -+ $(CP) $(PROJ_SRC_DIR)/packages/Python/lldbsuite/test/Makefile $(PROJ_SRC_DIR)/test/; \ - fi - endif - diff --git a/debian/patches/series b/debian/patches/series index 2bf97a5b..6555d271 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -34,8 +34,8 @@ follow-parallel-var.diff hurd-EIEIO-undef.diff silent-MCJIIT-tests.diff lldb-libname.diff -strip-svn.diff compiler-rt-i586.diff clang-analyzer-force-version.diff fix-cmake-config-prefix.diff -lldb-test-makefile.diff +llvm25468-lldb-swig-format-security.diff +llvm26003-sanitizer-check-env.diff diff --git a/debian/patches/silent-MCJIIT-tests.diff b/debian/patches/silent-MCJIIT-tests.diff index 958cbfcf..4bbe45fe 100644 --- a/debian/patches/silent-MCJIIT-tests.diff +++ b/debian/patches/silent-MCJIIT-tests.diff @@ -1,7 +1,7 @@ -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll @@ -1,5 +1,5 @@ ; RUN: %lli -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips-, mipsel-, i686, i386 @@ -9,10 +9,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/cross-mo declare i32 @FB() -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/eh-lg-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/eh-lg-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/eh-lg-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/eh-lg-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/MCJIT/eh-lg-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/eh-lg-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -relocation-model=pic -code-model=large %s -; XFAIL: cygwin, win32, mingw, mips-, mipsel-, i686, i386, aarch64, arm @@ -20,10 +20,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/eh-lg-pi declare i8* @__cxa_allocate_exception(i64) declare void @__cxa_throw(i8*, i8*, i8*) declare i32 @__gxx_personality_v0(...) -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/eh-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/eh-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/eh-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/eh-sm-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/MCJIT/eh-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/eh-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -relocation-model=pic -code-model=small %s -; XFAIL: cygwin, win32, mingw, mips-, mipsel-, i686, i386, darwin, aarch64, arm @@ -31,10 +31,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/eh-sm-pi declare i8* @__cxa_allocate_exception(i64) declare void @__cxa_throw(i8*, i8*, i8*) declare i32 @__gxx_personality_v0(...) -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll @@ -1,5 +1,5 @@ ; RUN: %lli -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-, mipsel-, i686, i386 @@ -42,10 +42,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/multi-mo declare i32 @FB() -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm @@ -53,10 +53,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/stubs-sm define i32 @main() nounwind { entry: -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 @@ -64,10 +64,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/test-glo @count = global i32 1, align 4 -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -O0 -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 @@ -75,54 +75,34 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/test-ptr @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4 -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll -@@ -1,5 +1,5 @@ - ; RUN: %lli -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-, mipsel-, i686, i386, arm -+; XFAIL: * - - declare i32 @FB() - -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll -=================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll -@@ -1,5 +1,5 @@ - ; RUN: %lli -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-, mipsel-, i686, i386, arm -+; XFAIL: * - - declare i32 @FB() - -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll -=================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll -@@ -1,5 +1,5 @@ - ; RUN: %lli -remote-mcjit -relocation-model=pic -code-model=small %s > /dev/null --; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll +@@ -1,6 +1,6 @@ + ; RUN: %lli -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ + ; RUN: -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, mingw32, win32 +; XFAIL: * @count = global i32 1, align 4 -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll -@@ -1,5 +1,5 @@ - ; RUN: %lli -remote-mcjit -O0 -relocation-model=pic -code-model=small %s --; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll +@@ -1,6 +1,6 @@ + ; RUN: %lli -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ + ; RUN: -O0 -relocation-model=pic -code-model=small %s +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, mingw32, win32 +; XFAIL: * @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4 -Index: llvm-toolchain-snapshot_3.8~svn255758/test/BugPoint/crash-narrowfunctiontest.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/BugPoint/crash-narrowfunctiontest.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/BugPoint/crash-narrowfunctiontest.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/BugPoint/crash-narrowfunctiontest.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/BugPoint/crash-narrowfunctiontest.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/BugPoint/crash-narrowfunctiontest.ll @@ -2,7 +2,6 @@ ; ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes > /dev/null @@ -131,10 +111,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/BugPoint/crash-narrowfunctiont define i32 @foo() { ret i32 1 } -Index: llvm-toolchain-snapshot_3.8~svn255758/test/BugPoint/metadata.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/BugPoint/metadata.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/BugPoint/metadata.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/BugPoint/metadata.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/BugPoint/metadata.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/BugPoint/metadata.ll @@ -1,7 +1,6 @@ ; 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 @@ -143,10 +123,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/BugPoint/metadata.ll ; Bugpoint should keep the call's metadata attached to the call. -Index: llvm-toolchain-snapshot_3.8~svn255758/test/BugPoint/remove_arguments_test.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/BugPoint/remove_arguments_test.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/BugPoint/remove_arguments_test.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/BugPoint/remove_arguments_test.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/BugPoint/remove_arguments_test.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/BugPoint/remove_arguments_test.ll @@ -1,7 +1,6 @@ ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes ; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s @@ -155,10 +135,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/BugPoint/remove_arguments_test ; Test to make sure that arguments are removed from the function if they are ; unnecessary. And clean up any types that frees up too. -Index: llvm-toolchain-snapshot_3.8~svn255758/test/Feature/load_module.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/Feature/load_module.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/Feature/load_module.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/Feature/load_module.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/Feature/load_module.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/Feature/load_module.ll @@ -3,7 +3,6 @@ ; RUN: -disable-output 2>&1 | grep Hello ; REQUIRES: loadable_module @@ -167,10 +147,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/Feature/load_module.ll @junk = global i32 0 -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips-, mipsel-, i686, i386 @@ -178,10 +158,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/cross declare i32 @FB() -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=large %s -; XFAIL: cygwin, win32, mingw, mips-, mipsel-, i686, i386, aarch64, arm @@ -189,10 +169,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/eh-lg declare i8* @__cxa_allocate_exception(i64) declare void @__cxa_throw(i8*, i8*, i8*) declare i32 @__gxx_personality_v0(...) -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small %s -; XFAIL: cygwin, win32, mingw, mips-, mipsel-, i686, i386, darwin, aarch64, arm @@ -200,10 +180,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/eh-sm declare i8* @__cxa_allocate_exception(i64) declare void @__cxa_throw(i8*, i8*, i8*) declare i32 @__gxx_personality_v0(...) -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-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-, mipsel-, i686, i386 @@ -211,54 +191,34 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/multi declare i32 @FB() -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll -@@ -1,5 +1,5 @@ - ; RUN: %lli -jit-kind=orc-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-, mipsel-, i686, i386, arm -+; XFAIL: * - - declare i32 @FB() - -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll -=================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll -@@ -1,5 +1,5 @@ - ; RUN: %lli -jit-kind=orc-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-, mipsel-, i686, i386, arm -+; XFAIL: * - - declare i32 @FB() - -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll -=================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll -@@ -1,5 +1,5 @@ - ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -relocation-model=pic -code-model=small %s > /dev/null --; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll +@@ -1,6 +1,6 @@ + ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ + ; RUN: -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, mingw32, win32 +; XFAIL: * @count = global i32 1, align 4 -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll -@@ -1,5 +1,5 @@ - ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0 -relocation-model=pic -code-model=small %s --; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll +@@ -1,6 +1,6 @@ + ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ + ; RUN: -O0 -relocation-model=pic -code-model=small %s +-; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, mingw32, win32 +; XFAIL: * @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4 -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm @@ -266,10 +226,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/stubs define i32 @main() nounwind { entry: -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 @@ -277,10 +237,10 @@ Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/test- @count = global i32 1, align 4 -Index: llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll +Index: llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll =================================================================== ---- llvm-toolchain-snapshot_3.8~svn255758.orig/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll -+++ llvm-toolchain-snapshot_3.8~svn255758/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll +--- llvm-toolchain-3.8_3.8~+rc2.orig/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll ++++ llvm-toolchain-3.8_3.8~+rc2/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-mcjit -O0 -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 diff --git a/debian/patches/silent-more-tests.diff b/debian/patches/silent-more-tests.diff index 8194ae7a..82c89f0a 100644 --- a/debian/patches/silent-more-tests.diff +++ b/debian/patches/silent-more-tests.diff @@ -49,3 +49,36 @@ Index: llvm-toolchain-snapshot_3.8~svn243372/test/Feature/load_module.ll @junk = global i32 0 +Index: llvm-toolchain-3.8_3.8~+rc1/clang/test/SemaCXX/warn-memsize-comparison.cpp +=================================================================== +--- llvm-toolchain-3.8_3.8~+rc1.orig/clang/test/SemaCXX/warn-memsize-comparison.cpp ++++ llvm-toolchain-3.8_3.8~+rc1/clang/test/SemaCXX/warn-memsize-comparison.cpp +@@ -11,8 +11,6 @@ extern "C" int strncasecmp(const char *s + extern "C" char *strncpy(char *dst, const char *src, size_t n); + extern "C" char *strncat(char *dst, const char *src, size_t n); + extern "C" char *strndup(const char *src, size_t n); +-extern "C" size_t strlcpy(char *dst, const char *src, size_t size); +-extern "C" size_t strlcat(char *dst, const char *src, size_t size); + + void f() { + char b1[80], b2[80]; +@@ -70,18 +68,6 @@ void f() { + expected-note {{explicitly cast the argument}} + if (strndup(b1, sizeof(b1)) != 0) {} + +- if (strlcpy(b1, b2, sizeof(b1) != 0)) {} // \ +- expected-warning{{size argument in 'strlcpy' call is a comparison}} \ +- expected-note {{did you mean to compare}} \ +- expected-note {{explicitly cast the argument}} +- if (strlcpy(b1, b2, sizeof(b1)) != 0) {} +- +- if (strlcat(b1, b2, sizeof(b1) != 0)) {} // \ +- expected-warning{{size argument in 'strlcat' call is a comparison}} \ +- expected-note {{did you mean to compare}} \ +- expected-note {{explicitly cast the argument}} +- if (strlcat(b1, b2, sizeof(b1)) != 0) {} +- + if (memset(b1, 0, sizeof(b1) / 2)) {} + if (memset(b1, 0, sizeof(b1) >> 2)) {} + if (memset(b1, 0, 4 << 2)) {} + diff --git a/debian/patches/strip-svn.diff b/debian/patches/strip-svn.diff index c953a977..e69de29b 100644 --- a/debian/patches/strip-svn.diff +++ b/debian/patches/strip-svn.diff @@ -1,43 +0,0 @@ -Index: llvm-toolchain-snapshot_3.8~svn243851/autoconf/configure.ac -=================================================================== ---- llvm-toolchain-snapshot_3.8~svn243851.orig/autoconf/configure.ac -+++ llvm-toolchain-snapshot_3.8~svn243851/autoconf/configure.ac -@@ -32,12 +32,12 @@ dnl===---------------------------------- - dnl Initialize autoconf and define the package name, version number and - dnl address for reporting bugs. - --AC_INIT([LLVM],[3.8.0svn],[http://llvm.org/bugs/]) -+AC_INIT([LLVM],[3.8.0],[http://llvm.org/bugs/]) - - LLVM_VERSION_MAJOR=3 - LLVM_VERSION_MINOR=8 - 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.8~svn243851/configure -=================================================================== ---- llvm-toolchain-snapshot_3.8~svn243851.orig/configure -+++ llvm-toolchain-snapshot_3.8~svn243851/configure -@@ -561,8 +561,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} - # Identity of this package. - PACKAGE_NAME='LLVM' - PACKAGE_TARNAME='llvm' --PACKAGE_VERSION='3.8.0svn' --PACKAGE_STRING='LLVM 3.8.0svn' -+PACKAGE_VERSION='3.8.0' -+PACKAGE_STRING='LLVM 3.8.0' - PACKAGE_BUGREPORT='http://llvm.org/bugs/' - - ac_unique_file="lib/IR/Module.cpp" -@@ -1956,7 +1956,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - LLVM_VERSION_MAJOR=3 - LLVM_VERSION_MINOR=8 - LLVM_VERSION_PATCH=0 --LLVM_VERSION_SUFFIX=svn -+LLVM_VERSION_SUFFIX= - - - cat >>confdefs.h <<_ACEOF diff --git a/debian/patches/use-deb-json.diff b/debian/patches/use-deb-json.diff index 8c30935e..170abd0a 100644 --- a/debian/patches/use-deb-json.diff +++ b/debian/patches/use-deb-json.diff @@ -1,7 +1,7 @@ -Index: llvm-toolchain-snapshot_3.8~svn243372/polly/lib/Makefile +Index: llvm-toolchain-3.8_3.8~+rc1/polly/lib/Makefile =================================================================== ---- llvm-toolchain-snapshot_3.8~svn243372.orig/polly/lib/Makefile -+++ llvm-toolchain-snapshot_3.8~svn243372/polly/lib/Makefile +--- llvm-toolchain-3.8_3.8~+rc1.orig/polly/lib/Makefile ++++ llvm-toolchain-3.8_3.8~+rc1/polly/lib/Makefile @@ -26,9 +26,9 @@ ISL_CODEGEN_FILES= CodeGen/IslAst.cpp \ CodeGen/IslNodeBuilder.cpp \ CodeGen/CodeGeneration.cpp @@ -15,10 +15,48 @@ Index: llvm-toolchain-snapshot_3.8~svn243372/polly/lib/Makefile ISL_FILES= External/isl/basis_reduction_tab.c \ External/isl/isl_aff.c \ -@@ -142,4 +142,5 @@ SOURCES= Polly.cpp \ +@@ -146,4 +146,5 @@ SOURCES= Polly.cpp \ # include $(LEVEL)/Makefile.common -LIBS += $(POLLY_LD) $(POLLY_LIB) +LIBS += $(POLLY_LD) $(POLLY_LIB) -ljsoncpp + +Index: llvm-toolchain-3.8_3.8~+rc1/polly/lib/CMakeLists.txt +=================================================================== +--- llvm-toolchain-3.8_3.8~+rc1.orig/polly/lib/CMakeLists.txt ++++ llvm-toolchain-3.8_3.8~+rc1/polly/lib/CMakeLists.txt +@@ -1,10 +1,10 @@ + set(LLVM_NO_RTTI 1) + +-set(POLLY_JSON_FILES +- JSON/json_reader.cpp +- JSON/json_value.cpp +- JSON/json_writer.cpp +-) ++# set(POLLY_JSON_FILES ++# JSON/json_reader.cpp ++# JSON/json_value.cpp ++# JSON/json_writer.cpp ++# ) + + set(ISL_CODEGEN_FILES + CodeGen/IslAst.cpp +@@ -46,7 +46,7 @@ add_polly_library(Polly + Support/RegisterPasses.cpp + Support/ScopHelper.cpp + Support/ScopLocation.cpp +- ${POLLY_JSON_FILES} ++# ${POLLY_JSON_FILES} + Transform/Canonicalization.cpp + Transform/CodePreparation.cpp + Transform/DeadCodeElimination.cpp +@@ -54,7 +54,7 @@ add_polly_library(Polly + ${POLLY_HEADER_FILES} + ) + +-target_link_libraries(Polly PollyISL) ++target_link_libraries(Polly PollyISL jsoncpp) + + if (BUILD_SHARED_LIBS) + target_link_libraries(Polly diff --git a/debian/rules b/debian/rules index cc512e8b..8d2fc324 100755 --- a/debian/rules +++ b/debian/rules @@ -17,8 +17,10 @@ endif VENDOR=$(shell lsb_release -is) -AUTOCONF_BUILD=yes +AUTOCONF_BUILD=no +ifeq (${AUTOCONF_BUILD},yes) BUILD_DIR=Release +endif DEB_HOST_MULTIARCH = $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) @@ -30,6 +32,7 @@ OCAML_STDLIB_DIR ?= $(shell ocamlc -where) LDFLAGS_EXTRA = CXXFLAGS_EXTRA = -std=c++0x CONFIGURE_EXTRA = +CMAKE_EXTRA = ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe)) LDFLAGS_EXTRA += -latomic @@ -97,6 +100,7 @@ ifneq (,$(filter scan-build,$(DEB_BUILD_OPTIONS))) # no need to run tests in this case DEB_BUILD_OPTIONS+=" nocheck" CONFIGURE_EXTRA += --enable-assertions + CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON endif ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS))) @@ -109,6 +113,7 @@ ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS))) PRE_PROCESS_CONF= COVERITY_ENABLE=1 CONFIGURE_EXTRA += --enable-assertions + CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON # no need to run tests in this case DEB_BUILD_OPTIONS+=" nocheck" else @@ -196,8 +201,12 @@ override_dh_auto_configure: preconfigure fi) # Due to bug upstream, no symlink here + rm -fr tools/clang/tools/extra cp -R -H clang-tools-extra tools/clang/tools/extra + # TODO(axw) specify build type for CMake + # TODO(axw) pass compiler flags, etc. + if test $(AUTOCONF_BUILD) = yes; then \ cd $(TARGET_BUILD); \ $(PRE_PROCESS_CONF) \ @@ -215,7 +224,7 @@ override_dh_auto_configure: preconfigure --with-cloog --with-isl \ --with-bug-report-url=http://bugs.debian.org/ \ --enable-shared \ - --disable-bindings \ + --disable-bindings \ --with-clang-default-openmp-runtime=libomp \ $(CONFIGURE_EXTRA) \ CLANG_VENDOR=$(VENDOR) || { cat config.log tools/polly/config.log; exit 1; }; \ @@ -223,22 +232,30 @@ override_dh_auto_configure: preconfigure cd $(TARGET_BUILD) && \ cmake ../ \ -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \ - -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=on; \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_CXX_FLAGS=$(CXXFLAGS_EXTRA) \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_VERSION_SUFFIX= \ + -DLLVM_ENABLE_SPHINX=ON \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_ENABLE_FFI=ON \ + $(CMAKE_EXTRA) \ + -DLIBCLANG_LIBRARY_VERSION=$(SONAME_EXT); \ fi -# cd $(TARGET_BUILD) && cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -# mkdir build-compiler-rt && cd build-compiler-rt && cmake ../compiler-rt -# --with-ocaml-libdir=/usr/lib/ocaml/llvm-$(LLVM_VERSION) \ override_dh_auto_build: $(PRE_PROCESS) $(MAKE) $(NJOBS) -C $(TARGET_BUILD) VERBOSE=1 CLANG_VENDOR=$(VENDOR) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 DEBUGMAKE=1 +ifeq (${AUTOCONF_BUILD},yes) # 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 +endif override_dh_prep: build_doc @@ -265,7 +282,7 @@ build_doc: help2man --version-string=$(LLVM_VERSION) clang/tools/scan-view/bin/scan-view > debian/man/scan-view-$(LLVM_VERSION).1 help2man --version-string=$(LLVM_VERSION) clang/tools/clang-format/clang-format-diff.py > debian/man/clang-format-diff-$(LLVM_VERSION).1 - CMDS="llvm-dwarfdump llvm-mc llvm-mcmarkup llvm-objdump llvm-rtdyld llvm-size llvm-tblgen llvm-ranlib lldb clang-format clang clang-tblgen clang-check clang-tidy clang-apply-replacements pp-trace sancov"; \ + CMDS="llvm-dwarfdump llvm-mc llvm-mcmarkup llvm-objdump llvm-rtdyld llvm-size llvm-ranlib lldb clang-format clang clang-tblgen clang-check clang-tidy clang-apply-replacements pp-trace sancov"; \ for f in $$CMDS; do \ echo "Generating manpage of $$f"; \ LD_LIBRARY_PATH=$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/:/usr/lib/*/libfakeroot help2man --no-discard-stderr --version-string=$(LLVM_VERSION) $(TARGET_BUILD)/$(BUILD_DIR)/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1; \ @@ -274,14 +291,20 @@ build_doc: override_dh_auto_install: $(MAKE) -C $(TARGET_BUILD) VERBOSE=1 install DESTDIR=$(DEB_INST)/ - chrpath -d $(TARGET_BUILD)/$(BUILD_DIR)/bin/clang + # Not used on Linux. + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/argdumper + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang/clang-format-bbedit.applescript + +ifneq (${AUTOCONF_BUILD},yes) + cp $(TARGET_BUILD)/bin/clang-query $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin +endif + # Only run on executable, not script chrpath -d `find $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary'|cut -d: -f1` # 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) - +ifeq (${AUTOCONF_BUILD},yes) cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && \ mv libclang.so libclang-$(LLVM_VERSION).so.$(SONAME_EXT) && \ ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang.so.$(SONAME_EXT); \ @@ -291,11 +314,12 @@ override_dh_auto_install: ln -s liblldb-$(LLVM_VERSION).so.$(SONAME_EXT) liblldb.so.$(SONAME_EXT); \ fi; \ rm -f libLLVM-$(LLVM_VERSION_FULL).so +endif # 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 +# 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-$(LLVM_VERSION) @@ -311,6 +335,61 @@ override_dh_auto_install: # idem for the lldb python binding mkdir -p $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python2.7/site-packages/lldb/ +# Copy things that are installed by CMake but not autoconf, +# and remove things that are installed by autoconf but are +# not intended for distribution. +ifeq (${AUTOCONF_BUILD},yes) + cp -p clang/tools/clang-format/git-clang-format $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin + cp -p clang/tools/clang-format/clang-format-diff.py $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang + cp -p clang/tools/clang-format/clang-format.py $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang + cp -p clang/tools/clang-format/clang-format.el $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang + cp -p clang/tools/clang-format/clang-format-sublime.py $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang + 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.1 +endif + +# Remove things that CMake or autoconf install but which aren't packaged yet, +# or are packaged from the source or build tree. +ifneq (${AUTOCONF_BUILD},yes) + mv $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang-$(LLVM_VERSION) \ + $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang +endif + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang-cl + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/scan-build + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/scan-view + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/c-index-test + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/clang-tblgen + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/pp-trace + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/count + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/not + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/FileCheck + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/Reporter.py + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ScanView.py + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/startfile.py + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/lli-child-target + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/lldb-argdumper + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/lldb-$(LLVM_VERSION_FULL) + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/lldb-mi-$(LLVM_VERSION_FULL) + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/lldb-server-$(LLVM_VERSION_FULL) + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/modularize + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/libexec/c++-analyzer + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/libexec/ccc-analyzer + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libclang*.so + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libLLVM*.so + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/liblldb*.so + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libclang.so.1 + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/liblldb.so.1 + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libPolly.a + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libPollyISL.a + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION_FULL)/*.txt + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python2.7/site-packages/six.py + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/man/man1/scan-build.1 + rm -fr $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang/cmake/ + rm -fr $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/scan-view/ + rm -fr $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/docs/llvm/html/ + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/docs/llvm/html.tar.gz + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/scan-build/scanview.css + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/scan-build/sorttable.js + # Rename binaries mkdir -p $(DEB_INST)/usr/bin/ cd $(DEB_INST)/usr/bin/; rm -f *; \ @@ -364,6 +443,10 @@ override_dh_auto_install: $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/; \ fi +# Delete the target build directory to save some space on the build systems +# All the files have been installed in $(CURDIR)/debian/tmp/ already + rm -rf $(TARGET_BUILD) + override_dh_shlibdeps: cd $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ && ln -s libLLVM-$(LLVM_VERSION).so.1 libLLVM-$(LLVM_VERSION).so @@ -389,7 +472,7 @@ 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/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/site-packages/lldb/__init__.pyc $(CURDIR)/debian/python-lldb-$(LLVM_VERSION)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/site-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 @@ -401,9 +484,34 @@ override_dh_installdeb: ifeq (,$(filter nocheck, $(DEB_BUILD_OPTIONS))) # List of the archs we know we have 100 % tests working -ARCH_LLVM_TEST_OK := amd64 i386 +ARCH_LLVM_TEST_OK := i386 + override_dh_auto_test: +ifneq (${AUTOCONF_BUILD},yes) + +# LLVM tests (CMake) +ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK))) + $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-llvm +else + $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-llvm || true +endif + +# Clang tests (CMake) + $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-clang || true + +# LLDB tests (CMake) +ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel)) + $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-lldb || true +endif + +# Polly tests (CMake) +ifeq (${POLLY_ENABLE},yes) + $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-polly || true +endif + +else # Autoconf build + # LLVM tests ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK))) # Fail the build if the test fails @@ -458,7 +566,7 @@ endif lcov --remove $$REPORT "/usr*" -o $$REPORT; \ genhtml -o reports/coverage --show-details --highlight --legend $$REPORT; \ fi -else +endif override_dh_auto_test: endif