export CC = gcc-5
export CXX = g++-5
+USE_GPUGUARD = # OFF if empty
+
all: libpremnotify
all: passes
llvm/tools/clang:
ln -s ../../clang $@
+llvm/tools/lld:
+ ln -s ../../lld $@
+
llvm/projects/openmp:
ln -s ../../openmp $@
endif
-build/build.ninja: | build llvm/tools/clang llvm/projects/openmp
+build/build.ninja: | build llvm/tools/clang llvm/tools/lld llvm/projects/openmp
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/src/passes/\" -DOPENMP_NVPTX_COMPUTE_CAPABILITY=62' \
+ -DLLVM_ENABLE_LLD=ON -DLLVM_TOOL_LLD_BUILD=ON \
+ -DCMAKE_CXX_FLAGS='-DHERCULES_PASS_ROOT=\"$(PREFIX)/lib/hercules/src/passes/\" -DOPENMP_NVPTX_COMPUTE_CAPABILITY=62 $(if $(USE_GPUGUARD),-DUSE_GPUGUARD)' \
-DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITY="62" \
-G"Ninja" $(CURDIR)/llvm
ninja -C build_passes
libpremnotify:
- $(MAKE) -C HerculesCompiler/libpremnotify
+ $(MAKE) -C HerculesCompiler/libpremnotify NVCC_FLAGS=$(if $(USE_GPUGUARD),-DUSE_GPUGUARD)
install: all
DESTDIR=$(DESTDIR) ninja -C build install