Switch to 3.9

This commit is contained in:
Sylvestre Ledru 2016-02-08 12:53:27 +00:00
parent ee3519828b
commit 81281baa5f
9 changed files with 75 additions and 74 deletions

3
debian/changelog vendored
View File

@ -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

106
debian/control vendored
View File

@ -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.

4
debian/orig-tar.sh vendored
View File

@ -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/

View File

@ -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
}

View File

@ -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.

View File

@ -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

View File

@ -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" .

View File

@ -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

2
debian/rules vendored
View File

@ -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