PREFIX ?= $(HOME)/opt/hercules-compiler
TMP_DESTDIR = $(CURDIR)/install
-all: passes libpremnotify-cpu
+# With gcc > 5, we get strange CUDA-related errors in clang.
+export CC = gcc-5
+export CXX = g++-5
+
+all: libpremnotify
+all: passes
llvm-clang: build/bin/opt
LLVM_TBLGEN=$(CURDIR)/build_native/bin/llvm-tblgen
CLANG_TBLGEN=$(CURDIR)/build_native/bin/clang-tblgen
-LLVM_CROSS_FLAGS += -DCMAKE_C_COMPILER=$(DEB_HOST_GNU_TYPE)-gcc
-LLVM_CROSS_FLAGS += -DCMAKE_CXX_COMPILER=$(DEB_HOST_GNU_TYPE)-g++
+LLVM_CROSS_FLAGS += -DCMAKE_C_COMPILER=$(DEB_HOST_GNU_TYPE)-gcc-5
+LLVM_CROSS_FLAGS += -DCMAKE_CXX_COMPILER=$(DEB_HOST_GNU_TYPE)-g++-5
LLVM_CROSS_FLAGS += -DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_GNU_CPU)
LLVM_CROSS_FLAGS += -DCMAKE_CROSSCOMPILING=True
cd $(@D) && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$(PREFIX)" \
-DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_BACKTRACES=ON -DLLVM_ENABLE_WERROR=OFF \
-DBUILD_SHARED_LIBS=OFF -DLLVM_ENABLE_RTTI=ON \
- -DCMAKE_CXX_FLAGS='-DHERCULES_PASS_ROOT=\"$(PREFIX)/lib/hercules\"' \
+ -DCMAKE_CXX_FLAGS='-DHERCULES_PASS_ROOT=\"$(PREFIX)/lib/hercules/\"' \
-G "Ninja" $(CURDIR)/llvm
+
+libpremnotify: export CC=$(DEB_HOST_GNU_TYPE)-gcc-5
endif
cd $(@D) && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$(PREFIX)" \
-DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_BACKTRACES=ON -DLLVM_ENABLE_WERROR=OFF \
-DBUILD_SHARED_LIBS=OFF -DLLVM_ENABLE_RTTI=ON $(LLVM_CROSS_FLAGS) \
- -DCMAKE_CXX_FLAGS='-DHERCULES_PASS_ROOT=\"$(PREFIX)/lib/hercules\"' \
+ -DCMAKE_CXX_FLAGS='-DHERCULES_PASS_ROOT=\"$(PREFIX)/lib/hercules/\"' \
-G "Ninja" $(CURDIR)/llvm
$(TMP_DESTDIR)/$(PREFIX)/lib/cmake/llvm: | llvm-clang
< $< > $@
chmod +x $@
-libpremnotify-cpu:
+libpremnotify:
$(MAKE) -C HerculesCompiler/libpremnotify
install: all
$(MAKE) -C HerculesCompiler/libpremnotify install DESTDIR=$(DESTDIR) PREFIX=$(PREFIX)
clean:
- rm -rf build build_passes install
-
-define tar_concat
-$(foreach subarch,$(shell git submodule --quiet foreach 'echo $$toplevel/../$(prefix)-$$path.tar'),tar --concatenate --file=../$(prefix).tar $(subarch)
-)
-endef
+ rm -rf build build_passes build_native install
create-orig-tgz: prefix=$(notdir $(CURDIR))
+create-orig-tgz: upstream_version=$(shell dpkg-parsechangelog --show-field Version|sed -e s/-.*//)
create-orig-tgz:
- git archive --format=tar --prefix=$(prefix)/ -o ../$(prefix).tar HEAD
- git submodule foreach 'git archive --format=tar --prefix=$(prefix)/$$path/ -o $$toplevel/../$(prefix)-$$path.tar HEAD'
- $(tar_concat)
- gzip -c ../$(prefix).tar > "../$(prefix)_$(shell dpkg-parsechangelog --show-field Version|sed -e s/-.*//).orig.tar.gz"
+ git archive --prefix=$(prefix)/ -o ../$(prefix)_$(upstream_version).orig.tar.gz HEAD
+ git submodule foreach 'set -x; git archive --prefix=$$path/ -o $$toplevel/../$(prefix)_$(upstream_version).orig-$$path.tar.gz $$sha1'
+
+cross-tx2:
+ sbuild --host=arm64 -d xenial --add-depends="libc6-dev, libstdc++-5-dev" --build-failed-commands='%s'