diff --git a/debian/changelog b/debian/changelog index a8f7d7f1..083d1f2e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ -llvm-toolchain-snapshot (1:3.8~svn255217-1~exp2) experimental; urgency=medium +llvm-toolchain-snapshot (1:3.9~svn255217-1~exp2) experimental; urgency=medium + * Switch to 3.9 * 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 diff --git a/debian/control b/debian/control index f491f5fc..2e81b1f7 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect, libjsoncpp-dev, lcov, procps, help2man, dh-ocaml, zlib1g-dev Build-Conflicts: oprofile, ocaml, libllvm-3.4-ocaml-dev, libllvm-3.5-ocaml-dev, - libllvm-3.8-ocaml-dev + libllvm-3.9-ocaml-dev Standards-Version: 3.9.6 Homepage: http://www.llvm.org/ Vcs-Svn: svn://anonscm.debian.org/svn/pkg-llvm/llvm-toolchain/branches/snapshot/ @@ -18,14 +18,14 @@ Vcs-Browser: http://svn.debian.org/viewsvn/pkg-llvm/llvm-toolchain/branches/snap # ------------- clang ------------- -Package: clang-3.8 +Package: clang-3.9 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, - libclang-common-3.8-dev (= ${binary:Version}), - libclang1-3.8 (= ${binary:Version}), libc6-dev, binutils + libclang-common-3.9-dev (= ${binary:Version}), + libclang1-3.9 (= ${binary:Version}), libc6-dev, binutils Provides: c-compiler, objc-compiler, c++-compiler -Recommends: llvm-3.8-dev, python -Suggests: gnustep, gnustep-devel, clang-3.8-doc +Recommends: llvm-3.9-dev, python +Suggests: gnustep, gnustep-devel, clang-3.9-doc Replaces: clang-3.1, clang-3.2, clang-3.3, clang-3.4 (<< 1:3.4.2-7~exp1), clang-3.5 (<< 1:3.5~+rc1-3~exp1), compiler-rt Breaks: clang-3.1, clang-3.2, clang-3.3, @@ -39,7 +39,7 @@ Description: C, C++ and Objective-C compiler (LLVM based) well as the upcoming C++14 standard, and some parts of the fledgling C++1z standard, and is considered a production-quality C++ compiler. -Package: clang-format-3.8 +Package: clang-format-3.9 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python Replaces: clang-format-3.3 @@ -56,11 +56,11 @@ Description: Tool to format C/C++/Obj-C code . This package also provides vim and emacs plugins. -Package: clang-tidy-3.8 +Package: clang-tidy-3.9 Architecture: any 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) +Replaces: clang-modernize-3.9, clang-3.9 (<< 1:3.9~svn250696-1) +Breaks: clang-modernize-3.9, clang-3.9 (<< 1:3.9~svn250696-1) Description: clang-based C++ linter tool Provide an extensible framework for diagnosing and fixing typical programming errors, like style violations, interface misuse, or bugs that can be deduced @@ -68,7 +68,7 @@ Description: clang-based C++ linter tool for writing new checks. -Package: clang-3.8-doc +Package: clang-3.9-doc Architecture: all Section: doc Depends: ${shlibs:Depends}, ${misc:Depends} @@ -83,7 +83,7 @@ Description: C, C++ and Objective-C compiler (LLVM based) - Documentation . This package contains the documentation. -Package: libclang1-3.8 +Package: libclang1-3.9 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs} Pre-Depends: ${misc:Pre-Depends} @@ -105,12 +105,12 @@ Description: C interface to the clang library locations with elements within the AST, and other facilities that support Clang-based development tools. -Package: libclang1-3.8-dbg +Package: libclang1-3.9-dbg Architecture: any Multi-Arch: same Section: debug Priority: extra -Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libclang1-3.8 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libclang1-3.9 (= ${binary:Version}) 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 @@ -122,11 +122,11 @@ Description: clang library . This package contains the debugging symbols. -Package: libclang-3.8-dev +Package: libclang-3.9-dev Architecture: any Section: libdevel Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, - libclang1-3.8 (= ${binary:Version}), libclang-common-3.8-dev (= ${binary:Version}) + libclang1-3.9 (= ${binary:Version}), libclang-common-3.9-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 @@ -137,12 +137,12 @@ Description: clang library - Development package standard, and is considered a production-quality C++ compiler. . This package contains the clang headers to develop extensions over - libclang1-3.8. + libclang1-3.9. -Package: libclang-common-3.8-dev +Package: libclang-common-3.9-dev Architecture: any Section: libdevel -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.8 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${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 @@ -156,7 +156,7 @@ Description: clang library - Common development package (profiling, etc). -Package: python-clang-3.8 +Package: python-clang-3.9 Section: python Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python @@ -174,7 +174,7 @@ Description: Clang Python Bindings This binding package provides access to the Clang compiler and libraries. -Package: clang-3.8-examples +Package: clang-3.9-examples Architecture: any Section: doc Depends: ${shlibs:Depends}, ${misc:Depends} @@ -191,7 +191,7 @@ Description: Clang examples # ------------- LLVM ------------- -Package: libllvm3.8 +Package: libllvm3.9 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} @@ -204,11 +204,11 @@ Description: Modular compiler and toolchain technologies, runtime library . This package contains the LLVM runtime library. -Package: libllvm3.8-dbg +Package: libllvm3.9-dbg Architecture: any Section: debug Priority: extra -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.8 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same Description: Modular compiler and toolchain technologies, debugging libraries @@ -218,11 +218,11 @@ Description: Modular compiler and toolchain technologies, debugging libraries . This package contains the LLVM runtime library debug symbols. -Package: llvm-3.8 +Package: llvm-3.9 Architecture: any -Suggests: llvm-3.8-doc -Depends: llvm-3.8-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} -Recommends: llvm-3.8-dev +Suggests: llvm-3.9-doc +Depends: llvm-3.9-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Recommends: llvm-3.9-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 @@ -246,7 +246,7 @@ Description: Modular compiler and toolchain technologies a young scheme front-end, and Java support is in development. LLVM can generate code for X86, SparcV9, PowerPC or many other architectures. -Package: llvm-3.8-runtime +Package: llvm-3.9-runtime Architecture: any Depends: binfmt-support, ${shlibs:Depends}, ${misc:Depends} Conflicts: llvm (<< 2.7-1) @@ -267,10 +267,10 @@ Description: Modular compiler and toolchain technologies, IR interpreter This package provides the minimal required to execute programs in LLVM format. -Package: llvm-3.8-dev +Package: llvm-3.9-dev Architecture: any Depends: ${shlibs:Depends}, libffi-dev (>= 3.0.9), ${misc:Depends}, - llvm-3.8 (= ${binary:Version}), libtinfo-dev + llvm-3.9 (= ${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 @@ -288,11 +288,11 @@ Description: Modular compiler and toolchain technologies, libraries and headers This package provides the libraries and headers to develop applications using llvm. -Package: libllvm-3.8-ocaml-dev +Package: libllvm-3.9-ocaml-dev Section: ocaml Architecture: any -Suggests: llvm-3.8-doc -Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-3.8-dev (= ${binary:Version}) +Suggests: llvm-3.9-doc +Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-3.9-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 @@ -309,7 +309,7 @@ Description: Modular compiler and toolchain technologies, OCaml bindings . This package provides the OCaml bindings to develop applications using llvm. -Package: llvm-3.8-doc +Package: llvm-3.9-doc Section: doc Architecture: all Depends: ${misc:Depends}, libjs-jquery, libjs-underscore @@ -328,10 +328,10 @@ Description: Modular compiler and toolchain technologies, documentation . This package contains all documentation (extensive). -Package: llvm-3.8-examples +Package: llvm-3.9-examples Section: doc Architecture: all -Depends: ${misc:Depends}, llvm-3.8-dev (>= ${source:Version}), llvm-3.8-dev (<< ${source:Version}+c~) +Depends: ${misc:Depends}, llvm-3.9-dev (>= ${source:Version}), llvm-3.9-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 @@ -351,10 +351,10 @@ Description: Modular compiler and toolchain technologies, examples # ------------- lldb ------------- -Package: lldb-3.8 +Package: lldb-3.9 Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel # ia64 mips mipsel hurd powerpc ppc64el have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.8 (= ${binary:Version}), python, llvm-3.8-dev, python-lldb-3.8 +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version}), python, llvm-3.9-dev, python-lldb-3.9 Conflicts: lldb-3.4, lldb-3.5 Pre-Depends: ${misc:Pre-Depends} Description: Next generation, high-performance debugger @@ -362,14 +362,14 @@ Description: Next generation, high-performance debugger reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler. -Package: liblldb-3.8 +Package: liblldb-3.9 Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel # ia64 mips mipsel hurd powerpc ppc64el have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.8 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.9 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: libs -Replaces: lldb-3.8 (<= 1:3.8~svn215195-2) -Breaks: lldb-3.8 (<< 1:3.8~svn215195-2) +Replaces: lldb-3.9 (<= 1:3.9~svn215195-2) +Breaks: lldb-3.9 (<< 1:3.9~svn215195-2) Description: Next generation, high-performance debugger, library 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 @@ -377,10 +377,10 @@ Description: Next generation, high-performance debugger, library . This package contains the LLDB runtime library. -Package: liblldb-3.8-dbg +Package: liblldb-3.9-dbg Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 sparc hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel # ia64 mips mipsel hurd ppc64el alpha s390x powerpc have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, liblldb-3.8 (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, liblldb-3.9 (= ${binary:Version}) Pre-Depends: ${misc:Pre-Depends} Section: debug Priority: extra @@ -392,7 +392,7 @@ Description: Next generation, high-performance debugger, debugging libraries This package contains the LLDB runtime library debug symbols. -Package: python-lldb-3.8 +Package: python-lldb-3.9 Section: python Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python @@ -406,13 +406,13 @@ Description: Next generation, high-performance debugger, python lib This binding package provides access to lldb. -Package: liblldb-3.8-dev +Package: liblldb-3.9-dev Section: libdevel Architecture: amd64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 mips mipsel # ia64 mips mipsel hurd powerpc ppc64el have been removed -Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-3.8 (= ${binary:Version}) -Replaces: lldb-3.8-dev (<= 1:3.8~svn215195-2) -Breaks: lldb-3.8-dev (<< 1:3.8~svn215195-2) +Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-3.9 (= ${binary:Version}) +Replaces: lldb-3.9-dev (<= 1:3.9~svn215195-2) +Breaks: lldb-3.9-dev (<< 1:3.9~svn215195-2) 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 @@ -422,9 +422,9 @@ Description: Next generation, high-performance debugger - Header files This package provides the header files to build extension over lldb. -Package: lldb-3.8-dev -Depends: liblldb-3.8-dev, ${misc:Depends} +Package: lldb-3.9-dev +Depends: liblldb-3.9-dev, ${misc:Depends} Architecture: all Section: oldlibs -Description: transitional dummy package to liblldb-3.8-dev +Description: transitional dummy package to liblldb-3.9-dev This is a transitional dummy package. It can safely be removed. diff --git a/debian/orig-tar.sh b/debian/orig-tar.sh index 1c03550f..4d06b102 100755 --- a/debian/orig-tar.sh +++ b/debian/orig-tar.sh @@ -14,8 +14,8 @@ set -e # sh 3.4/debian/orig-tar.sh RELEASE_34 rc1 SVN_BASE_URL=http://llvm.org/svn/llvm-project/ -MAJOR_VERSION=3.8 -CURRENT_VERSION=3.8 # Should be changed to 3.5.1 later +MAJOR_VERSION=3.9 +CURRENT_VERSION=3.9 # 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/ diff --git a/debian/patches/clang-analyzer-force-version.diff b/debian/patches/clang-analyzer-force-version.diff index bb5ddf8d..f929c0bf 100644 --- a/debian/patches/clang-analyzer-force-version.diff +++ b/debian/patches/clang-analyzer-force-version.diff @@ -1,16 +1,16 @@ # Force the version of clang in the analyzer # This was causing the static analyzer to fail silently if the clang & clang++ are # not installed -Index: llvm-toolchain-snapshot_3.8~svn253186/clang/tools/scan-build/libexec/ccc-analyzer +Index: llvm-toolchain-snapshot_3.9~svn253.96/clang/tools/scan-build/libexec/ccc-analyzer =================================================================== ---- llvm-toolchain-snapshot_3.8~svn253186.orig/clang/tools/scan-build/libexec/ccc-analyzer -+++ llvm-toolchain-snapshot_3.8~svn253186/clang/tools/scan-build/libexec/ccc-analyzer +--- llvm-toolchain-snapshot_3.9~svn253.96.orig/clang/tools/scan-build/libexec/ccc-analyzer ++++ llvm-toolchain-snapshot_3.9~svn253.96/clang/tools/scan-build/libexec/ccc-analyzer @@ -91,7 +91,7 @@ if ($FindBin::Script =~ /c\+\+-analyzer/ if (!defined $Compiler || (! -x $Compiler && ! SearchInPath($Compiler))) { $Compiler = $DefaultCXXCompiler; } $Clang = $ENV{'CLANG_CXX'}; - if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++'; } -+ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++-3.8'; } ++ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang++-3.9'; } $IsCXX = 1 } @@ -19,7 +19,7 @@ Index: llvm-toolchain-snapshot_3.8~svn253186/clang/tools/scan-build/libexec/ccc- $Clang = $ENV{'CLANG'}; - if (!defined $Clang || ! -x $Clang) { $Clang = 'clang'; } -+ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang-3.8'; } ++ if (!defined $Clang || ! -x $Clang) { $Clang = 'clang-3.9'; } $IsCXX = 0 } diff --git a/debian/patches/clang-format-version.diff b/debian/patches/clang-format-version.diff index b8146634..78ca1325 100644 --- a/debian/patches/clang-format-version.diff +++ b/debian/patches/clang-format-version.diff @@ -7,7 +7,7 @@ Index: llvm-toolchain-snapshot_3.7~svn241915/clang/tools/clang-format/clang-form # set g:clang_format_path to the path to clang-format if it is not on the path # Change this to the full path if clang-format is not on the path. -binary = 'clang-format' -+binary = 'clang-format-3.8' ++binary = 'clang-format-3.9' if vim.eval('exists("g:clang_format_path")') == "1": binary = vim.eval('g:clang_format_path') @@ -20,7 +20,7 @@ Index: llvm-toolchain-snapshot_3.7~svn241915/clang/tools/clang-format/clang-form # Change this to the full path if clang-format is not on the path. -binary = 'clang-format' -+binary = 'clang-format-3.8' ++binary = 'clang-format-3.9' def main(): @@ -33,7 +33,7 @@ Index: llvm-toolchain-snapshot_3.7~svn241915/clang/tools/clang-format/clang-form (defcustom clang-format-executable - (or (executable-find "clang-format") -+ (or (executable-find "clang-format-3.8") ++ (or (executable-find "clang-format-3.9") "clang-format") "Location of the clang-format executable. diff --git a/debian/patches/python-clangpath.diff b/debian/patches/python-clangpath.diff index 3826d7f5..e91c5ca8 100644 --- a/debian/patches/python-clangpath.diff +++ b/debian/patches/python-clangpath.diff @@ -7,7 +7,7 @@ Index: llvm-toolchain-snapshot_3.5~svn199197/clang/bindings/python/clang/cindex. file = 'libclang.dll' else: - file = 'libclang.so' -+ file = 'libclang-3.8.so' ++ file = 'libclang-3.9.so' if Config.library_path: file = Config.library_path + '/' + file diff --git a/debian/patches/scan-build-clang-path.diff b/debian/patches/scan-build-clang-path.diff index 450772fb..fc44f455 100644 --- a/debian/patches/scan-build-clang-path.diff +++ b/debian/patches/scan-build-clang-path.diff @@ -1,13 +1,13 @@ -Index: llvm-toolchain-snapshot_3.8~svn253186/clang/tools/scan-build/bin/scan-build +Index: llvm-toolchain-snapshot_3.9~svn253.96/clang/tools/scan-build/bin/scan-build =================================================================== ---- llvm-toolchain-snapshot_3.8~svn253186.orig/clang/tools/scan-build/bin/scan-build -+++ llvm-toolchain-snapshot_3.8~svn253186/clang/tools/scan-build/bin/scan-build +--- llvm-toolchain-snapshot_3.9~svn253.96.orig/clang/tools/scan-build/bin/scan-build ++++ llvm-toolchain-snapshot_3.9~svn253.96/clang/tools/scan-build/bin/scan-build @@ -1407,7 +1407,7 @@ sub FindClang { if (!defined $Options{AnalyzerDiscoveryMethod}) { $Clang = Cwd::realpath("$RealBin/bin/clang") if (-f "$RealBin/bin/clang"); if (!defined $Clang || ! -x $Clang) { - $Clang = Cwd::realpath("$RealBin/clang") if (-f "$RealBin/clang"); -+ $Clang = Cwd::realpath("/usr/lib/llvm-3.8/bin/clang"); ++ $Clang = Cwd::realpath("/usr/lib/llvm-3.9/bin/clang"); } if (!defined $Clang || ! -x $Clang) { return "error: Cannot find an executable 'clang' relative to" . diff --git a/debian/prepare-new-release.sh b/debian/prepare-new-release.sh index 8745c3b4..f0e9e4fc 100644 --- a/debian/prepare-new-release.sh +++ b/debian/prepare-new-release.sh @@ -1,8 +1,8 @@ #!/bin/sh -ORIG_VERSION=3.7 -TARGET_VERSION=3.8 -ORIG_VERSION_2=3_7 -TARGET_VERSION_2=3_8 +ORIG_VERSION=3.8 +TARGET_VERSION=3.9 +ORIG_VERSION_2=3_8 +TARGET_VERSION_2=3_9 LIST=`ls debian/*$ORIG_VERSION*` for F in $LIST; do diff --git a/debian/rules b/debian/rules index 8d2fc324..37d767e0 100755 --- a/debian/rules +++ b/debian/rules @@ -6,7 +6,7 @@ DEB_INST := $(CURDIR)/debian/tmp/ # The 5| in the regexp is a crappy workaround. g++ 5.2 in Debian is not providing a g++-5.2 binary (only g++-5) # accomodate that by hardcoding the 5 detection GCC_VERSION := $(shell dpkg-query -W -f '$${Version}' g++ | sed -rne 's,^([0-9]+:)?(5|[0-9]+\.[0-9]+|[0-9]+).*$$,\2,p') -LLVM_VERSION := 3.8 +LLVM_VERSION := 3.9 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