mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-12-28 10:34:42 +00:00
Merge branch 'snapshot' of salsa.debian.org:pkg-llvm-team/llvm-toolchain into snapshot
This commit is contained in:
commit
5ffa26ae84
11
debian/changelog
vendored
11
debian/changelog
vendored
@ -1,5 +1,16 @@
|
||||
llvm-toolchain-snapshot (1:8~svn342269-2) UNRELEASED; urgency=medium
|
||||
|
||||
* Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
|
||||
* Fix the autopkgtest script (no gcc in the test)
|
||||
* remove dep from lld to llvm-8-dev because lld
|
||||
doesn't use LLVM LTO
|
||||
* remove old Replaces/Breaks
|
||||
* Standards-Version: 4.2.1
|
||||
|
||||
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 21 Sep 2018 22:48:47 +0200
|
||||
|
||||
llvm-toolchain-7 (1:7-2) unstable; urgency=medium
|
||||
|
||||
* Fix the ftbfs under armel on libc++ and enable openmp on armel.
|
||||
Thanks to Adrian Bunk for the patch
|
||||
* Make libc++, libc++abi & openmp NOT co-installable
|
||||
|
||||
61
debian/control
vendored
61
debian/control
vendored
@ -12,13 +12,13 @@ Build-Depends: debhelper (>= 9.0), cmake, chrpath, texinfo, sharutils,
|
||||
lcov, procps, help2man, zlib1g-dev,
|
||||
g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32],
|
||||
libjs-mathjax, python-recommonmark,
|
||||
doxygen, gfortran
|
||||
# ocaml-nox [amd64 arm64 armel armhf i386 ppc64el s390x],
|
||||
# ocaml-findlib [amd64 arm64 armel armhf i386 ppc64el s390x],
|
||||
# libctypes-ocaml-dev [amd64 arm64 armel armhf i386 ppc64el s390x],
|
||||
# dh-ocaml [amd64 arm64 armel armhf i386 ppc64el s390x],
|
||||
doxygen, gfortran,
|
||||
ocaml-nox [amd64 arm64 armel armhf i386 ppc64el s390x],
|
||||
ocaml-findlib [amd64 arm64 armel armhf i386 ppc64el s390x],
|
||||
libctypes-ocaml-dev [amd64 arm64 armel armhf i386 ppc64el s390x],
|
||||
dh-ocaml [amd64 arm64 armel armhf i386 ppc64el s390x],
|
||||
Build-Conflicts: oprofile, ocaml, libllvm-3.8-ocaml-dev, libllvm-3.9-ocaml-dev
|
||||
Standards-Version: 4.2.0
|
||||
Standards-Version: 4.2.1
|
||||
Homepage: https://www.llvm.org/
|
||||
Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b snapshot
|
||||
Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/snapshot
|
||||
@ -255,8 +255,6 @@ Description: Modular compiler and toolchain technologies
|
||||
Package: llvm-8-runtime
|
||||
Architecture: any
|
||||
Depends: binfmt-support, ${shlibs:Depends}, ${misc:Depends}
|
||||
Conflicts: llvm (<< 2.8-1)
|
||||
Replaces: llvm (<< 2.8-1)
|
||||
Description: Modular compiler and toolchain technologies, IR interpreter
|
||||
LLVM is a collection of libraries and tools that make it easy to build
|
||||
compilers, optimizers, just-in-time code generators, and many other
|
||||
@ -277,7 +275,6 @@ Package: llvm-8-dev
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, libffi-dev (>= 3.0.9), ${misc:Depends},
|
||||
llvm-8 (= ${binary:Version}), libllvm8 (= ${binary:Version}), libtinfo-dev
|
||||
Replaces: llvm (<< 2.2-3)
|
||||
Description: Modular compiler and toolchain technologies, libraries and headers
|
||||
LLVM is a collection of libraries and tools that make it easy to build
|
||||
compilers, optimizers, just-in-time code generators, and many other
|
||||
@ -313,28 +310,28 @@ Description: Modular compiler and toolchain technologies, tools
|
||||
.
|
||||
This package provides tools for testing.
|
||||
|
||||
# Package: libllvm-8-ocaml-dev
|
||||
# Section: ocaml
|
||||
# Architecture: amd64 arm64 armel armhf i386 ppc64el s390x
|
||||
# Suggests: llvm-8-doc
|
||||
# Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-8-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: libllvm-8-ocaml-dev
|
||||
Section: ocaml
|
||||
Architecture: amd64 arm64 armel armhf i386 ppc64el s390x
|
||||
Suggests: llvm-8-doc
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-8-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-8-doc
|
||||
Section: doc
|
||||
@ -381,7 +378,7 @@ Description: Modular compiler and toolchain technologies, examples
|
||||
Package: lld-8
|
||||
Architecture: amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el kfreebsd-amd64 kfreebsd-i386 s390 sparc alpha hppa m68k powerpcspe ppc64 sh4 sparc64 x32
|
||||
# ia64 hurd powerpc have been removed
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm8 (= ${binary:Version}), llvm-8-dev
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm8 (= ${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
|
||||
|
||||
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -70,3 +70,4 @@ libcxx-silent-failure-arm64.diff
|
||||
|
||||
disable-sse2-old-x86.diff
|
||||
OptionDefinitionFix.patch
|
||||
|
||||
|
||||
8
debian/qualify-clang.sh
vendored
8
debian/qualify-clang.sh
vendored
@ -47,7 +47,7 @@ void test() {
|
||||
}
|
||||
'> foo.c
|
||||
|
||||
scan-build-$VERSION gcc -c foo.c &> /dev/null
|
||||
scan-build-$VERSION gcc -c foo.c &> /dev/null || true
|
||||
scan-build-$VERSION clang-$VERSION -c foo.c &> /dev/null
|
||||
scan-build-$VERSION --exclude non-existing/ --exclude /tmp/ -v clang-$VERSION -c foo.c &> /dev/null
|
||||
scan-build-$VERSION --exclude $(pwd) -v clang-$VERSION -c foo.c &> foo.log
|
||||
@ -156,6 +156,10 @@ fi
|
||||
clang-$VERSION -fuse-ld=lld -O2 foo.c main.c -o foo
|
||||
./foo > /dev/null
|
||||
|
||||
clang-$VERSION -fuse-ld=lld -flto -O2 foo.c main.c -o foo
|
||||
./foo > /dev/null
|
||||
exit 0
|
||||
|
||||
clang-$VERSION -fuse-ld=lld-$VERSION -O2 foo.c main.c -o foo
|
||||
./foo > /dev/null
|
||||
|
||||
@ -290,7 +294,7 @@ clang++-$VERSION -std=c++17 -stdlib=libc++ foo.cpp -lc++experimental -lc++fs -o
|
||||
./o > /dev/null
|
||||
|
||||
g++ -nostdinc++ -I/usr/lib/llvm-$VERSION/bin/../include/c++/v1/ -L/usr/lib/llvm-$VERSION/lib/ \
|
||||
foo.cpp -nodefaultlibs -std=c++17 -lc++ -lc++abi -lm -lc -lgcc_s -lgcc
|
||||
foo.cpp -nodefaultlibs -std=c++17 -lc++ -lc++abi -lm -lc -lgcc_s -lgcc|| true
|
||||
./o > /dev/null
|
||||
|
||||
|
||||
|
||||
26
debian/rules
vendored
26
debian/rules
vendored
@ -124,6 +124,7 @@ ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
|
||||
RUN_TEST=no
|
||||
endif
|
||||
|
||||
CODECOVERAGE=no
|
||||
ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
|
||||
# enable the code coverage
|
||||
CODECOVERAGE=yes
|
||||
@ -131,6 +132,8 @@ ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
|
||||
CXXFLAGS_EXTRA += -fprofile-arcs -ftest-coverage
|
||||
LDFLAGS_EXTRA += -coverage -lgcov
|
||||
RUN_TEST=yes
|
||||
# OpenMP doesn't respect LDFLAGS
|
||||
CMAKE_EXTRA+= -DLIBOMP_LDFLAGS="-coverage -lgcov" # don't pass LDFLAGS_EXTRA because it expects gcc arg
|
||||
endif
|
||||
|
||||
ifneq (,$(filter scan-build,$(DEB_BUILD_OPTIONS)))
|
||||
@ -188,12 +191,12 @@ OCAML_ENABLE= no
|
||||
OCAML_ARCHS := amd64 arm64 armel armhf i386 ppc64el s390x
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH),$(OCAML_ARCHS)))
|
||||
# Enable OCAML for this arch.
|
||||
# OCAML_ENABLE=yes
|
||||
# OCAML_STDLIB_DIR ?= $(shell ocamlc -where)
|
||||
# DH_OPTIONS=--with ocaml
|
||||
OCAML_ENABLE=yes
|
||||
OCAML_STDLIB_DIR ?= $(shell ocamlc -where)
|
||||
DH_OPTIONS=--with ocaml
|
||||
endif
|
||||
# Force the deactivation of ocaml until the transition is done
|
||||
OCAML_ENABLE=no
|
||||
#OCAML_ENABLE=no
|
||||
|
||||
LIBFUZZER_ENABLE=yes
|
||||
ifeq (,$(filter $(DEB_HOST_ARCH_OS),linux))
|
||||
@ -356,7 +359,12 @@ LIBCXX_CMAKE_OPTIONS := \
|
||||
$(CMAKE_EXTRA_LIBCXX)
|
||||
|
||||
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
|
||||
# start the full build process. Includes also openmp
|
||||
$(PRE_PROCESS) $(MAKE) $(NJOBS) -C $(TARGET_BUILD) VERBOSE=1 CLANG_VENDOR=$(VENDOR) \
|
||||
CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" \
|
||||
LIBOMP_CXXFLAGS="$(CXXFLAGS_EXTRA)" LIBOMP_LDFLAGS="$(LDFLAGS_EXTRA)" \
|
||||
REQUIRES_RTTI=1 DEBUGMAKE=1
|
||||
|
||||
ifeq (${LIBFUZZER_ENABLE},yes)
|
||||
cd $(TARGET_BUILD) \
|
||||
CFLAGS=`dpkg-buildflags --get CFLAGS`; \
|
||||
@ -456,6 +464,8 @@ override_dh_auto_install:
|
||||
# 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
|
||||
# Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755
|
||||
rm -f $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/libexec/*.bat $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/bin/*.bat
|
||||
|
||||
cp $(TARGET_BUILD)/bin/clang-query $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin
|
||||
|
||||
@ -703,7 +713,9 @@ ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
|
||||
if test ! -e _lldb.so; then \
|
||||
ln -s lldb/_lldb.so; \
|
||||
fi
|
||||
LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/$(TARGET_BUILD)/lib/ $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-lldb || true
|
||||
if test "$(CODECOVERAGE)" = "no"; then \
|
||||
LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/$(TARGET_BUILD)/lib/ $(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-lldb || true; \
|
||||
fi
|
||||
# remove the workaround
|
||||
rm $(CURDIR)/$(TARGET_BUILD)/lib/python*/site-packages/_lldb.so
|
||||
endif
|
||||
@ -730,6 +742,8 @@ endif
|
||||
lcov --directory $(TARGET_BUILD)/ --capture --ignore-errors source --output-file $$REPORT; \
|
||||
lcov --remove $$REPORT "/usr*" -o $$REPORT; \
|
||||
genhtml -o reports/coverage --show-details --highlight --legend $$REPORT; \
|
||||
chmod 0755 $(find reports/coverage -type d); \
|
||||
chmod 0644 $(find reports/coverage -type f); \
|
||||
fi
|
||||
override_dh_auto_test:
|
||||
endif
|
||||
|
||||
Loading…
Reference in New Issue
Block a user