|
| 1 | +#!/usr/bin/env bash |
| 2 | + |
| 3 | +set -e |
| 4 | + |
| 5 | +# code gets checked out at below: |
| 6 | +# $SOURCE_DIR ===> <anaconda_root>/conda-bld/llvm-trunk_<timestamp>/work |
| 7 | +# |
| 8 | +# build directory gets created at $SOURCE_DIR/build |
| 9 | +# |
| 10 | +# CONDA environment for debugging: |
| 11 | +# cd <anaconda_root>/conda-bld/llvm-trunk_<timestamp> |
| 12 | +# source activate ./_h_env_...... # long placeholders |
| 13 | +# |
| 14 | +# $CONDA_PREFIX and $PREFIX are set to the same value i.e. the environment value |
| 15 | +# |
| 16 | +# Installation happens in the $PREFIX which is the environment and rpath is set |
| 17 | +# to that |
| 18 | +# |
| 19 | +# For tests, a new environment _test_env_.... is created |
| 20 | +# During the tests, you will see that the llvm-trunk package gets checked out |
| 21 | +# NOTE: once the build finished, the packaging and unpackaging step takes long |
| 22 | +# and might seem like it's stuck but it's not. |
| 23 | + |
| 24 | +CMAKE_VERSION=${CMAKE_VERSION:="`which cmake3 || which cmake`"} |
| 25 | +VERBOSE=${VERBOSE:=0} |
| 26 | + |
| 27 | +echo "CONDA_PREFIX: ${CONDA_PREFIX}" |
| 28 | +echo "PREFIX: ${PREFIX}" |
| 29 | + |
| 30 | +echo "Building llvm-trunk conda package" |
| 31 | + |
| 32 | +echo "Clean up existing build packages if any" |
| 33 | +rm -rf llvm_build || true |
| 34 | + |
| 35 | +mkdir -p llvm_build |
| 36 | +cd llvm_build |
| 37 | + |
| 38 | +echo "Configuring llvm-trunk" |
| 39 | +VERBOSE=${VERBOSE} ${CMAKE_VERSION} \ |
| 40 | + -DCMAKE_INSTALL_PREFIX=${PREFIX} \ |
| 41 | + -DCOMPILER_RT_BUILD_CILKTOOLS=OFF \ |
| 42 | + -DLLVM_ENABLE_CXX1Y=ON \ |
| 43 | + -DLLVM_ENABLE_TERMINFO=OFF \ |
| 44 | + -DLLVM_BUILD_TESTS=OFF \ |
| 45 | + -DLLVM_ENABLE_ASSERTIONS=ON \ |
| 46 | + -DCMAKE_BUILD_TYPE=Release \ |
| 47 | + -DLLVM_BUILD_LLVM_DYLIB=ON \ |
| 48 | + -DLLVM_TARGETS_TO_BUILD="X86;NVPTX" \ |
| 49 | + -DLLVM_ENABLE_EH=ON \ |
| 50 | + -DLLVM_ENABLE_OCAMLDOC=OFF \ |
| 51 | + -DLLVM_INSTALL_OCAMLDOC_HTML_DIR=/tmp \ |
| 52 | + -DLLVM_OCAML_INSTALL_PATH=/tmp \ |
| 53 | + -DLLVM_ENABLE_RTTI=ON .. || exit 1 |
| 54 | + |
| 55 | +echo "Installing llvm-trunk" |
| 56 | +VERBOSE=${VERBOSE} make -j"$(nproc)" -s || exit 1 |
| 57 | + |
| 58 | +VERBOSE=${VERBOSE} make install -j"$(nproc)" -s || exit 1 |
| 59 | + |
| 60 | +echo SUCCESS || echo FAILURE |
| 61 | + |
| 62 | +echo "Successfully built llvm-trunk conda package" |
0 commit comments