mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-06-19 20:29:18 +00:00
* Try to bootstrap (currently in a different branch)
* Split the builds in different make target
This commit is contained in:
parent
396b6bf1eb
commit
7d63b357f5
7
debian/changelog
vendored
7
debian/changelog
vendored
@ -1,3 +1,10 @@
|
|||||||
|
llvm-toolchain-7 (1:7-6) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
|
* Try to bootstrap (currently in a different branch)
|
||||||
|
* Split the builds in different make target
|
||||||
|
|
||||||
|
-- Sylvestre Ledru <sylvestre@debian.org> Tue, 09 Oct 2018 10:50:17 +0200
|
||||||
|
|
||||||
llvm-toolchain-7 (1:7-5) unstable; urgency=medium
|
llvm-toolchain-7 (1:7-5) unstable; urgency=medium
|
||||||
|
|
||||||
* In debci, run qualify-clang.sh in verbose mode
|
* In debci, run qualify-clang.sh in verbose mode
|
||||||
|
35
debian/patches/bootstrap-polly-fpic.diff
vendored
Normal file
35
debian/patches/bootstrap-polly-fpic.diff
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
Index: llvm-toolchain-7-7/polly/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-7-7.orig/polly/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-7-7/polly/CMakeLists.txt
|
||||||
|
@@ -91,6 +91,8 @@ else ()
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-rtti")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||||
|
+
|
||||||
|
# Add path for custom modules
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${POLLY_SOURCE_DIR}/cmake")
|
||||||
|
|
||||||
|
Index: llvm-toolchain-7-7/polly/lib/External/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-7-7.orig/polly/lib/External/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-7-7/polly/lib/External/CMakeLists.txt
|
||||||
|
@@ -1,3 +1,6 @@
|
||||||
|
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||||
|
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||||
|
+
|
||||||
|
# External: Integer Set Library
|
||||||
|
if (POLLY_BUNDLED_ISL)
|
||||||
|
set(ISL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/isl")
|
||||||
|
Index: llvm-toolchain-7-7/lib/Support/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-7-7.orig/lib/Support/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-7-7/lib/Support/CMakeLists.txt
|
||||||
|
@@ -1,4 +1,6 @@
|
||||||
|
set(system_libs)
|
||||||
|
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||||
|
+
|
||||||
|
if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
|
||||||
|
set(system_libs ${system_libs} ${ZLIB_LIBRARIES})
|
||||||
|
endif()
|
14
debian/patches/bootstrap-with-openmp-version-export-missing.diff
vendored
Normal file
14
debian/patches/bootstrap-with-openmp-version-export-missing.diff
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
Index: llvm-toolchain-7-7/openmp/runtime/src/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-7-7.orig/openmp/runtime/src/CMakeLists.txt
|
||||||
|
+++ llvm-toolchain-7-7/openmp/runtime/src/CMakeLists.txt
|
||||||
|
@@ -174,7 +174,8 @@ endif()
|
||||||
|
|
||||||
|
# Linking command will include libraries in LIBOMP_CONFIGURED_LIBFLAGS
|
||||||
|
libomp_get_libflags(LIBOMP_CONFIGURED_LIBFLAGS)
|
||||||
|
-target_link_libraries(omp ${LIBOMP_CONFIGURED_LIBFLAGS} ${CMAKE_DL_LIBS})
|
||||||
|
+target_link_libraries(omp ${LIBOMP_CONFIGURED_LIBFLAGS} ${CMAKE_DL_LIBS}
|
||||||
|
+ "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exports_so.txt")
|
||||||
|
|
||||||
|
# Create *.inc before compiling any sources
|
||||||
|
# objects depend on : .inc files
|
41
debian/patches/fix-include-next-bootstrap.diff
vendored
Normal file
41
debian/patches/fix-include-next-bootstrap.diff
vendored
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
When doing a bootstrap, we use a newly built clang.
|
||||||
|
When this one is used, if already installed on the system,
|
||||||
|
we have clang header in two places:
|
||||||
|
llvm-toolchain-7-7/build-llvm/lib/clang/7.0.0/include/inttypes.h
|
||||||
|
and
|
||||||
|
/usr/include/clang/7.0.0/include/inttypes.h
|
||||||
|
|
||||||
|
Because clang expects only one of his headers to be available, it uses
|
||||||
|
include_next to get the glibc (libc6-dev package) header.
|
||||||
|
|
||||||
|
However, in the previous example, because we have inttypes.h twice in the
|
||||||
|
include search path, clang's header will call itself without any effect.
|
||||||
|
Therefor, it will do include_next until the define from the libc is existing (ex: _INTTYPES_H)
|
||||||
|
|
||||||
|
|
||||||
|
Index: llvm-toolchain-7-7/clang/lib/Headers/inttypes.h
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-7-7.orig/clang/lib/Headers/inttypes.h
|
||||||
|
+++ llvm-toolchain-7-7/clang/lib/Headers/inttypes.h
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
*
|
||||||
|
\*===----------------------------------------------------------------------===*/
|
||||||
|
|
||||||
|
-#ifndef __CLANG_INTTYPES_H
|
||||||
|
+#if !defined(__CLANG_INTTYPES_H) || !defined(_INTTYPES_H)
|
||||||
|
#define __CLANG_INTTYPES_H
|
||||||
|
|
||||||
|
#if defined(_MSC_VER) && _MSC_VER < 1800
|
||||||
|
Index: llvm-toolchain-7-7/clang/lib/Headers/limits.h
|
||||||
|
===================================================================
|
||||||
|
--- llvm-toolchain-7-7.orig/clang/lib/Headers/limits.h
|
||||||
|
+++ llvm-toolchain-7-7/clang/lib/Headers/limits.h
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
*
|
||||||
|
\*===----------------------------------------------------------------------===*/
|
||||||
|
|
||||||
|
-#ifndef __CLANG_LIMITS_H
|
||||||
|
+#if !defined(__CLANG_LIMITS_H) || !defined(_LIBC_LIMITS_H_)
|
||||||
|
#define __CLANG_LIMITS_H
|
||||||
|
|
||||||
|
/* The system's limits.h may, in turn, try to #include_next GCC's limits.h.
|
@ -29,7 +29,7 @@ Index: llvm-toolchain-snapshot_7.0~svn293997/lldb/source/Plugins/Process/gdb-rem
|
|||||||
#define DEBUGSERVER_BASENAME "debugserver"
|
#define DEBUGSERVER_BASENAME "debugserver"
|
||||||
#else
|
#else
|
||||||
-#define DEBUGSERVER_BASENAME "lldb-server"
|
-#define DEBUGSERVER_BASENAME "lldb-server"
|
||||||
+# define DEBUGSERVER_BASENAME "lldb-server-"LLVM_VERSION_STRING
|
+# define DEBUGSERVER_BASENAME "lldb-server-" LLVM_VERSION_STRING
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_LIBCOMPRESSION)
|
#if defined(HAVE_LIBCOMPRESSION)
|
||||||
|
6
debian/patches/series
vendored
6
debian/patches/series
vendored
@ -76,3 +76,9 @@ D51108-rust-powerpc.diff
|
|||||||
disable-sse2-old-x86.diff
|
disable-sse2-old-x86.diff
|
||||||
scan-build-clang-X.diff
|
scan-build-clang-X.diff
|
||||||
0001-analyzer-scan-build-if-status-bugs-is-passed-don-t-f.patch
|
0001-analyzer-scan-build-if-status-bugs-is-passed-don-t-f.patch
|
||||||
|
fix-include-next-bootstrap.diff
|
||||||
|
bootstrap-with-openmp-version-export-missing.diff
|
||||||
|
polly-fpic.diff
|
||||||
|
bootstrap-polly-fpic.diff
|
||||||
|
#bootstrap-default-passthrough.diff
|
||||||
|
disable-cflags-check.diff
|
||||||
|
106
debian/rules
vendored
106
debian/rules
vendored
@ -32,6 +32,7 @@ DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
|
|||||||
|
|
||||||
LDFLAGS_EXTRA =
|
LDFLAGS_EXTRA =
|
||||||
CXXFLAGS_EXTRA =
|
CXXFLAGS_EXTRA =
|
||||||
|
CFLAGS_EXTRA =
|
||||||
CONFIGURE_EXTRA =
|
CONFIGURE_EXTRA =
|
||||||
CMAKE_EXTRA =
|
CMAKE_EXTRA =
|
||||||
|
|
||||||
@ -97,12 +98,22 @@ else
|
|||||||
control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
|
control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Disabled:
|
||||||
|
# Host compiler does not support '-fuse-ld=lld'
|
||||||
|
# USE_LLD_ARCHS := amd64
|
||||||
|
# ifneq (,$(filter $(DEB_HOST_ARCH),$(USE_LLD_ARCHS)))
|
||||||
|
# CMAKE_EXTRA += -DLLVM_ENABLE_LLD=ON
|
||||||
|
# endif
|
||||||
|
|
||||||
BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el sparc sparc64 x32 s390x
|
BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el sparc sparc64 x32 s390x
|
||||||
ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0)
|
ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0)
|
||||||
ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
|
ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS)))
|
||||||
# -fused-ld=gold enables the gold linker (but is not supported by all archs / distro)
|
# -fused-ld=gold enables the gold linker (but is not supported by all archs / distro)
|
||||||
LDFLAGS_EXTRA += -fuse-ld=gold --no-keep-files-mapped --no-map-whole-files
|
LDFLAGS_EXTRA += -fuse-ld=gold -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option
|
||||||
CXXFLAGS_EXTRA += -fuse-ld=gold -Wl,--no-keep-files-mapped -Wl,--no-map-whole-files
|
#--no-keep-files-mapped --no-map-whole-files
|
||||||
|
CXXFLAGS_EXTRA += -fuse-ld=gold -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option
|
||||||
|
CFLAGS_EXTRA += -fuse-ld=gold -fPIC -Wno-unused-command-line-argument -Wno-unknown-warning-option
|
||||||
|
#-Wl,--no-keep-files-mapped -Wl,--no-map-whole-files
|
||||||
CMAKE_EXTRA += -DLLVM_BINUTILS_INCDIR=/usr/include/
|
CMAKE_EXTRA += -DLLVM_BINUTILS_INCDIR=/usr/include/
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -325,6 +336,7 @@ override_dh_auto_configure: preconfigure
|
|||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \
|
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \
|
||||||
-DCMAKE_CXX_FLAGS='$(CXXFLAGS_EXTRA)' \
|
-DCMAKE_CXX_FLAGS='$(CXXFLAGS_EXTRA)' \
|
||||||
|
-DCMAKE_C_FLAGS='$(CFLAGS_EXTRA)' \
|
||||||
-DLLVM_LINK_LLVM_DYLIB=ON \
|
-DLLVM_LINK_LLVM_DYLIB=ON \
|
||||||
-DLLVM_INSTALL_UTILS=ON \
|
-DLLVM_INSTALL_UTILS=ON \
|
||||||
-DLLVM_VERSION_SUFFIX= \
|
-DLLVM_VERSION_SUFFIX= \
|
||||||
@ -336,40 +348,63 @@ override_dh_auto_configure: preconfigure
|
|||||||
$(CMAKE_EXTRA) \
|
$(CMAKE_EXTRA) \
|
||||||
-DLIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \
|
-DLIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \
|
||||||
-DPOLLY_BUNDLED_JSONCPP=OFF \
|
-DPOLLY_BUNDLED_JSONCPP=OFF \
|
||||||
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="WebAssembly;AVR"
|
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="WebAssembly;AVR" \
|
||||||
|
-DCLANG_ENABLE_BOOTSTRAP=ON \
|
||||||
|
-DCLANG_VENDOR=$(VENDOR) \
|
||||||
|
-DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_VERBOSE_MAKEFILE;CMAKE_BUILD_TYPE;CMAKE_CXX_FLAGS_RELWITHDEBINFO;CMAKE_CXX_FLAGS;CMAKE_C_FLAGS;LLVM_LINK_LLVM_DYLIB;LLVM_INSTALL_UTILS;LLVM_VERSION_SUFFIX;LLVM_ENABLE_SPHINX;SPHINX_WARNINGS_AS_ERRORS;LLVM_BUILD_LLVM_DYLIB;LLVM_ENABLE_RTTI;LLVM_ENABLE_FFI;LIBCLANG_LIBRARY_VERSION;POLLY_BUNDLED_JSONCPP;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;LLVM_USE_PERF;LLVM_ENABLE_ASSERTIONS;LLVM_BINUTILS_INCDIR;LLVM_HOST_TRIPLE;;LLVM_COMPILER_CHECKED;COMPILER_RT_BUILD_BUILTINS;LIBOMP_LIBFLAGS;CMAKE_SHARED_LINKER_FLAGS"
|
||||||
|
|
||||||
LIBCXX_CMAKE_OPTIONS := \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \
|
|
||||||
-DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD)/bin/llvm-config \
|
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
||||||
-DCMAKE_CXX_COMPILER=$(CURDIR)/$(TARGET_BUILD)/bin/clang++ \
|
|
||||||
-DCMAKE_C_COMPILER=$(CURDIR)/$(TARGET_BUILD)/bin/clang \
|
|
||||||
-DCMAKE_CXX_FLAGS="$(LIBCXXFLAGS)" \
|
|
||||||
-DCMAKE_EXE_LINKER_FLAGS="" \
|
|
||||||
-DCMAKE_SHARED_LINKER_FLAGS="" \
|
|
||||||
-DCMAKE_MODULE_LINKER_FLAGS="" \
|
|
||||||
-DCMAKE_AR=$(CURDIR)/$(TARGET_BUILD)/bin/llvm-ar \
|
|
||||||
-DCMAKE_RANLIB=$(CURDIR)/$(TARGET_BUILD)/bin/llvm-ranlib \
|
|
||||||
-DCMAKE_C_COMPILER=$(CURDIR)/$(TARGET_BUILD)/bin/clang \
|
|
||||||
-DLLVM_EXTERNAL_LIT=$(BASE_PATH)/utils/lit/lit.py \
|
|
||||||
$(CMAKE_EXTRA) \
|
|
||||||
$(CMAKE_EXTRA_LIBCXX)
|
|
||||||
|
|
||||||
override_dh_auto_build:
|
# make
|
||||||
$(PRE_PROCESS) $(MAKE) $(NJOBS) -C $(TARGET_BUILD) VERBOSE=1 CLANG_VENDOR=$(VENDOR) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 DEBUGMAKE=1
|
VERBOSE=VERBOSE=1
|
||||||
|
# ninja
|
||||||
|
#VERBOSE=-v
|
||||||
|
|
||||||
|
debian-stage2-build:
|
||||||
|
$(PRE_PROCESS) make $(NJOBS) -C $(TARGET_BUILD) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" REQUIRES_RTTI=1 DEBUGMAKE=1 stage2
|
||||||
|
if grep "CMAKE_BUILD_TYPE:STRING=Debug" $(TARGET_BUILD)/tools/clang/stage2-bins/CMakeCache.txt; then \
|
||||||
|
echo "clang stage2 has been built in upstream Debug mode. Too slow, we don't want that."; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check the stage 2 build worked
|
||||||
|
if ! readelf --string-dump .comment $(TARGET_BUILD)/tools/clang/stage2-bins/bin/clang 2>&1|grep -q "clang version"; then \
|
||||||
|
echo "clang hasn't been built using clang. Bye bye. Check that the stage2 build has been done."; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
debian-libfuzzer-build:
|
||||||
ifeq (${LIBFUZZER_ENABLE},yes)
|
ifeq (${LIBFUZZER_ENABLE},yes)
|
||||||
cd $(TARGET_BUILD) \
|
cd $(TARGET_BUILD) \
|
||||||
CFLAGS=`dpkg-buildflags --get CFLAGS`; \
|
CFLAGS=`dpkg-buildflags --get CFLAGS`; \
|
||||||
CFLAGS="$$CFLAGS `dpkg-buildflags --get CPPFLAGS`"; \
|
CFLAGS="$$CFLAGS `dpkg-buildflags --get CPPFLAGS`"; \
|
||||||
echo $$CFLAGS; \
|
echo $$CFLAGS; \
|
||||||
bin/clang++ -c $$CFLAGS -std=c++11 ../compiler-rt/lib/fuzzer/*.cpp -IFuzzer; \
|
tools/clang/stage2-bins/bin/clang++ -c $$CFLAGS -std=c++11 ../compiler-rt/lib/fuzzer/*.cpp -IFuzzer; \
|
||||||
ar ruv libFuzzer.a Fuzzer*.o
|
ar ruv libFuzzer.a Fuzzer*.o
|
||||||
endif
|
endif
|
||||||
|
touch $@
|
||||||
|
|
||||||
# Builds libcxx and libcxxabi
|
|
||||||
|
|
||||||
mkdir -p libcxxabi/build
|
LIBCXX_CMAKE_OPTIONS := \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \
|
||||||
|
-DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD)/tools/clang/stage2-bins/bin/llvm-config \
|
||||||
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
|
-DCMAKE_CXX_COMPILER=$(CURDIR)/$(TARGET_BUILD)/tools/clang/stage2-bins/bin/clang++ \
|
||||||
|
-DCMAKE_C_COMPILER=$(CURDIR)/$(TARGET_BUILD)/tools/clang/stage2-bins/bin/clang \
|
||||||
|
-DCMAKE_CXX_FLAGS="$(LIBCXXFLAGS)" \
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS="" \
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS="" \
|
||||||
|
-DCMAKE_MODULE_LINKER_FLAGS="" \
|
||||||
|
-DCMAKE_AR=$(CURDIR)/$(TARGET_BUILD)/tools/clang/stage2-bins/bin/llvm-ar \
|
||||||
|
-DCMAKE_RANLIB=$(CURDIR)/$(TARGET_BUILD)/tools/clang/stage2-bins/bin/llvm-ranlib \
|
||||||
|
-DLLVM_EXTERNAL_LIT=$(BASE_PATH)/utils/lit/lit.py \
|
||||||
|
$(CMAKE_EXTRA) \
|
||||||
|
$(CMAKE_EXTRA_LIBCXX)
|
||||||
|
|
||||||
|
debian-libcxx-build:
|
||||||
|
# Builds libcxx
|
||||||
|
|
||||||
mkdir -p libcxx/build
|
mkdir -p libcxx/build
|
||||||
|
mkdir -p libcxxabi/build
|
||||||
|
|
||||||
CMAKE_BIN=cmake; \
|
CMAKE_BIN=cmake; \
|
||||||
if test -f /tmp/cmake/bin/cmake; then \
|
if test -f /tmp/cmake/bin/cmake; then \
|
||||||
@ -384,7 +419,13 @@ endif
|
|||||||
-DLIBCXXABI_LIBCXX_INCLUDES=$(BASE_PATH)/libcxx/include \
|
-DLIBCXXABI_LIBCXX_INCLUDES=$(BASE_PATH)/libcxx/include \
|
||||||
-DLIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
|
-DLIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
|
||||||
-DLLVM_ENABLE_RTTI=ON && \
|
-DLLVM_ENABLE_RTTI=ON && \
|
||||||
$(PRE_PROCESS_CONF) $(MAKE) $(NJOBS) VERBOSE=1 CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)"
|
$(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)"
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
debian-libcxxabi-build:
|
||||||
|
# Builds libcxxabi
|
||||||
|
|
||||||
|
mkdir -p libcxxabi/build
|
||||||
|
|
||||||
CMAKE_BIN=cmake; \
|
CMAKE_BIN=cmake; \
|
||||||
if test -f /tmp/cmake/bin/cmake; then \
|
if test -f /tmp/cmake/bin/cmake; then \
|
||||||
@ -399,7 +440,10 @@ endif
|
|||||||
-DLIBCXX_CXX_ABI_LIBRARY_PATH=$(BASE_PATH)/libcxxabi/build/lib \
|
-DLIBCXX_CXX_ABI_LIBRARY_PATH=$(BASE_PATH)/libcxxabi/build/lib \
|
||||||
-DLIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
|
-DLIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
|
||||||
-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON && \
|
-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON && \
|
||||||
$(PRE_PROCESS_CONF) $(MAKE) $(NJOBS) VERBOSE=1 CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)"
|
$(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)"
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
override_dh_auto_build: debian-stage2-build debian-libfuzzer-build debian-libcxx-build debian-libcxxabi-build
|
||||||
|
|
||||||
override_dh_prep: build_doc
|
override_dh_prep: build_doc
|
||||||
dh_prep
|
dh_prep
|
||||||
@ -452,7 +496,7 @@ override_dh_auto_install:
|
|||||||
# Clean up temporary files to make sure the install works
|
# Clean up temporary files to make sure the install works
|
||||||
rm -rf $(find $(TARGET_BUILD) -wholename '*CMakeFiles*' -not -name CMakeLists.txt -a -name "*.dir" -type d)
|
rm -rf $(find $(TARGET_BUILD) -wholename '*CMakeFiles*' -not -name CMakeLists.txt -a -name "*.dir" -type d)
|
||||||
# install/fast enables a make install without recompiling temporary files
|
# install/fast enables a make install without recompiling temporary files
|
||||||
$(MAKE) -C $(TARGET_BUILD) VERBOSE=1 install/fast DESTDIR=$(DEB_INST)/
|
$(MAKE) -C $(TARGET_BUILD) $(VERBOSE) stage2-install DESTDIR=$(DEB_INST)/
|
||||||
# Not used on Linux.
|
# Not used on Linux.
|
||||||
rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/argdumper
|
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
|
rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/share/clang/clang-format-bbedit.applescript
|
||||||
@ -672,13 +716,13 @@ override_dh_auto_test:
|
|||||||
# LLVM tests
|
# LLVM tests
|
||||||
ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK)))
|
ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK)))
|
||||||
# logs the output to check-llvm_build_log.txt for validation through autopkgtest
|
# logs the output to check-llvm_build_log.txt for validation through autopkgtest
|
||||||
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-llvm | tee check-llvm_build_log.txt
|
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-llvm | tee check-llvm_build_log.txt
|
||||||
else
|
else
|
||||||
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-llvm || true
|
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-llvm || true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Clang tests
|
# Clang tests
|
||||||
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-clang || true
|
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-clang || true
|
||||||
|
|
||||||
# Clang extra tests (ex: clang-tidy)
|
# Clang extra tests (ex: clang-tidy)
|
||||||
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-clang-tools || true
|
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-clang-tools || true
|
||||||
@ -761,4 +805,4 @@ override_dh_auto_clean:
|
|||||||
rm -f $(CURDIR)/clang/tools/clang-format/clang-format-$(LLVM_VERSION).py
|
rm -f $(CURDIR)/clang/tools/clang-format/clang-format-$(LLVM_VERSION).py
|
||||||
rm -rf libcxx/build libcxxabi/build
|
rm -rf libcxx/build libcxxabi/build
|
||||||
|
|
||||||
.PHONY: override_dh_strip preconfigure
|
.PHONY: override_dh_strip preconfigure debian-stage2-build debian-libfuzzer-build debian-libcxx-build debian-libcxxabi-build
|
||||||
|
Loading…
Reference in New Issue
Block a user