Source: llvm-toolchain-15
Section: devel
Priority: optional
Rules-Requires-Root: no
Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Uploaders: Sylvestre Ledru <sylvestre@debian.org>, Gianfranco Costamagna <locutusofborg@debian.org>
Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
    chrpath, texinfo, sharutils,
    libelf-dev,
    libffi-dev,
    lsb-release, patchutils, diffstat, xz-utils, python3-dev,
    libedit-dev, libncurses5-dev, swig, python3-six, python3-sphinx (>= 1.3.6),
    binutils-dev,
    libxml2-dev,
    libjsoncpp-dev, pkg-config,
    lcov, procps, help2man, zlib1g-dev,
    g++-multilib [amd64 i386 kfreebsd-amd64 mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32],
    libjs-mathjax, python3-recommonmark,
    doxygen,
    ocaml-base [amd64 arm64 armhf ppc64el riscv64 s390x] | ocaml-nox [amd64 arm64 armhf ppc64el riscv64 s390x],
    ocaml-findlib [amd64 arm64 armhf ppc64el riscv64 s390x],
    libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x],
    dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x],
    libpfm4-dev [linux-any], python3-setuptools, libz3-dev,
    llvm-spirv-15 [ amd64 arm64 armel armhf mips64el mipsel ppc64el riscv64 s390x ] <!stage1> |
    llvm-spirv-14 [ amd64 arm64 armel armhf mips64el mipsel ppc64el riscv64 s390x ] <!stage1> | hello [!i386],
    spirv-tools [ linux-any ] | hello [ !i386],
    wasi-libc | hello [ !i386],
    libcurl4-openssl-dev | libcurl-dev,
    libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
    protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
    libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
    protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x]
# "| hello" is for older buster/bionic distros without spirv support
Build-Conflicts: oprofile
Standards-Version: 4.6.2
Homepage: https://www.llvm.org/
Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b 15
Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/15

# ------------- clang -------------

Package: clang-15
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
 ${dep:devlibs-objc}, libclang-common-15-dev (= ${binary:Version}),
 llvm-15-linker-tools (= ${binary:Version}),
 libclang1-15t64 (= ${binary:Version}), libc6-dev, binutils
Provides: c-compiler, objc-compiler, c++-compiler
Recommends: llvm-15-dev, python3
# libomp-15-dev
Suggests: clang-15-doc, wasi-libc
Description: C, C++ and Objective-C compiler
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.

Package: clang-tools-15
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, clang-15 (= ${binary:Version}),
 python3
Description: clang-based tools for C/C++ developments
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.
 .
 This package contains some clang-based tools like scan-build, clang-cl, etc.

Package: clang-format-15
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
 libllvm15t64 (= ${binary:Version})
Description: Tool to format C/C++/Obj-C code
 Clang-format is both a library and a stand-alone tool with the goal of
 automatically reformatting C++ sources files according to configurable
 style guides. To do so, clang-format uses Clang's Lexer to transform an
 input file into a token stream and then changes all the whitespace around
 those tokens. The goal is for clang-format to both serve both as a user
 tool (ideally with powerful IDE integrations) and part of other
 refactoring tools, e.g. to do a reformatting of all the lines changed
 during a renaming.
 .
 This package also provides vim and emacs plugins.

Package: clang-tidy-15
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
 libllvm15t64 (= ${binary:Version}), libclang-common-15-dev,
 clang-tools-15, python3-yaml
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
 via static analysis. clang-tidy is modular and provides a convenient interface
 for writing new checks.

Package: clangd-15
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
 libclang-common-15-dev (= ${binary:Version})
Description: Language server that provides IDE-like features to editors
 clangd understands your C++ code and adds smart features to your editor:
  - code completion
  - compile errors
  - go-to-definition
  - and more.
 .
 clangd is a language server that implements the Language Server Protocol;
 it can work with many editors through a plugin.

Package: clang-15-doc
Architecture: all
Section: doc
Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-mathjax
Description: C, C++ and Objective-C compiler - Documentation
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.
 .
 This package contains the documentation.

Package: libclang1-15t64
Provides: ${t64:Provides}
Replaces: libclang1-15
Breaks: libclang1-15 (<< ${source:Version})
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
Description: C interface to the Clang library
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.
 .
 This package contains the Clang library.
 .
 The C Interface to Clang provides a relatively small API that exposes
 facilities for parsing source code into an abstract syntax tree (AST),
 loading already-parsed ASTs, traversing the AST, associating physical source
 locations with elements within the AST, and other facilities that support
 Clang-based development tools.

Package: libclang-15-dev
Architecture: any
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
 ${dep:devlibs-objc}, libclang1-15t64 (= ${binary:Version}),
 libclang-common-15-dev (= ${binary:Version})
Description: Clang library - Development package
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.
 .
 This package contains the Clang headers to develop extensions over
 libclang1-15.

Package: libclang-common-15-dev
Architecture: any
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm15t64 (>= ${source:Version})
Recommends: libclang-rt-15-dev (>= 1:15.0.6-5)
Description: Clang library - Common development package
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.
 .
 This package contains the Clang generic headers.

# ------------- compiler-rt -------------

Package: libclang-rt-15-dev
Architecture: any
Multi-Arch: same
Section: libdevel
Breaks: libclang-common-15-dev (<< 1:15.0.6-5)
Replaces: libclang-common-15-dev (<< 1:15.0.6-5)
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Compiler-rt - development package
 This package provides various libraries:
 .
   * builtins - Simple libraries that provide implementation of the
     low-level target-specific hooks required by code generation
     and other runtime components.
   * sanitizer runtimes - AddressSanitizer, ThreadSanitizer,
     UndefinedBehaviorSanitizer, MemorySanitizer, LeakSanitizer
     DataFlowSanitizer, etc
   * profile - Library which is used to collect coverage information.

Package: libclang-rt-15-dev-wasm32
Architecture: all
Multi-Arch: foreign
Section: libdevel
Breaks: libclang-common-15-dev (<< 1:15.0.6-5)
Replaces: libclang-common-15-dev (<< 1:15.0.6-5)
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libclang-common-15-dev (>= 1:15.0.6-5)
Description: Compiler-rt - wasm32 builtins
 Provides the compiler-rt builtins for WebAssembly 32 bits

Package: libclang-rt-15-dev-wasm64
Architecture: all
Multi-Arch: foreign
Section: libdevel
Breaks: libclang-common-15-dev (<< 1:15.0.6-5)
Replaces: libclang-common-15-dev (<< 1:15.0.6-5)
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libclang-common-15-dev (>= 1:15.0.6-5)
Description: Compiler-rt - wasm64 builtins
 Provides the compiler-rt builtins for WebAssembly 64 bits

# ------------- polly -------------

Package: libpolly-15-dev
Architecture: any
Multi-Arch: same
Section: libdevel
Breaks: libclang-common-15-dev (<< 1:15.0.6-5)
Replaces: libclang-common-15-dev (<< 1:15.0.6-5)
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: High-level loop and data-locality optimizer
 Uses an abstract mathematical representation based on integer polyhedra
 to analyze and optimize the memory access pattern of a program

# ------------- clang libraries -------------

Package: libclang-cpp15t64
Provides: ${t64:Provides}
Replaces: libclang-cpp15
Breaks: libclang-cpp15 (<< ${source:Version})
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm15t64 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Description: C++ interface to the Clang library
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.
 .
 This package contains the Clang C++ library.
 .
 The C++ Interface to Clang provides an API that exposes
 facilities for parsing source code into an abstract syntax tree (AST),
 loading already-parsed ASTs, traversing the AST, associating physical source
 locations with elements within the AST, and other facilities that support
 Clang-based development tools.

Package: libclang-cpp15-dev
Architecture: any
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
 libclang-cpp15t64 (= ${binary:Version})
# Move of libclang-cpp.so into libclang-cpp15.dev
Description: C++ interface to the Clang library
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.
 .
 This package contains the Clang C++ library.
 .
 The C++ Interface to Clang provides an API that exposes
 facilities for parsing source code into an abstract syntax tree (AST),
 loading already-parsed ASTs, traversing the AST, associating physical source
 locations with elements within the AST, and other facilities that support
 Clang-based development tools.
 .
 This package contains symlinks without a version number, which needed by
 linker at build time.


Package: libfuzzer-15-dev
Architecture: linux-any
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, clang-15 (= ${binary:Version})
Description: Library for coverage-guided fuzz testing
 LibFuzzer is a library for in-process, coverage-guided, evolutionary fuzzing
 of other libraries.
 .
 LibFuzzer is similar in concept to American Fuzzy Lop (AFL), but it performs
 all of its fuzzing inside a single process. This in-process fuzzing can be
 more restrictive and fragile, but is potentially much faster as there is no
 overhead for process start-up.
 .
 The fuzzer is linked with the library under test, and feeds fuzzed inputs to
 the library via a specific fuzzing entrypoint (aka 'target function'); the
 fuzzer then tracks which areas of the code are reached, and generates mutations
 on the corpus of input data in order to maximize the code coverage. The code
 coverage information for libFuzzer is provided by LLVM's SanitizerCoverage
 instrumentation.


Package: python3-clang-15
Section: python
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3, libclang-15-dev
Replaces: python-clang-x.y,
Conflicts: python-clang-x.y
Provides: python-clang-x.y
Description: Clang Python Bindings
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.
 .
 This binding package provides access to the Clang compiler and libraries.

Package: clang-15-examples
Architecture: any
Section: doc
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Clang examples
 Clang project is a C, C++, Objective C and Objective C++ front-end
 based on the LLVM compiler. Its goal is to offer a replacement to the
 GNU Compiler Collection (GCC).
 .
 Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
 provides most of the support of C++20.
 .
 This package contains the Clang examples.

# ------------- LLVM -------------

Package: libllvm15t64
Provides: ${t64:Provides}
Replaces: libllvm15
Breaks: libllvm15 (<< ${source:Version})
Architecture: any
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
Multi-Arch: same
Description: Modular compiler and toolchain technologies, runtime library
 LLVM is a collection of libraries and tools that make it easy to build
 compilers, optimizers, just-in-time code generators, and many other
 compiler-related programs.
 .
 This package contains the LLVM runtime library.

Package: llvm-15-linker-tools
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Modular compiler and toolchain technologies - Plugins
 LLVM is a collection of libraries and tools that make it easy to build
 compilers, optimizers, just-in-time code generators, and many other
 compiler-related programs.
 .
 This package contains the LLVMgold and LLVMPolly linker plugins.

Package: llvm-15
Architecture: any
Suggests: llvm-15-doc
Depends: llvm-15-runtime (= ${binary:Version}),
 llvm-15-linker-tools (= ${binary:Version}),
 ${shlibs:Depends}, ${misc:Depends}
Recommends: llvm-15-dev
Description: Modular compiler and toolchain technologies
 LLVM is a collection of libraries and tools that make it easy to build
 compilers, optimizers, just-in-time code generators, and many other
 compiler-related programs.
 .
 LLVM uses a single, language-independent virtual instruction set both
 as an offline code representation (to communicate code between
 compiler phases and to run-time systems) and as the compiler internal
 representation (to analyze and transform programs). This persistent
 code representation allows a common set of sophisticated compiler
 techniques to be applied at compile-time, link-time, install-time,
 run-time, or "idle-time" (between program runs).
 .
 The strengths of the LLVM infrastructure are its extremely
 simple design (which makes it easy to understand and use),
 source-language independence, powerful mid-level optimizer, automated
 compiler debugging support, extensibility, and its stability and
 reliability. LLVM is currently being used to host a wide variety of
 academic research projects and commercial projects. LLVM includes C
 and C++ front-ends, a front-end for a Forth-like language (Stacker),
 a young scheme front-end, and Java support is in development. LLVM can
 generate code for X96, SparcV10, PowerPC or many other architectures.

Package: llvm-15-runtime
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: binfmt-support | systemd
Description: Modular compiler and toolchain technologies, IR interpreter
 LLVM is a collection of libraries and tools that make it easy to build
 compilers, optimizers, just-in-time code generators, and many other
 compiler-related programs.
 .
 LLVM uses a single, language-independent virtual instruction set both
 as an offline code representation (to communicate code between
 compiler phases and to run-time systems) and as the compiler internal
 representation (to analyze and transform programs). This persistent
 code representation allows a common set of sophisticated compiler
 techniques to be applied at compile-time, link-time, install-time,
 run-time, or "idle-time" (between program runs).
 .
 This package provides the minimal required to execute programs in LLVM
 format.

Package: llvm-15-dev
Architecture: any
Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends},
 llvm-15 (= ${binary:Version}), libllvm15t64 (= ${binary:Version}), libtinfo-dev,
 llvm-15-tools (= ${binary:Version}), libclang-cpp15t64 (= ${binary:Version}),
 libz3-dev, libxml2-dev
Description: Modular compiler and toolchain technologies, libraries and headers
 LLVM is a collection of libraries and tools that make it easy to build
 compilers, optimizers, just-in-time code generators, and many other
 compiler-related programs.
 .
 LLVM uses a single, language-independent virtual instruction set both
 as an offline code representation (to communicate code between
 compiler phases and to run-time systems) and as the compiler internal
 representation (to analyze and transform programs). This persistent
 code representation allows a common set of sophisticated compiler
 techniques to be applied at compile-time, link-time, install-time,
 run-time, or "idle-time" (between program runs).
 .
 This package provides the libraries and headers to develop applications
 using llvm.

Package: llvm-15-tools
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3,
 python3-pygments, python3-yaml,
# Because of yaml-bench
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-15-ocaml-dev
Section: ocaml
Architecture: amd64 arm64 armhf ppc64el s390x riscv64
Suggests: llvm-15-doc
Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-15-dev (= ${binary:Version})
Replaces: libllvm-x.y-ocaml-dev
Conflicts: libllvm-x.y-ocaml-dev
Provides: ${ocaml:Provides}, libllvm-x.y-ocaml-dev
Description: Modular compiler and toolchain technologies, OCaml bindings
 LLVM is a collection of libraries and tools that make it easy to build
 compilers, optimizers, just-in-time code generators, and many other
 compiler-related programs.
 .
 LLVM uses a single, language-independent virtual instruction set both
 as an offline code representation (to communicate code between
 compiler phases and to run-time systems) and as the compiler internal
 representation (to analyze and transform programs). This persistent
 code representation allows a common set of sophisticated compiler
 techniques to be applied at compile-time, link-time, install-time,
 run-time, or "idle-time" (between program runs).
 .
 This package provides the OCaml bindings to develop applications using llvm.

Package: llvm-15-doc
Section: doc
Architecture: all
Depends: ${misc:Depends}, libjs-jquery, libjs-underscore
Description: Modular compiler and toolchain technologies, documentation
 LLVM is a collection of libraries and tools that make it easy to build
 compilers, optimizers, just-in-time code generators, and many other
 compiler-related programs.
 .
 LLVM uses a single, language-independent virtual instruction set both
 as an offline code representation (to communicate code between
 compiler phases and to run-time systems) and as the compiler internal
 representation (to analyze and transform programs). This persistent
 code representation allows a common set of sophisticated compiler
 techniques to be applied at compile-time, link-time, install-time,
 run-time, or "idle-time" (between program runs).
 .
 This package contains all documentation (extensive).

Package: llvm-15-examples
Section: doc
Architecture: all
Depends: ${misc:Depends}, llvm-15-dev (>= ${source:Version}), llvm-15-dev (<< ${source:Version}+c~)
Description: Modular compiler and toolchain technologies, examples
 LLVM is a collection of libraries and tools that make it easy to build
 compilers, optimizers, just-in-time code generators, and many other
 compiler-related programs.
 .
 LLVM uses a single, language-independent virtual instruction set both
 as an offline code representation (to communicate code between
 compiler phases and to run-time systems) and as the compiler internal
 representation (to analyze and transform programs). This persistent
 code representation allows a common set of sophisticated compiler
 techniques to be applied at compile-time, link-time, install-time,
 run-time, or "idle-time" (between program runs).
 .
 This package contains examples for using LLVM, both in developing
 extensions to LLVM and in using it to compile code.


# ------------- lld -------------

Package: lld-15
Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64
# ia64 hurd powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm15t64 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Description: LLVM-based linker
 LLD is a new, high-performance linker. It is built as a set of reusable
 components which highly leverage existing libraries in the larger LLVM
 Project.

Package: liblld-15
Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64
# ia64 hurd powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm15t64 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Section: libs
Description: LLVM-based linker, library
 LLD is a new, high-performance linker. It is built as a set of reusable
 components which highly leverage existing libraries in the larger LLVM
 Project.
 .
 This package contains the LLD runtime library.

Package: liblld-15-dev
Section: libdevel
Architecture: amd64 arm64 armel armhf i386 mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32 riscv64
# ia64 hurd powerpc have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, lld-15 (= ${binary:Version}),
 liblld-15 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Description: LLVM-based linker, header files
 LLD is a new, high-performance linker. It is built as a set of reusable
 components which highly leverage existing libraries in the larger LLVM
 Project.
 .
 This package provides the header files to build extension over lld.


# ------------- lldb -------------

Package: lldb-15
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm15t64 (= ${binary:Version}), llvm-15-dev,
 python3-lldb-15
Pre-Depends: ${misc:Pre-Depends}
Description: Next generation, high-performance debugger
 LLDB is a next generation, high-performance debugger. It is built as a set of
 reusable components which highly leverage existing libraries in the larger LLVM
 Project, such as the Clang expression parser and LLVM disassembler.

Package: liblldb-15t64
Provides: ${t64:Provides}
Replaces: liblldb-15
Breaks: liblldb-15 (<< ${source:Version})
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm15t64 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Section: libs
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
 Project, such as the Clang expression parser and LLVM disassembler.
 .
 This package contains the LLDB runtime library.

Package: python3-lldb-15
Section: python
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-15t64 (= ${binary:Version}), python3-six
Conflicts: python3-lldb-x.y
Replaces: python3-lldb-x.y
Provides: python3-lldb-x.y
Pre-Depends: ${misc:Pre-Depends}
Description: Next generation, high-performance debugger, python3 lib
 LLDB is a next generation, high-performance debugger. It is built as a set of
 reusable components which highly leverage existing libraries in the larger LLVM
 Project, such as the Clang expression parser and LLVM disassembler.
 .
 This binding package provides access to lldb.

Package: liblldb-15-dev
Section: libdevel
Architecture: amd64 arm64 armel armhf i386 ppc64el kfreebsd-amd64 kfreebsd-i386 s390 s390x sparc hppa m68k sh4 x32
# ia64 hurd powerpc powerpcspe ppc64 alpha riscv64 s390x sparc64 mipsel mips64el have been removed
Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-15 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Description: Next generation, high-performance debugger, header files
 LLDB is a next generation, high-performance debugger. It is built as a set of
 reusable components which highly leverage existing libraries in the larger LLVM
 Project, such as the Clang expression parser and LLVM disassembler.
 .
 This package provides the header files to build extension over lldb.


# ------------- openmp -------------
# 44 because it was the first version in which openmp & libc++ have been
# managed in llvm-defaults

Package: libomp-15-dev
Section: libdevel
Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 riscv64
Depends: libomp5-15t64 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Suggests: libomp-15-doc
Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 44)
Provides: libomp-x.y-dev
Conflicts: libomp-x.y-dev
Replaces: libomp-x.y-dev
Description: LLVM OpenMP runtime - dev package
 The runtime is the part of the OpenMP implementation that your code is
 linked against, and that manages the multiple threads in an OpenMP program
 while it is executing.

Package: libomp5-15t64
Multi-Arch: same
Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 riscv64
Depends: ${shlibs:Depends}, ${misc:Depends}
Breaks: libomp5-15 (<< ${source:Version}), libomp5 (<< 44)
Provides: ${t64:Provides}, libomp-x.y
Conflicts: libomp-x.y
Replaces: libomp5-15, libomp-x.y
Description: LLVM OpenMP runtime
 The runtime is the part of the OpenMP implementation that your code is
 linked against, and that manages the multiple threads in an OpenMP program
 while it is executing.

Package: libomp-15-doc
Section: doc
Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 riscv64
Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-jquery
Replaces: libiomp-x.y-doc
Breaks: libiomp-x.y-doc
Description: LLVM OpenMP runtime - Documentation
 The runtime is the part of the OpenMP implementation that your code is
 linked against, and that manages the multiple threads in an OpenMP program
 while it is executing.
 .
 This package contains the documentation of this package.

# ------------- libcxx -------------

Package: libc++1-15t64
Section: libs
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: clang
Breaks: libc++1-15 (<< ${source:Version}), libc++1 (<< 44)
Provides: ${t64:Provides}, libc++-x.y
Conflicts: libc++-x.y
Replaces: libc++1-15, libc++-x.y
Description: LLVM C++ Standard library
 libc++ is another implementation of the C++ standard library.
 .
 Features and Goals
 .
   * Correctness as defined by the C++ standards.
   * Fast execution.
   * Minimal memory use.
   * Fast compile times.
   * ABI compatibility with gcc's libstdc++ for some low-level features such
     as exception objects, rtti and memory allocation.
   * Extensive unit tests.

Package: libc++-15-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: libc++1-15t64 (= ${binary:Version}), ${misc:Depends},
 libunwind-15-dev [amd64 arm64 armhf i386 mips64el ppc64el ppc64 riscv64]
Breaks: libc++-dev (<< 44)
Provides: libc++-x.y-dev
Conflicts: libc++-x.y-dev
Replaces: libc++-x.y-dev
Description: LLVM C++ Standard library (development files)
 libc++ is another implementation of the C++ standard library
 .
 Features and Goals
 .
   * Correctness as defined by the C++ standards.
   * Fast execution.
   * Minimal memory use.
   * Fast compile times.
   * ABI compatibility with gcc's libstdc++ for some low-level features such
     as exception objects, rtti and memory allocation.
   * Extensive unit tests.

Package: libc++-15-dev-wasm32
Section: libdevel
Architecture: all
Multi-Arch: foreign
Depends: wasi-libc, libc++abi-15-dev-wasm32, ${misc:Depends}
Provides: libc++-x.y-dev-wasm32
Conflicts: libc++-x.y-dev-wasm32
Replaces: libc++-x.y-dev-wasm32
Description: LLVM C++ Standard library (WASI)
 libc++ is another implementation of the C++ standard library
 .
 Features and Goals
 .
   * Correctness as defined by the C++ standards.
   * Fast execution.
   * Minimal memory use.
   * Fast compile times.
   * ABI compatibility with gcc's libstdc++ for some low-level features such
     as exception objects, rtti and memory allocation.
   * Extensive unit tests.
 .
 This package provides a version for the 32-bit WebAssembly System Interface.

# ------------- libcxxabi -------------

Package: libc++abi1-15t64
Section: libs
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Breaks: libc++abi1-15 (<< ${source:Version}), libc++abi1 (<< 44)
Provides: ${t64:Provides}, libc++abi-x.y
Conflicts: libc++abi-x.y
Replaces: libc++abi1-15, libc++abi-x.y
Description: LLVM low level support for a standard C++ library
 libc++abi is another implementation of low level support for a standard C++
 library.
 .
 Features and Goals
 .
   * Correctness as defined by the C++ standards.
   * Provide a portable sublayer to ease the porting of libc++

Package: libc++abi-15-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: libc++abi1-15t64 (= ${binary:Version}), ${misc:Depends}
Breaks: libc++abi-dev (<= 44)
Provides: libc++abi-x.y-dev
Conflicts: libc++abi-x.y-dev
Replaces: libc++abi-x.y-dev
Description: LLVM low level support for a standard C++ library (development files)
 libc++abi is another implementation of low level support for a standard C++
 library.
 .
 Features and Goals
 .
   * Correctness as defined by the C++ standards.
   * Provide a portable sublayer to ease the porting of libc++

Package: libc++abi-15-dev-wasm32
Section: libdevel
Architecture: all
Multi-Arch: foreign
Depends: wasi-libc, ${misc:Depends}
Provides: libc++abi-x.y-dev-wasm32
Conflicts: libc++abi-x.y-dev-wasm32
Replaces: libc++abi-x.y-dev-wasm32
Description: LLVM low level support for a standard C++ library (WASI)
 libc++abi is another implementation of low level support for a standard C++
 library.
 .
 Features and Goals
 .
   * Correctness as defined by the C++ standards.
   * Provide a portable sublayer to ease the porting of libc++
 .
 This package provides a version for the 32-bit WebAssembly System Interface.

# ------------- libclc -------------

Package: libclc-15
Section: libs
Architecture: all
Multi-Arch: foreign
Depends:
 ${misc:Depends},
 libclc-15-dev (= ${binary:Version}),
 libclang-common-15-dev,
Breaks: libclc-amdgcn, libclc-ptx, libclc-r600
Provides: libclc-x.y
Conflicts: libclc-x.y
Replaces: libclc-x.y, libclc-amdgcn, libclc-ptx, libclc-r600,
Description: OpenCL C language implementation - platform support
 libclc is an open implementation of the OpenCL C programming language,
 as specified by the OpenCL 1.1 Specification.
 .
 This package contains support for the amdgcn (AMD GPU), PTX and r600
 platforms.

Package: libclc-15-dev
Section: libdevel
Architecture: all
Multi-Arch: foreign
Depends:
 ${misc:Depends},
Breaks: libclc-dev
Provides: libclc-x.y-dev
Conflicts: libclc-x.y-dev
Replaces: libclc-dev, libclc-x.y-dev
Description: OpenCL C language implementation - development files
 libclc is an open implementation of the OpenCL C programming language,
 as specified by the OpenCL 1.1 Specification.
 .
 This package contains development header files.

# ------------- libunwind -------------

Package: libunwind-15t64
Breaks: libunwind-15 (<< ${source:Version})
Section: libs
Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 riscv64
Multi-Arch: same
Depends: ${shlibs:Depends},
 ${misc:Depends}
Provides: ${t64:Provides}, libunwind-x.y
Conflicts: libunwind-x.y
Replaces: libunwind-15, libunwind-x.y
Description: production-quality unwinder
 libunwind is a production-quality unwinder, with platform support for DWARF
 unwind info, SjLj, and ARM EHABI.
 .
 The low level libunwind API was designed to work either in-process (aka local)
 or to operate on another process (aka remote), but only the local path has
 been implemented. Remote unwinding remains as future work.

Package: libunwind-15-dev
Section: libdevel
Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64 riscv64
Multi-Arch: same
Depends:
 ${misc:Depends},
 libunwind-15t64 (= ${binary:Version})
Provides: libunwind-dev, libunwind-x.y-dev
Conflicts: libunwind-dev, libunwind-x.y-dev
Replaces: libunwind-dev, libunwind-x.y-dev
Description: production-quality unwinder
 libunwind is a production-quality unwinder, with platform support for DWARF
 unwind info, SjLj, and ARM EHABI.
 .
 The low level libunwind API was designed to work either in-process (aka local)
 or to operate on another process (aka remote), but only the local path has
 been implemented. Remote unwinding remains as future work.

# ------------- mlir -------------

Package: mlir-15-tools
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Multi-Level Intermediate Representation tools
 Novel approach to building reusable and extensible compiler infrastructure.
 MLIR aims to address software fragmentation, improve compilation for
 heterogeneous hardware, significantly reduce the cost of building domain
 specific compilers, and aid in connecting existing compilers together.
 .
 This package provides tools.

Package: libmlir-15t64
Breaks: libmlir-15 (<< ${source:Version})
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
 ${misc:Depends}
Provides: ${t64:Provides}, libmlir-x.y
Conflicts: libmlir-x.y
Replaces: libmlir-15, libmlir-x.y
Description: Multi-Level Intermediate Representation library
 Novel approach to building reusable and extensible compiler infrastructure.
 MLIR aims to address software fragmentation, improve compilation for
 heterogeneous hardware, significantly reduce the cost of building domain
 specific compilers, and aid in connecting existing compilers together.

Package: libmlir-15-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends:
 ${misc:Depends},
 libmlir-15t64 (= ${binary:Version})
Breaks: libmlir-dev
Provides: libmlir-x.y-dev
Conflicts: libmlir-x.y-dev
Replaces: libmlir-dev, libmlir-x.y-dev
Description: Multi-Level Intermediate Representation library
 Novel approach to building reusable and extensible compiler infrastructure.
 MLIR aims to address software fragmentation, improve compilation for
 heterogeneous hardware, significantly reduce the cost of building domain
 specific compilers, and aid in connecting existing compilers together.


# ------------- bolt -------------

Package: bolt-15
Architecture: amd64
# Disable on arm64 because libbolt_rt_hugify.a isn't generated
Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-15-dev (= ${binary:Version}),
Pre-Depends: ${misc:Pre-Depends}
Description: Post-link optimizer
 It achieves the improvements by optimizing application's code layout based on
 execution profile gathered by sampling profiler.

Package: libbolt-15-dev
Section: libdevel
Architecture: amd64
#arm64
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Post-link optimizer
 It achieves the improvements by optimizing application's code layout based on
 execution profile gathered by sampling profiler.

# ------------- flang -------------

Package: flang-15
# no 32bit support
# https://github.com/llvm/llvm-project/issues/59845
Architecture: amd64 arm64 mips64el ppc64el kfreebsd-amd64 ppc64 sparc64 riscv64
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
Provides: fortran-compiler, gfortran-mod-15
Description: Fortran compiler
 Ground-up implementation of a Fortran front end written in
 modern C++.
 .
 While it is capable of generating executables for a number
 of examples, some functionalities are still missing.

Package: libflang-15-dev
Architecture: amd64 arm64 mips64el ppc64el kfreebsd-amd64 ppc64 sparc64 riscv64
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs},
Description: Flang library - Development package
 Ground-up implementation of a Fortran front end written in
 modern C++.
 .
 While it is capable of generating executables for a number
 of examples, some functionalities are still missing.
 .
 This package contains the flang libraries and headers.
