use a variable for the path + use the ocaml correct target

This commit is contained in:
Sylvestre Ledru 2018-10-09 20:29:30 +02:00
parent 0f1093d2ba
commit 3b17d907fe

28
debian/rules vendored
View File

@ -1,6 +1,7 @@
#!/usr/bin/make -f
TARGET_BUILD := build-llvm
TARGET_BUILD_STAGE2 := $(TARGET_BUILD)/tools/clang/stage2-bins
DEB_INST := $(CURDIR)/debian/tmp/
GXX_VERSIONED_PACKAGE := $(shell dpkg-query -W -f '$${Depends}' g++ | grep -o 'g++-[0-9][0-9.]*' | tail -n1 )
@ -361,12 +362,12 @@ VERBOSE=VERBOSE=1
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 \
if grep "CMAKE_BUILD_TYPE:STRING=Debug" $(TARGET_BUILD_STAGE2)/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 \
if ! readelf --string-dump .comment $(TARGET_BUILD_STAGE2)/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
@ -378,7 +379,7 @@ ifeq (${LIBFUZZER_ENABLE},yes)
CFLAGS=`dpkg-buildflags --get CFLAGS`; \
CFLAGS="$$CFLAGS `dpkg-buildflags --get CPPFLAGS`"; \
echo $$CFLAGS; \
tools/clang/stage2-bins/bin/clang++ -c $$CFLAGS -std=c++11 ../compiler-rt/lib/fuzzer/*.cpp -IFuzzer; \
$(TARGET_BUILD_STAGE2)/bin/clang++ -c $$CFLAGS -std=c++11 ../compiler-rt/lib/fuzzer/*.cpp -IFuzzer; \
ar ruv libFuzzer.a Fuzzer*.o
endif
touch $@
@ -386,16 +387,16 @@ endif
LIBCXX_CMAKE_OPTIONS := \
-DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$(LLVM_VERSION) \
-DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD)/tools/clang/stage2-bins/bin/llvm-config \
-DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD_STAGE2)/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_COMPILER=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/clang++ \
-DCMAKE_C_COMPILER=$(CURDIR)/$(TARGET_BUILD_STAGE2)/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 \
-DCMAKE_AR=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/llvm-ar \
-DCMAKE_RANLIB=$(CURDIR)/$(TARGET_BUILD_STAGE2)/bin/llvm-ranlib \
-DLLVM_EXTERNAL_LIT=$(BASE_PATH)/utils/lit/lit.py \
$(CMAKE_EXTRA) \
$(CMAKE_EXTRA_LIBCXX)
@ -452,7 +453,7 @@ build_doc:
cd $(CURDIR)/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man
cd $(CURDIR)/clang/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man
-(if test "$(OCAML_ENABLE)" = yes; then \
$(MAKE) $(NJOBS) -C "$(TARGET_BUILD)/docs" ocaml_doc; \
make $(NJOBS) -C "$(TARGET_BUILD_STAGE2)/docs" ocaml_doc; \
fi)
# Continue if failing, Ubuntu precise cannot generate manpages as sphinx is too old
@ -725,18 +726,15 @@ endif
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) stage2-check-clang || true
# Clang extra tests (ex: clang-tidy)
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-clang-tools || true
$(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-clang-tools || true
# LLD tests
ifeq (${LLD_ENABLE},yes)
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-lld || true
$(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-lld || true
endif
# Sanitizer
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-sanitizer || true
# OpenMP
$(MAKE) $(NJOBS) -C $(TARGET_BUILD) check-openmp || true
$(MAKE) $(NJOBS) -C $(TARGET_BUILD_STAGE2) check-sanitizer || true
# Libcxx
$(MAKE) $(NJOBS) -C libcxx/build check-libcxx || true